Arch linux kernel experiments
Compiling a custom kernel will not ensure a faster computer but it’s fun and you may end up with a smaller kernel package. Sooner or later it will give you headaches.
Enabling AMDGPU for my desktop’s Sea Islands Card
At the time of writing the lastest version of the kernel is 4.7-rc3. I decided I would compile 4.6.2 since it wasn’t in the testing repository yet.
I use yay as an AUR package manager but it should be similar for almost all package managers.
yay -S linux-mainline
make xconfig (requires qt4)
and make sure your
MAKEFLAGS are set to
-j$(nproc) or compiling will take a very long time
After the patches are applied xconfig will open.
Enable amdgpu support for CIK parts and go through the options unticking hardware you know
you don’t have/use. Then just save and file->exit the program
(an exit code different than
EXIT_SUCCESS crashes the build process).
The kernel will be compliled along with the its headers and docs.
Post install, it may be necessary to edit the bootloader’s entries to include
Once the new kernel is set up, it’s time configure the new graphics driver. Arch Wiki’s page on AMDGPU contains all of the information necessary.
lspci -v will show amdgpu loaded.
Debloating “laptop gone server”’s kernel
This config produced a 40Mb kernel which is about half of the size
of the regular kernel packaged in the core repository.
Unfortunately I disabled a lot of ethernet options including the driver that allows docker to create a bridge connection. So, although the system was able to run nginx natively, its docker containers were not so lucky.
- All sound drivers
- The horrible pcspkr module
- Intel CPU support
- AMDGPU and radeon support
- Deadline scheduler
- Most ethernet drivers
- Industrial IO drivers
- Touchpad and most HID device support
Resulting in this config file.