盘锦信息网
娱乐
当前位置:首页 > 娱乐

Linux基础知识:内核编译-2.4至2.6 (1)

发布时间:2019-09-13 20:34:05 编辑:笔名

前言 linux-2.6.x内核发布后, 坛子里的兄弟们肯定都迫不及待地要升级原有的2.4.x内核. 但是由于与2.6.x内核配套的系统程序并没有相应的来得及更新, 升级过程会碰到很多问题, 因此觉得有必要把我的经验与大家share一下:-) XD们以后碰到类似问题时, 请先阅读本文, 而不要一上来就盲目发帖. 1. 备份重要的数据 这是个好习惯,就不用多说了:-) 2. 下载最新的2.6.x内核源码包 这个当然要到官方网站http://www.kernel.org或者它的mir...?去下载了, 最好别到那些unknown的网站去下, 因为那些源码包有可能被恶意做了手脚. 最新的linux-2.6.4.tar.bz2源码包大概有33M左右. 下载的时候可以泡杯coffee, 然后点根烟...... 在/usr/src/目录下解开源码包, 得到源代码目录/usr/src/linux-2.6.4/. 在对kernel做任何事情之前, 建议你先看一下它的README文件和Documentation/Changes文件, 从中你会得到不少有用的信息. 这些信息会让你在随后的升级过程避免很多不必要的麻烦. 在文档Documentation/Changes中给出了欲成功地升级到kernel-2.6.x所需的最小系统软件要求, 比如对于kernel-2.6.4是这样的: Gnu make 3.79.1 # make --version binutils 2.12 # ld -v util-linux 2.10 # fdformat --version module-init-tools 0.9.10 # depmod -V e2fsprogs 1.29 # tune2fs jfsutils 1.1.3 # fsck.jfs -V reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs xfsprogs 2.6.0 # xfs_db -V pcmcia-cs 3.1.21 # cardmgr -V quota-tools 3.09 # quota -V PPP 2.4.0 # pppd --version isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version nfs-utils 1.0.5 # showmount --version procps 3.2.0 # ps --version oprofile 0.5.3 # oprofiled --version

对于RH8/9的用户而言, 上述要求基本上都能满足. 大概只有两个程序需要更新: modutils工具包和mkinitrd程序. 3. 安装module-init-tools-3.0.tar.gz工具包 linux-2.6.x内核的module处理过程有所改变(很多原先在用户态下由modutils处理的工作都放到内核里去完成了), 因此2.4.x下的modutils工具包已经不在适合新的2.6.x内核, 必需将其升级到module-init-tools工具包. 该工具包的最新版本是3.0(ps, 该工具包的版本从0.9.15一下跳到3.0, 其跨度之大...hoho). 可以下载module-init-tools-3.0.tar.gz源码包的地方有两个: Rusty's Linux Kernel Page: http://www.kernel.org/pub/linux/ker...ools-3.0.tar.gz http://www.kernel.org/pub/linux/uti...ools-3.0.tar.gz 接下来, 按照下列步骤安装module-init-tools工具包: # configure --prefix=/# make moveold# make all install# ./generate-modprobe.conf /etc/modprobe.conf

命令"make moveold"将把系统原来的modutils工具程序改名为"*.old"(比如,lsmod.old等等). NOTE! 这是非常重要的一步, 千万不要省略. 这将使得你可以继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下, 新的module-init-tools工具包实际上是倚赖原来"*.old"程序来加载内核模块. 如果忘记了这一步也不要紧张, 可以先下载并安装原来的modutils程序包, 然后按照上面的步骤重来一遍就可以了. 新的module-init-tools工具包不再使用原来的/etc/modules.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"来生成新的配置文件/etc/modprobe.conf. 但是令人不爽的是, 这个生成的新配置文件存在BUG, 下面我们将会提到.

一岁半宝宝咳嗽
婴儿咳嗽怎么办最有效
小孩夜里咳嗽厉害怎么办
小便异味难闻怎么治疗