1)编译内核:
#make bzImage
内核编译成功后,会在源码树根目录即linux-3.12.5/arch/x86_64/boot/目录中生成一个新内核的映像文件bzImage。
注:对于大内核(比如需要SCSI支持),make bzImage (推荐)
对于小内核,make zImage。
2)编译模块:
#make modules
编译可加载模块(即内核选项中选择为M的选项),以便将来使用insmod命令进行加载。编译时间跟M选项的数量有关。
3)安装模块:
#make modules_install
即将编译好的modules拷贝到/lib/modules下。
4)安装内核:
由于不是本机替换内核,所以我们需要将新生成的内核文件拷贝到要替换内核的机器上。需要拷贝的内核文件为主要有4个,分别是:.config,bzImage,System.map 和系统/lib/modules/linux-3.12.5目录。
具体操作如下:
(1)将生成的linux-3.12.5/.config 拷贝到要替换内核系统的/boot下,并重命名为config-3.12.5
(2)将生成的linux-3.12.5/arch/x86-64/boot/bzImage 拷贝到要替换内核系统的/boot下,并重命名为vmlinuz-3.12.5(注:这里需特别注意拷贝后的文件名变为vmlinuz-x.x.x)。
(3)将生成的linux-3.12.5/System.map 拷贝到要替换内核系统的/boot下,并重命名为System.map-3.12.5
(4)将make modules_install生成的系统目录/lib/modules/linux-3.12.5 拷贝到要替换内核系统的/lib/modules下。
(5)在要替换新内核的系统的/lib/modules目录下执行以下命令:
#update-initramfs-c -k3.12.5,生成/boot/initrd.img-3.12.5
#update-grub(或#update-grub2), 更新启动加载文件。
1)当替换内核vmlinux后出现 failed to start load kernel modules 时,需要更新initrd.img
#update-initramfs-c -k3.12.5,生成/boot/initrd.img-3.12.5
2)如果还不行删除/etc/modules-load.d/cups-filters.conf 文件
3)重启reboot