Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306610
  • 博文数量: 84
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 900
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-30 20:22
文章分类

全部博文(84)

文章存档

2008年(21)

2007年(63)

我的朋友

分类: LINUX

2008-03-06 20:40:33


    2.4的就不说了,那种过时的文章网上到处都有,抄来抄去,抄得乱七八糟的。
 
    首先,以我的经验可以清楚地讲,书上说的“应该经常下载最新的内核,编译并安装,以增加安全性”is bull-shit!

    下载内核一定要下一份同版本的.config文件(Slackware官网就有提供)——除非你认为自己非常、极其精通硬件,否则不要抛弃别人调试好的.config。我就是被这个害苦了,前一阵子从kernel.org下载了最新的内核,然后自己编译着玩儿,使用了里面那个几乎是空的.config,安装好,执行lilo,重新启动……结果新的内核和老的内核全都启动不了了,LiveCD都救不了了。我听见远方,上帝的声音对我说:“嘿、好!没救了!”……我只好拿出系统盘,重新安装……
 
 
    下面是一个正确的过程:

    准备:首先确保你有系统官网提供的相应版本的.config,或使用/boot下的config,复制到/usr/src/内核目录下。
 
    make clean
    通常效果是清除上一次make时产生的多余东西。
    具体效果参阅Makefile文件中对于clean的定义。
 
    make menuconfig
    在里面添加自己需要的模块、删除不需要的(简直是废话)
    需要注意的是自己使用的fs一定要内嵌
    ——即使这听起来像是理所当然的废话,但它毕竟很容易被忽视。
    另外,在General setup -> Local Version -> append to kernel release 里面加上新的后缀,比如加上“-test”,新的内核就会被命名为2.6.21.5-test(假设版本号是2.6.21.5),过一会儿新的模块就会被安装到/lib/modules/2.6.21.5-test目录下,而不是覆盖原先的内核模块目录;另外过一会儿vmlinuz和System.map也要命名为这样的“版本号-后缀”。
    先不要退出,在里面把.config SAVE一下。
 
    make
    这个过程最耗时,大约要花1个小时,甚至更多。
 
    make modules_install
    如果你刚才追加了“-test”后缀,这时候模块会被放入/lib/modules/2.6.21.5-test目录。
 
    cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.21.5-test
    cp System.map /boot/System.map-2.6.21.5-test
    cp .config /boot/config-2.6.21.5-test
    如果你想知道System.map不这么命名会怎么样——lilo会识别不出来它,因为lilo.conf里面没有定义System.map的地方。
 
    vi /etc/lilo.conf
    在里面加入新的内核,具体我就不说了,照葫芦画瓢呗。
    改完后一定要执行lilo -v

    OK,完成了!重启就可以选择你的新内核了。
 
 
PS:
    晕!一到这个时间段就几乎上不了网了,光拨号就得拨半分钟,我怀疑铁通交换机的背板带宽是1M的……
阅读(1202) | 评论(0) | 转发(0) |
0

上一篇:Linux运行流程图

下一篇:一次引导区实验

给主人留下些什么吧!~~