Chinaunix首页 | 论坛 | 博客
  • 博客访问: 563210
  • 博文数量: 199
  • 博客积分: 5087
  • 博客等级: 大校
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 21:53
文章存档

2010年(199)

我的朋友

分类: LINUX

2010-05-17 23:18:43

如何编译linux内核

Linux 2009-09-01 13:14:46 阅读440 评论1 字号:


1.下载名为linux-2.6.15.tar.bz2的内核源码文件。
2.将该文件拷贝到/usr/src/kernels/目录下(cp 
linux-2.6.15.tar.bz2 /usr/src/kernels/),解压该文件:
tar jxvf 
linux-2.6.15.tar.bz2,此时会在kernels下生成linux-2.6.15的源码文件夹。
3.将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/kernels/linux-2.6.15/include目录下的对应目录中:
                       # cd /usr/include
                       #rm -rf asm linux
                 # ln -s /usr/src/
kernels/linux-2.6.15/include/asm-i386 asm
                 # ln -s /usr/src/
kernels/linux-2.6.15/include/linux linux
                 # ln -s /usr/src/
kernels/linux-2.6.15/include/scsi scsi
4.删除源代码目录中残留的.o文件和其它从属文件:
                       #cd /usr/src/kernels/linux-2.6.15
                       #make mrproper
5.配置内核:
                      #cd /usr/src/kernels/
                      #cp linux-2.6.16(当前系统内核)/.config  linux-2.6.15(当前编译内核)./config
                      # make oldconfig
                      #make menuconfig (默认保存即可)
6.编译内核:
                        #make dep
                        #make clean
                        #make bzImage
                        #make modules
                        #make modules_install
编译成功后,系统会在/lib/modules下生成2.6.15的子目录,里面存放着该内核的所有可加载模块。
7.启动该内核
将该内核和System.map文件拷贝到/boot目录下:
                       # cp /usr/src
/kernels/linux-2.6.15/arch/i386/boot/bzImage /boot/vmlinuz-2.6.15
                       # cp /usr/src
/kernels/linux-2.6.15/System.map /boot/System.map-2.6.15
8.生成.img文件
                       #mkinitrd /boot/initrd-2.6.15.img 2.6.15

9. 修改/boot/grub/目录下的menu.lst文件,将该内核信息写入到该文件中。
10.重新启动
                        #reboot
阅读(1049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~