现在的位置: 首页 > 综合 > 正文

CRUX2.6安装经验–蛋疼的第一次内核编译

2014年02月21日 ⁄ 综合 ⁄ 共 1468字 ⁄ 字号 评论关闭

    好吧,华工的兄弟姐妹们,也许某天你们会百度到这里来,没错,吴一民教授的操作系统内核的课就是要求自己虚拟机安装一个CRUX2.6,还要自己编译内核.随便百度,CRUX2.6估计国内用的人不多.很多问题都是百度不到你要的结果的,请使用google针对错误提示进行搜索.我自己也是尝试了n久才把问题解决了.写下来当作是经验介绍吧.

    CRUX的Handbook网址 http://crux.nu/Main/Handbook2-6#ntoc11

    下面是一些注意问题:

1.我使用的是VMWare WorkStation6.5版本,估计7.0变化也不大,在创建新的虚拟机的时候,建议使用IDE的硬盘形式,不要使用SCSI的.主要是后面内核编译时要集成进硬盘驱动,我还未在SCSI下尝试过,所以下面的经验主要是基于IDE的.

2.如果不清楚你是用了什么类型的硬盘形式,用fdisk -l查看,/dev/hda是IDE,/dev/sda是SCSI,大小2G最好,最少不能少于1.6G

3.光盘引导进入,fdisk分区,mkfs格式化不细说,不懂自己百度,需要注意的是,你最好记住文件系统格式你用的是什么(ext2,ext3等)

4.按照Handbook的流程(挂载分区,设置swap分区等),mount之后输入setup,此时注意的一点是,除了核心的东西,还要把grub包也加进来(除非你想用lilo引导,吴老师推荐用grub- -),如图,你可以选择单纯的grub包或者这个opt目录下的所有软件包,选择所有的opt软件在那一行上面按空格即可

5.当完成这些之后就setup-chroot,进入bash.关于修改/etc/fstab,/etc/rc.d/net, /etc/hosts,/etc/resolv.conf文件后面再改,现在暂时不急.先使用lspci | grep IDE查看你的IDE硬盘的型号,如图,后面选择驱动的时候有用.

6.进入内核源代码目录,make menuconfig,这一步相当重要.注意,对于文件系统,如你使用ext3,那么驱动应该集成进内核当中而不是作为模块,区别在于选项面括号内<*>表示集成进内核,<M>表示作为模块.对于IDE,除了基本的IDE驱动需要集成之后,还有一个针对特定硬盘型号的驱动,如图(Device Drivers ---> ATA/ATAPI/MFM/RLL support --->),注意选上PCI IDE chip support等,此外在File system下,把你的文件系统的驱动也集成进内核,如果是ext2就确保ext2前面括号是<*>

7.之后的按照Handbook的流程去做,grub引导建议使用Manual setup的方式,不要用自动方式,Handbook也有,附上fstab的配置

主要是加上两行:

/dev/hda1 / ext4 defaults 0 1    (按照你的文件系统)

/dev/hda2 swap swap defaults 0 0     (按照你的交换分区)

8.错误提示:

VFS: Cannot open root device "dev=hda1" or unknow-block(0,0)
Please append a correct "root=" boot option
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknow-block(0,0)

这个一般是由于硬盘驱动没有集成进内核导致的.

9.最后的大招,实在不行把所有IDE的驱动都集成进去.就是编译的时候慢一点而已.-____-


抱歉!评论已关闭.