一、下载最新内核源码。
从内核官网下载至当前目录下
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz2
二、解压内核源码,移动到合适的位置。
tar jxvf linux-3.0.tar.bz2 -C /usr/src
cd /usr/src
ln -s linux-3.0 linux 做个软链接也有人说可以不做。
lrwxrwxrwx 1 root root 9 Jul 29 17:24 linux -> linux-3.0
drwxrwxr-x 24 root root 4096 Aug 1 11:14 linux-3.0
三、编译安装内核源码
1,make mrproper
用来消除原来编译的影响,对之前没编译过内核的可以跳过此步,但建议使用一下这条命令 。
2,make oldconfig
用你当前内核的设置作为配置标准,重新编译新内核,这样升级简单。
这里还有几种方式可以选择:
(1)make config 单行模式
(2)make menuconfig 图形模式
(3)make xconfig 基于xwindows模式
(4)make gconfig 基于gtk模式
(5)make defconfig 根据机器类型对内核默认配置
3,make
编译内核,由于是完全编译,所以时间比较长,大概需要60分钟。
4,make modules_install
其作用是将模块拷贝到需要的目录中。但先要 cd /lib/modules,mkdir 3.0.0,cd 3.0.0,mkdir build source
如果开始不建这些目录,这步时会提醒你建的。内核升级成功后可以用ll查看
lrwxrwxrwx 1 root root 18 Aug 1 09:22 build -> /usr/src/linux-3.0
drwxrwxr-x 12 root root 4096 Aug 1 09:23 kernel
-rw-rw-r-- 1 root root 590623 Aug 1 09:31 modules.alias
-rw-rw-r-- 1 root root 575812 Aug 1 09:31 modules.alias.bin
-rw-rw-r-- 1 root root 6411 Aug 1 09:22 modules.builtin
-rw-rw-r-- 1 root root 8037 Aug 1 09:31 modules.builtin.bin
-rw-rw-r-- 1 root root 69 Aug 1 09:31 modules.ccwmap
-rw-rw-r-- 1 root root 220714 Aug 1 09:31 modules.dep
-rw-rw-r-- 1 root root 321992 Aug 1 09:31 modules.dep.bin
-rw-rw-r-- 1 root root 665 Aug 1 09:31 modules.ieee1394map
-rw-rw-r-- 1 root root 218 Aug 1 09:31 modules.inputmap
-rw-rw-r-- 1 root root 15756 Aug 1 09:31 modules.isapnpmap
-rw-rw-r-- 1 root root 153 Aug 1 09:31 modules.ofmap
-rw-rw-r-- 1 root root 84721 Aug 1 09:22 modules.order
-rw-rw-r-- 1 root root 383664 Aug 1 09:31 modules.pcimap
-rw-rw-r-- 1 root root 1261 Aug 1 09:31 modules.seriomap
-rw-rw-r-- 1 root root 209839 Aug 1 09:31 modules.symbols
-rw-rw-r-- 1 root root 267370 Aug 1 09:31 modules.symbols.bin
-rw-rw-r-- 1 root root 924556 Aug 1 09:31 modules.usbmap
lrwxrwxrwx 1 root root 18 Aug 1 09:22 source -> /usr/src/linux-3.0
5,make install
复制内核和System.map,及修改Grub.conf的步骤,都由make install自动实现。
cat /boot/grub/grub.conf
default=0 //把1改成0就好了。
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title Fedora (3.0.0)
root (hd0,0)
kernel /vmlinuz-3.0.0 ro root=/dev/mapper/vg_fc13-lv_root rd_LVM_LV=vg_fc13/lv_root rd_LVM_LV=vg_fc13/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 KEYTABLE=us rhgb quiet
initrd /initramfs-3.0.0.img
title Fedora (2.6.38)
root (hd0,0)
kernel /vmlinuz-2.6.38 ro root=/dev/mapper/vg_fc13-lv_root rd_LVM_LV=vg_fc13/lv_root rd_LVM_LV=vg_fc13/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYTABLE=us rhgb quiet
initrd /initramfs-2.6.38.img
四、安装完毕,重启。
init 6
重启后没问题就算成功,若有问题,大部分是make config这一部分没有定制好内核模块等,根据提示可以重新编译,加上需要的模块,
重来几次就好了。
五、检测
uname -r
3.0.0