编译 linux 2.6 内核

1. virtualbox上编译内核
用virtualbox装了一个debian,开始试着自己编译linux内核,把ext2、ext3都编译进去,配置好grub,重启,结果终端报:
unbale to mount root fs . tried ext2, ext3, ...(后面还有一些我编进去的文件格式)
几年前我编译内核没起来就是这个错误,现在依旧,真是路窄。我试着加了一些设备驱动进去,加了一些文件格式进去,报错依然,我的虚拟硬盘就两个分区,一个是ext2,另一个是swap,这内核启动也不认得?最后才发现:必须把cramfs格式编进去,位置在内核配置界面:
File systems
    ==>
Miscellaneous filesystems
       ==>
Compressed ROM file system support (cramfs)
打开之,内核终于正常启动了。后来才想明白,linux2.6以上内核开始使用ramfs做为初始化时的根文件系统,故必须标此编译选项。
系统是进去了,但上不了网,网卡是PCI网卡,于是再编内核,把设备驱动里与PCI相关的标上,还在
Device Drivers
    ==> Network device support
        ==> Ethernet (100 or 1000 Mbit)
中把Intel Pro网卡的驱动选上(我在virtualbox里的网络选的是Intel Pro/1000 MT Desktop网卡),最后启动,一切正常了。


2. 我的真实老机器上编译内核
有了virtualbox上的教训,配置和编译内核快了很多,但郁闷的是终端挂起,和virtualbox上不同:
Waiting for mount root fs......
仔细想想,我的硬盘是ATA接口的,与ATA相关的驱动我都选了啊,最后才发现位置:
Device Drivers
    ==> ATA/ATAPI/MFM/RLL support
        ==>
ELSA,VLB,PCI and onboard controllers(先选上这个,才能看到下面的选项)
选中后多出来很多驱动供选择,我是VIA硬盘接口芯片(不了解的人可以都选上,反正慢不了多少),选了其中的
            VIA82xx...
再编译、启动,ok了。
但网又上不去,最后发现我的只是老的百兆网卡,在
Device Drivers
    ==> Network device support
        ==> Ethernet (10 or 100 Mbit)
里选定所有关于Reltek的驱动,这下网络也能用了。


相关文章

分类

留言:

关于文章

This page contains a single entry by DongHao published on 10 21, 2009 4:58 PM.

回乡(三) was the previous entry in this blog.

xfs mount error is the next entry in this blog.

Find recent content on the main index or look in the 存档 to find all content.