linux内核升级
升级步骤:
- 下载内核
- 解压内核源码压缩文件
- 进入内核目录,执行清理工作
- 配置内核
- 编译内核模块
- 安装内核模块
- 制作initrd
- 拷贝内核镜像bzImage和initrd到/boot
- 修改grub配置文件,添加新的启动项
- 保存该配置文件后重启计算机
以下以fedora17内核升级到linux-3.4.5为例:
1. 下载内核
到Linux官方网站下载内核,网址为 http://www.kernel.org/。下载linux-3.4.5.tar.bz2
2. 解压内核源码压缩文件
$ su
# cd /usr/src/
# tar jxvf linux-3.4.5.tar.bz2
3. 进入内核目录,执行清理工作
# cd linux-3.4.5
# make distclean
4. 配置内核
linux配置内核有很多种方式,有直接copy当前内核的配置、make menuconfig、make oldconfig等。关于make menuconfig以后会做详细解释。以下选择make oldconfig:
# make oldconfig
5. 编译内核模块
# make bzImage
6. 安装内核模块
# make modules_install
7. 制作initrd
# cd .. //先切换到linux-3.4.5的上一级目录
# mkinitrd initrd-3.4.5 3.4.5
8. 拷贝内核镜像bzImage和initrd到/boot
# cp initrd-3.4.5 /boot
# cp linux-3.4.5/arch/x86/boot/bzImage /boot/vmlinuz-3.4.5
9. 修改grub配置文件,添加新的启动项
# cd /boot/grub2
# vim grub.cfg
复制该配置文件中的以下内容
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-be4afe20-898e-4a0b-a91a-68dd0089f171' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos9'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 --hint='hd0,msdos9' de1def79-dc4e-420b-88f7-9df0c9808e3f
else
search --no-floppy --fs-uuid --set=root de1def79-dc4e-420b-88f7-9df0c9808e3f
fi
echo 'Loading Linux 3.3.4-5.fc17.i686.PAE ...'
linux /vmlinuz-3.3.4-5.fc17.i686.PAE root=/dev/mapper/vg-lv_root ro SYSFONT=False rd.dm=0 rd.md=0 KEYTABLE=us LANG=zh_CN.UTF-8 rd.luks=0 rd.lvm.lv=vg/lv_root rd.lvm.lv=vg/lv_swap rhgb quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-3.3.4-5.fc17.i686.PAE.img
}
将以上内容作以下修改(grub选项名称、引导时的显示文字、内核镜像、初始化RAM磁盘)
- 粘贴以上内容到该文件的相应位置,并在其后加上:
### END /etc/grub.d/10_linux ### //其中前后的10_linux作相应修改 - menuentry 'Fedora Linux' 改为
menuentry 'Fedora Linux (linux-3.4.5)'
- Loading Linux 3.3.4-5.fc17.i686.PAE 改为
Loading Linux 3.4.5 - linux /vmlinuz-3.3.4-5.fc17.i686.PAE 改为
linux /vmlinuz-3.4.5 - initrd /initramfs-3.3.4-5.fc17.i686.PAE.img 改为
initrd /initrd-3.4.5
10. 保存该配置文件后重启计算机,即可看到新的启动项
# reboot