Hi all,
I am reasonably experienced as a Linux user but recently, after getting a Lunar Lake laptop, I found myself in search for the bleeding edge kernel because the support for the platform (even on 6.11) is poor.
I have never really compiled an amd64 kernel before but after reading some guides, this is the approach that worked:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.13.tar.gz
tar -xf linux-6.13.tar.gz
cd linux-6.13/
cp -v /boot/config-$(uname -r) .config # copy my kernel config
make localmodconfig # not sure what this does, probably applies my config to the kernel/generates the final one
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS ""
scripts/config --set-str CONFIG_SYSTEM_REVOCATION_KEYS ""
fakeroot make -j7 # this built the kernel
nice make -j7 bindeb-pkg # this made the kernel debs
cd ..
sudo apt install ./linux-image-6.13.0_6.13.0-2_amd64.deb ./linux-headers-6.13.0_6.13.0-2_amd64.deb ./linux-libc-dev_6.13.0-2_amd64.deb
Surprisingly, there were no errors and the system booted, and using the laptop was a far better experience (because of the default power plan on Asus Zenbook S14 now changed to a slightly higher one). But there was a problem: since Ubuntu splits its kernel-related debs into the normal one and “modules-extra”, I seem to have only built the standard set by copying my current config. But extra modules provide basic functions, like running Docker or using external USB drives.
Now the question is: how to find out what these extra modules are and either build a deb with them, or just integrate all of them with my kernel and rebuild it? I am not able to find anything about this.
I am aware of the make menuconfig
command, but I would be shooting in the dark by trying to find them there.