编译Linux内核

 今天编译了linux-2.6.18内核,耗了老半天,终于可以了。
1、下载要编译的内核源代码在usr/src文件夹下
如我下载的是linux-2.6.18.tar.bz2,执行命令 tar -xvjf linux-2.6.18.tar.bz2,进行解压。
注意此处不要在windows下解压后才拷贝过来,因为源文件中有一些文件是名字相同,需要区分大小写,如opt_ots.c和opt_OTS.c,而 windows的文件系统FAT是对文件名不区分大小写,LINUX的文件系统EXT是区分大小写的。倘若要是在windows下进行压缩的话,会使一些 文件丢失。
解压后在/usr/src 的文件下就出现了 linux-2.6.18
创建一链接   ln -s linux-2.6.18/linux-2.6.18  linux
2、cd /usr/src
  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
接下来检杳一下源代码目录下是事有不正确的.o文件以及文件的互相依赖
  cd /usr/s
3、做好了准备工作,现在就可以对内核进行配置了
   有几种方式
   make config(基于文本的最为传统的配置界面,不推荐使用)
   make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
  make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)
  make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
   最简单的应该是xconfig ,是图形界面,由于我没有装QT包,QT包也比较大,所以我就选择了make menuconfig
  要运行make menuconfig,机器上必须已安装了Ncurses和ncurses_devel包。
  这一部分是编译内核最为重要的部分,最好参照一下网上的资源。
4、开始编译内核
   make bzImage
5、make install
   这个命令的目的是把bzImage System.map 拷贝到/boot目录下,并修改了相应的参数
6、编译模块
  make modules
  make modules_install
7、哈哈,到这一步的话,可以说已经成功了一大半
执行下面这个命令来清除编译过程中产生的一此垃圾文件,当然也可以不清除
  make clean
8、重新启动系统,应该就可以发现grub 菜单中多了一项,linux-2.6.18-default
选择这一项,进入系统。
若不能顺利地进入系统,可能是intird没做好,或者grub没设好。
可以用mkinitrd 来产生intird
在我的系统中,grub设置是在 /boot/grub/menu.lst
对于linux-2.6.18-default的设置是如下
title 2.6.18-default
    root (hd0,9)
    kernel  /boot/vmlinuz-2.6.18-default root=/dev/hda10 vga=0x317    resume=/dev/hda9  splash=silent showopts
    initrd /boot/initrd-2.6.18-default
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值