返回列表 回复 发帖

linux内核编译的过程--原创啊。。。

最近刚放出了2.6.25内核,所以正好顺便学习下编译。。

将内核文件保存到/usr/src中
#在旧些的版本中编译内核前需要执行make mrproper命令,删除系统中存在的一些不正确的文件。
#较高版本的linux中第一次编译内核是不需要的。
step 1.
#cd /usr/src/Linux-2.6.25
#make mrproper
step 2.
启动内核编译工具。。
有三种选择
a.文本界面 make config
b.图形窗口界面 make Xconfig
c.命令行下图形界面(据说叫这个,看字面上明显是菜单模式。。) make xconfig
具体设置项目一看都明白,有windows的注意打开ntfs支持,一般内核默认不支持的。。
选项前面的方框中变为园点表示以模块方式添加进系统,为对号时表示直接编译到内核中
完成选择后注意命名保存退出。。。。。。
然后Load an Alternate Configuration File载入刚才配置
退出编译工具并保存

第一次运行时出现:
root@ww-laptop:/usr/src/linux-2.6.25# make xconfig
  CHECK   qt
*
* Unable to find the QT3 installation. Please make sure that
* the QT3 development package is correctly installed and
* either install pkg-config or set the QTDIR environment
* variable to the correct location.
*
make[1]: *** No rule to make target `scripts/kconfig/.tmp_qtcheck', needed by `scripts/kconfig/qconf.o'.  Stop.
make: *** [xconfig] Error 2
提示需要安装qt3,用多利得装上,
重新运行make xconfig,一堆提示后出现下图
(好好选吧。。我这里默认很多东西amd与intel是同时被支持的,而且10G网卡也默认作为模块安装=_=')

step 3.
按照提示,运行
#make dep
生成各种相关文件
#make clean
确保所有文件处于最新版本

#make bzImage
生成内核。。我可以偷偷告诉你这文章里面很多字都是称生成内核的时候打的。。
结束时会提示生成内核的路径
Root device is (8, 1)
Setup is 11724 bytes (padded to 11776 bytes).
System is 1890 kB
Kernel: arch/x86/boot/bzImage is ready  (#1)
root@ww-laptop:/usr/src/linux-2.6.25#


#make modules
编译所选择的模块
哦。。。。我花了一个半小时度过这一步。。。。。。
当然我承认CM1.5的cpu有点过时了。。


#make modules_install
这部很快的。。

#depmod -a
这也很快。。 
严格说来,depmod -a命令和编译过程并没有关系,
它是生成模块间的依赖关系,这样你启动新内核之后,
使用modprobe命令加载模块时就能正确地定位模块。

至此内核编译完成了

#mkinitramfs -o /boot/initrd-2.6.265.img 2.6.25生成映像文件
如果提示找不到目录,那么就自己建立一个
#mkdir /lib/firmware/2.6.25

#cp /usr/src/linux-2.6.25/System.map /boot/System.map-2.6.25
#cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.18

以上这两个文件是我们刚才编译时新生成的。

修改/boot/grub/grub.conf
在启动项中加入新的内核
重新启动,选择新加入的启动项&祈祷。。。
至少这次我成功。。。。



哦。。进入系统后猛然发现。。编译时不小心把声卡驱动给取消了。。。。啊啊啊啊

[ 本帖最后由 wwfalcon 于 2008-4-18 07:55 编辑 ]
本人已死,有事烧纸;小事招魂,大事挖坟。。。
传图
附件: 您所在的用户组无法下载或查看附件
强哦
搬个板凳来学习了。。。
万帖纪念影像志《我的大学》:《==点击进入==》
看成内核编写过程了.........
编译也需要学啊................
永远的Iron Maiden!!
rm / -rf
原帖由 和风 于 2008-4-18 12:55 发表
看成内核编写过程了.........
编译也需要学啊................
总得配置一下吧~~
原帖由 和风 于 2008-4-18 12:55 发表
看成内核编写过程了.........
编译也需要学啊................
那个。。。如果连内核编写过程都可以会的话。。。。给我个待在这学校里的理由。。
本人已死,有事烧纸;小事招魂,大事挖坟。。。
汗!  我还以为是C语言编写内核呢

[ 本帖最后由 实在东北人 于 2008-4-18 17:08 编辑 ]
最近有点郁闷!!!
返回列表