Я использую calculate-sources с USE флагами:
calculate-sources-4.19.43 (desktop firmware symlink uksm -build -grub -minimal -muqss -pae -themes -vmlinuz KERNEL="linux")
# для тестов
calculate-sources-5.1.2 (desktop firmware symlink -build -grub -minimal -pae -themes -vmlinuz KERNEL="linux")
Накладываю на них некоторые патчи из:
clearlinux kernel-lts
clearlinux kernel
genpatches-{base,extras,experimental} кроме linux-stable и 4567_distro-Gentoo-Kconfig.patch
для 5.1.x ядер патчи от этого чела - сборная солянка. Объединённые патчи из следующей ссылки. После наложения этого патча применяю команду, чтобы версию не изменял:
sed -i -e 's/LLNAME = linux-lucjan//' -e 's/LLVERSION = .ll.*//' -e 's/EXTRAVERSION := \$(EXTRAVERSION)\$(LLVERSION)//' /usr/src/linux/Makefile
для 4.19.x - отдельные патчи по версиям ядер
mod_compress_xz_extreme.patch - заменяет в ./Makefile:
ifdef CONFIG_MODULE_COMPRESS_XZ
- mod_compress_cmd = xz -f
+ mod_compress_cmd = xz --force --threads=4 -9e --x86 --lzma2=preset=9e,dict=256MiB,lc=4,pb=0
Также перед сборкой экспортирую переменные
export INSTALL_MOD_STRIP=" --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.build-id"
export KBUILD_BUILD_USER=builder
export KBUILD_BUILD_HOST=calculate
#export KBUILD_VERBOSE=1
Обновляю и собираю так
make oldconfig
make nconfig
make -j5
make install modules_install && emerge @module-rebuild
#rm /boot/*.old
cl-setup-boot -v
Раньше ещё fbsplash в ядро вкомпиливал, т.к. собирал без initramfs. /usr/src/linux/usr/initramfs_data.cpio состоял из следующих файлов и каталогов:
/dev
/dev/console
/dev/fb
/dev/misc
/dev/null
/dev/tty0
/dev/vc
/etc
/etc/splash
/etc/splash/calculate
/etc/splash/calculate/1024x768.cfg
/etc/splash/calculate/images
/etc/splash/calculate/images/silent-1024x768.jpg
/etc/splash/calculate/images/verbose-1024x768.jpg
/etc/splash/luxisri.ttf
/lib64
/lib64/splash
/lib64/splash/proc
/lib64/splash/sys
/root
/sbin
/sbin/fbcondecor_helper
/sbin/splash_helper
Но сейчас это неактуально.