0

Some background

I've successfully patched a Linux kernel with the PREEMPT_RT patch, configured it, built it, and booted from it. The steps I took:

Patched kernel 5.4.230 with PREEMPT_RT

# Get kernel source
wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.230.tar.xz

Get PREEMPT_RT patch

wget https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/patch-5.4.230-rt80.patch.xz

Patch the kernel

xz -cd linux-5.4.230.tar.xz | tar xvf - cd linux-5.4.230 xzcat ../patch-5.4.230-rt80.patch.xz | patch -p1

Built kernel

# Install prerequisite packages
sudo apt install build-essential flex bison pkg-config openssl libssl-dev libncurses-dev dwarves -y

Copy existing configuration installed with Ubuntu 20.04 as a

starting point

cp /boot/config-$(uname -r) .config

Turn on fully preemptable kernel here

make oldconfig

Build

make -j$(nproc)

Installed kernel

sudo make modules_install
sudo make install
sudo update-grub
sudo reboot

I also opted to use secure boot so I signed the kernel but that's not relevant here.

Where I need help

Next, I need to install a software package that requires that Linux headers are installed. I see there's a make target called headers_install in the kernel source directory but I'm a little confused on how kernel headers are organized. It looks like I should be putting the kernel headers from the make headers_install command in /usr/src/ which is all fine and good but I feel like there should be some extra steps after that. Like is there something I have to do after this to make these the new default or anything?

I saw one other similar question but it was mostly related to VMWare and seemed to be solved by installing kernel headers through apt. This is a custom(-ish) kernel so I don't think that will work for me unless I can happen to use the same kernel headers for the base kernel that I patched without problems.

Any help is appreciated. Thanks!

0 Answers0