我想这样升级内核!
我想这样升级内核!--------------------------------------------------------------------------------
第一次升级内核,看了m天n篇的文档,综合了网络上能找的到的升级资料,我准备这样去升级内核。还没动手,想先让大家看看是否可行!
slack10.1 kernel 2.4.29 ---> 2.6.11
2.6.11 内核升级
_________________________________________________________________
1.升级相关工具软件包: module-init-tools-3.0.tar.gz 和 modutils-2.4.26-9.i386.rpm
# cp module-init-tools-3.0.tar.gz /
# cp modutils-2.4.26-9.i386.rpm /
# tar -zxvf module-init-tools-3.0.tar.gz
# cd module-init-tools-3.0
# configure --prefix=/
# make moveold
# make all install
# ./generate-modprobe.conf /etc/modprobe.conf
#rpm -ivh modutils-2.4.26-9.i386.rpm
2.解压新内核
#cp linux-2.6.11.tar.gz /usr/src
#cd /usr/src
#rm -f linux(删除原有链接)
#bzip2 -d linux-2.6.11.tar.bz2
#tar -xvf linux-2.6.11.tar(解压,如果下载的是.bz2文件)
--------------------------------------------------------------
[如果所下载的是.tar.gz(.tgz)文件,使用命令:
#tar -xzvf linux-2.6.11tar.gz
--------------------------------------------------------------
#mv linux linux-2.6.11(更名,新的内核名。如果解压出来的内核已经是linux-2.6.11就无须更名)
#ln -s /usr/src/linux-2.6.11 /usr/src/linux(建立链接,相当于一个linux-2.6.11的快捷方式)
3.确保/usr/include/目录下的asm、linux和scsi等链接是指向要升级的内核源代码的。它
们分别链向源代码目录下的真正的、该计算机体系结构(对于PC机来说,使用的体系结
构是i386)所需要的真正的include子目录。如:asm指向/usr/src/linux/include/asm
-i386等。若没有这些链接,就需要手工创建,按照下面的步骤进行:
# cd /usr/include
# rm -r asm linux scsi
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
4.配置内核
#cd /usr/src/linux
#make mrproper(第一次编译可省略)
#make menuconfig
************************************************
************************************************
************************************************
************************************************
************************************************
(这一部分是核心,还没详细看
5.编译安装
步骤:
#make //编译内核和模块
#make modules_install //安装模块
#make install //安装内核和修改grub.conf 文件(我的是lilo)
这个过程是编译和安装内核的过程,系统自动为我们做了哪些事?
1]系统会在/usr/src/linux/arch/i386/boot/目录中产生bzImage,并把bzImage复制为vmlinuz-2.6.11到/boot目录中,并创建vmlinuz-2.6.11的链接vmlinuz;
2]在/boot目录中,系统会产生System.map-2.6.11,以及创建它的链接System.map;
3]在/boot目录中,自动生为initrd-2.6.11.img;
4]修改/etc/grub.conf 文件(我的是lilo),加入了新内核的启动项。
6.启用新内核
为了能够使用新版本的内核,还需要做一些改动:
#cp /usr/src/linux/System.map /boot/System.map-2.6.11
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.6.11
以上这两个文件是刚才编译时新生成的。下面修改/boot下的两个链接System.map和vmlinuz,使其指向新
内核的文件:
#cd /boot
#rm -f System.map vmlinuz
#ln -s vmlinuz-2.6.11 vmlinuz
#ln -s System.map-2.6.11 System.map
注意:要保留vmlinuz核心,以下列步骤进行
#cp /usr/src/linux/System.map /boot/System.map-2.6.11
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.6.11
#cd /boot
#rm -f System.map
#ln -s System.map-2.6.11 System.map
现在
#vi /etc/lilo.conf
增加如下一段(是增加):
image=/boot/vmlinuz-2.6.11 是设定为已经安装的核心
label=linux2.6.11 则是由 lilo 用来告诉你现在要启动的是那个核心或作业系统
read-only
root=/dev/hdax (根据需要自行加以修改)
运行:#/sbin/lilo -v 保存执行命令
#shutdown -r now
_________________________________________________________________
想知道第5步骤和第6步骤是否重复了?
你的步骤不仅重覆,而且错误很多,如果你要是这样升级的话,恐怕有你头痛的。
我想知道哪里出错了? 非常感谢斑竹,其实我的那些步骤是参考了旧内核升级方法
总以为复杂了才能够深入:)
另外斑竹能不能推荐一篇如内核升级原理的文章,我想仔细看看
再次感谢!!! #make mrproper
#make menuconfig
#make
#make modules_install
#make install
就可以了。。
#make menuconfig
这才是需要仔细看的地方~
slackware下用rpm包最好把他转成tgz包,然后再安装。
页:
[1]