欢迎来到天天文库
浏览记录
ID:36313553
大小:34.00 KB
页数:4页
时间:2019-05-09
《linux内核编译心得》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、linux内核编译心得2008-10-1715:06经过2周多的时间,一次又一次的对内核动刀,并反反复复的编译内核。终于我成了熟练工。对于内核的编译,我也有了一些自己的心得。内核编译是痛苦的,不可预料的困难是很多的。但是我都绕过或者解决了。我将这些经验分享给大家,希望能有帮助。内核编译第一步,先安装内核编译的必要工具(需要说明的是我使用Linux的是Ubuntu):>apt-getinstallbuild-essential(安装gcc,make等)>apt-getinstalllibncurses5-dev(安装makemenuconfig时必须的库文件)>apt-getinstall
2、kernel-package,fakeroot(Debian系统里生成kernel-image的一些配置文件和工具)kernel-package可能会出现安装不上的问题,E:无效操作kernel-package但是我用aptitudesearchkernel后发现有这个安装包,然后将安装包的包名用复制的方式填入命令行,这样就可以安装了。apt-getinstall<复制过来的名字>>apt-getinstallinitramfs-tools,module-init-tools(initramfs-tools好像是2.6.17内核以上版本用的,以下的版本用initrd)如果不安装build
3、-essential,就会在makemenuconfig时出现error:sys/types.h:Nosuchfileordirectory等错误。如果不安装libncurses,就会出现error:curses.h:Nosuchfileordirectory错误。当初我遇到这个错误时,使用这个aptitudeinstalllibncurses5-dev命令,却找不到安装包。郁闷的重新设置了源,仍然找不到,无奈之下,只好手动自己安装了。先下载一个ncurses-5.6.tar.gz,地址是http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar
4、.gztarzxvfncurses-5.6.tar.gzcdncurses-5.6./configure–prefix=/usr–with-shared–without-debugmakemakeinstallclean然后再运行makemenuconfig就好了,呵呵。实际上,后来我才发现为什么会找不到这个安装包,居然是因为我的软件源设置的有问题。配置安装源只需要将好的sources.list复制到/etc/apt下。然后aptitudeupdate即可实现安装源的更新。然后再次去查找这些软件包,就能找到了。内核编译第二步,从网上下载新的内核源码,并解压缩。比如,将linux-2.6.
5、24.tar.gz复制到/usr/src中tarxzvflinux-2.6.24.tar.gz建立一个lnln-slinux-2.6.24linuxcdlinuxmakemrproper为编译做准备。内核编译第三步,makemenuconfig来配置。这是内核编译是否成功的关键,很容易配置不好,导致无法从新内核启动。常见的错误有Couldnotopen/lib/modules/2.6.22.14/modules.dep.tempforwriting。或者然后就在waitingfilesystem处死机。这些我们先按下不谈。先说说配置中需要注意什么。选择处理器Processortypean
6、dfeatures--->Processorfamily--->386RamDisk驱动(在devicesdriver里)Blockdevices---><*>RAMdisksupport(4096)DefaultRAMdisksize(NEW)<*>InitialRAMdisk(initrd)support文件系统Filesystems--->[*]Ext3journallingfilesystemsupport[*]Ext3SecurityLabels[*]JBD(ext3)debuggingsupportBusLogic驱动(devicesdriver->scsidevicesup
7、port里)SCSIsupport--->SCSIlow-leveldrivers--->BusLogicSCSIsupport另外,(Devicedrivers->ATA/ATAPI/MEM/RLLsupport中)IncludeIDE/ATA-2DISKsupport如果你的/boot是放在IDE硬盘上,那么这里一定要选Y,选M都不行。否则启动时会出现“waitingforrootfilesystem”的提示而停滞不前。S
此文档下载收益归作者所有