Linux kernel升级

Kernel编译步骤:
1、获取内核介质
【wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.gz】
如果要获取其他版本,只需要版本号即可,如:linux-3.8.tar.gz、linux-3.16.4.tar.gz等。
2、解压文件到指定目录
【tar -zxvf linux-3.4.tar.gz -C /usr/src/kernel】
3、切换到解压后的指定目录
【cd /usr/src/kernel/linux-3.4】
4、设置要编译的kernel参数
【make menuconfig】==>已菜单方式进行配置kernel,生成.config文件,像apache之类的,本身就已经带有config文件了,而kernel是要自定义产生一个config文件的。
5、编译
【make】
6、安装模块
【make modules_install】
7、复制文件
【cp arch/x86_64/boot/bzImage /boot/vmlinuz-3.4】
8、安装
【make install】
9、检查启动配置
【more /etc/grub.conf】
//////////begin//////////
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=2
timeout=3
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.8.0)
   root (hd0,0)
   kernel /vmlinuz-3.8.0 ro root=UUID=b3b812bc-b856-47b2-8464-4e017a8032d7 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYT
ABLE=us rd_NO_DM rhgb quiet
   initrd /initramfs-3.8.0.img
title CentOS (3.16.3)
   root (hd0,0)
   kernel /vmlinuz-3.16.3 ro root=UUID=b3b812bc-b856-47b2-8464-4e017a8032d7
   initrd /initramfs-3.16.3.img
title CentOS (2.6.32-358.el6.x86_64)
   root (hd0,0)
   kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=b3b812bc-b856-47b2-8464-4e017a8032d7 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYB
OARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
   initrd /initramfs-2.6.32-358.el6.x86_64.img
//////////end////////////

注意:如果编译kernel重启后,选择新kernel启动有问题时,可以先以旧kernel启动,
修改/etc/grub.conf文件,仅配置kernel和ro root参数,在启动时显示详细信息,看具体日志。
不要被kernel panic所屏蔽。


Tip:Linux下常用的系统配置文件:
1.# more /etc/profile
2.# more /etc/security/limits.conf
3.# more /etc/security/limits.d/90-nproc.conf
4.# more /etc/grub.conf
5.# more /etc/fstab
6.# more /etc/cgconfig.conf
7.# more /etc/centos-release

8.# more /etc/hosts
9.# more /proc/cpuinfo
10.# more /etc/rc.local
11.# more /etc/sysconfig/network-scripts/ifcfg-eth1
12.# more /etc/sysconfig/network

猜你喜欢

转载自can-do.iteye.com/blog/2244373