实际上ArchLinux的Wiki已经写得非常清楚了,这里只是记录、简化和补充。
首先下载一份源代码,比如这个。同时下载对应的签名,比如这个。
验证签名:
1 | $ gpg --list-packets linux-4.19.tar.sign |
第二步之后可以通过gpg --list-public-keys
查看导入的公钥。
然后进行验证:
1 | $ unxz linux-4.19.tar.xz |
之后解压linux-4.19.tar然后切换到解压生成的目录。
1 | $ make clean && make mrproper |
复制一份config文件:
1 | $ zcat /proc/config.gz > .config |
一般来说.config不需要什么修改,假如需要编译一份需要带有调试信息的内核,只需要修改这里:
1 | CONFIG_DEBUG_INFO=y |
当然也可以加个局部版本号:
1 | CONFIG_LOCALVERSION="-fatcat" |
之后便是编译:
1 | $ make -j4 |
时间会比较长。编译完成之后:
1 | $ sudo make modules_install |
生成ramdisk:
1 | $ sudo mkinitcpio -k 4.19.0-fatcat -g /boot/initramfs-linux-fatcat.img |
之后便是修改增加启动项,如果是grub,只需要:
1 | $ sudo grub-mkconfig > /boot/grub/grub.cfg |
另外如果通过dkms安装过virtualbox模块,还需要运行dkms对新的内核编译一份对应的模块:
1 | $ sudo dkms autoinstall -k 4.19.0-fatcat |