- 去kernel.org上下载源码
-
解压源码xz -d xxx.tar.xztar xvf xxx.tar
- 确保安装了编译安装内核所需要的包(以下操作需要root权限,使用sudo或者切换到root用户)
apt-get install build-essential kernel-package libncurses5-dev - 切换到源码解压后的目录
- 清理以前编译时留下的临时文件,如果第一次编译,不需要此步
make mrproper - 将当前正在使用的内核config拷贝过来
cp /boot/config-`uname -r` .config - 配置内核选项
make menuconfig - 编译内核
make-kpkg clean
make-kpkg --initrd --append-to-version=1 kernel-image kernel-headers
编译完成后,就可以在上级目录下生成两个文件,linux-image-...和linux-headers-... - 安装编译好的内核包
cd ..
dpkg -i linux-image-xxx
dpkg -i linux-headers-xxx - 重启电脑
卸载安装好的内核:
编译安装内核后,发现缺少initrd文件导致新内核无法启动怎么办?dpkg --get-selections|grep linuxapt-get remove linux-image-xxxapt-get remove linux-headers-xxx
可以手动生成initrd文件,也可在安装内核包前,执行命令:
cp /usr/share/kernel-package/examples/etc/kernel/postinst.d/initramfs /etc/kernel/postinst.d/
参考资料: