Chinaunix首页 | 论坛 | 博客
  • 博客访问: 118294
  • 博文数量: 22
  • 博客积分: 145
  • 博客等级: 入伍新兵
  • 技术积分: 127
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-06 15:19
文章分类

全部博文(22)

文章存档

2015年(5)

2014年(2)

2013年(7)

2012年(9)

我的朋友

分类:

2012-12-06 16:44:02

原文地址:linux内核编译 作者:ggf0101

linux编译内核主要步骤(如不想改变内核的版本,直接到第四步):
 

第一步:在/usr/src/目录下解开新的内核源程序(内核源程序不在该目录下先移过来),以.tar.gz源程序为例: 
   tar -xvfz linux-x.x.xx.tar.gz

第二步:rm /usr/src/linux
   这通常是一个符号连接。

第三步:在 /usr/src/ 下建立一个符号连接到你的新内核目录。
   ln -s /usr/src/linux-x.x.xx /usr/src/linux
   老版本的内核可能还要做一下工作:
   cd /usr/include
   rm -rf 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

第四步:将当前目录变成 /usr/src/linux
   cd /usr/src/linux
第五步:变成超级用户
   su - root
第六步:配置内核
   在 X window下并且希望有图形界面,可以: make xconfig
   如果不在 X Window 下或不想使用图形界面,可以:make config 或 make menuconfig (推荐)
   根据需要依次配置即可。
第七步:生成新内核
   make dep
   make clean
   make zImage (或则用make bzImage进一步压缩内核)
第八步:如果你用了模块,你还需要生成和安装模块
   make modules
   make modules-install
   depmod -a
第九步:察看/etc/lilo.conf 看用的是那个目录的那个文件作为image。
   例如:image = /boot/vmlinuz (slackware版是/vmlinuz)
     将 /usr/src/linux/System.map 复制到 /boot 目录中,
        将 /usr/src/linux/arch/i386/boot/zImage 复制到 /boot 目录中并改名为 vmlinuz
   推荐的方法是:
        用一个新文件名将新内核拷贝到相应的目录下,如
        cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage2
        然后编辑/etc/lilo.conf文件,把原内核有关的那一段复制一份,如
            image = /boot/vmlinuz
            root = /dev/hda1
            label = linux
        复制后把image改成/boot/zImage2 把label改成newlinux. 
   这样新内核与旧内核可以共存,当新内核不能启动时,还有备份在那儿呢. 
   注意复制后放置的位置,如果没有设置default则谁是第一项谁就是缺省启动项。
第十步:安装新内核并重新起动。
   lilo (不要忘记了这一步哦! 并注意看输出信息)
   shutdown -r now
警告:应该有备用的起动手段,如果是初次进行内核编译,最好找个编译过的协助完成
更详细的情况可查看 /usr/src/linux/readme文档, 以及有关内核编译的资料,
动手之前仔细阅读相关资料是个好习惯!

阅读(633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~