linux内核编译过程的最终总结版.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux内核编译过程的最终总结版

基本以2.6.5内核为例,虽然2.6的内核编译有更为方便的过程,但这里还是按照最经典的方式,这样最保险。一些过程说明经过了本人的精简,相关的疑问请自行用网络搜索答案,只保证本人看的懂;)一些设置按照自己的情况调整,不要完全照搬。对于编译内核造成的损失(比如LP跑了,再也不回来),本人不负任何责任:)仅供参考。 1.download linux-2.6.5.tar.gz 2.cp linux-2.6.5.tar.gz /usr/src 3.cd /usr/src 4.mv linux linux_old 5.tar xvzf linux-2.6.5.tar.gz bzip2 -d linux-2.6.5.tar.bz2 tar -xvf linux-2.6.5.tar 或者tar jxvf linux-2.6.5.tar.bz2 6.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 7.cd /usr/src/linux make mrproper (检查有无不正确的.o文件和依赖关系,使用刚下载的完整的源程序包进行编译,所以本步可以省略。而如果你多次使用了这些源程序编译内核,那么最好要先运行一下这个命令。 ) 8.make config 或 make menuconfig (推荐) 或 make xconfig 选择完返回MainMenu,选择save and exit,退出配置窗口并关闭超级用户终端。现在可以退出xwindows了,回到文本环境(这样做可以加快内核编译速度)执行最后操作 9.make dep 10.make zImage 若想做成启动盘的形式可 make zdisk,若kernel大于512K,应用make bzImage (推荐) 11.make modules make modules_install depmod -a 12.cp /usr/src/linux/arch/i386/boot/zImage /boot (用的是make zImage) 或cp /usr/src/linux/arch/i386/boot/bzImage /boot (用的是make bzImage) 13.修改lilo.conf 或grub.conf(添加) image=/boot/zImage(或bzImage) label=new root=... 14. lilo grub lilo -v 使改动生效。建议保留旧内核的项目,避免编译失败。通常 grub 配置文件在下面三个地方(根据发行版的不同): /etc/grub.conf /boot/grub/menu.lst /boot/grub/grub.conf 15. shutdown -r now 如果你的 kernel 支持内存镜像,就用 mkinitrd 命令制作一个镜像文件,然后拷贝到 /boot 路径下。要这么做,也要记得在 make menu 的时候记得选择内核镜像 ram image,并且不能安装为模块,否则 initrd 就不会运作。生成映像文件,否则有时系??启动时会找不到/根分区。 mkinitrd /boot/initrd-.2.4.20-8.img 2.4.20-8 initrd.img就是initrd-2.4.20-8.img文件的链接 #ln -s initrd-2.4.20-8.img initrd.img 有的时候 mkinitrd 失败,只要加上:--without-scsi-module 就可以通过了。 把旧内核源文件下的.config文件拷贝到新内核源文件下, 如cp /usr/src/linux-2.4.22/.config /usr/src/linux-2.6.5/ 然后在新内核目录下运行make oldconfig,如果想改动什么,可以 make menuconfig,但是一定要先make oldconfig。然后就编译内核,很容易:make bzImage make modules make modules_install make install 然后到/boot 看看是不是已经有新内核文件了,再看/boot/grub/grub.conf是否已经加载了新内核。shutdown -r now cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.5(新内核的bzImage的位置也有可能在/

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档