终于第二次又成功安装了一遍LFS,这次是按照原版的LFS 6.4手册安装的,有了第一遍安装的基础,第二遍就快多了.
下面是一些心得:
1.整个安装过程大体可以分成两个阶段,工具链制作完成前和完成后两部分,如果是一气呵成就没有这个说法了.不过从精力和操作上不大可能一气呵成,这两个阶段的分别是:完成前用的宿主机的编译系统,到完成时基本上都是用的临时编译系统了,完成后是用的临时编译系统到最后就换成LFS的编译系统了.
2.发现了一个解包和进入路径的快速方法,就是用*通配符.
比如解包光盘下的GLIBC包吧.如果全打出来是tar vxf /lfs-sources/glibc-2.8-20080929-tar.bz2
很长而且容易打错.现在只输入tar xvf/lfs-sources/glib*.bz2就能解到当前路径下,用cd g*就可以进到这个解完包的路径里,这样少了输入错误加快了安装进度.命令要灵活运用也不能瞎用,如果在一个完成的系统里这可能通配很多文件,但在这个LFS制作过程中就只有一个这样的文件.
3.在生成一些比较长的文件时有时用CAT命令不大方便,直接用VI编辑会好很多.
安装过程中出现了几次失误,不过这是个好事,知道了如何去解决这些问题.
1.在编译GCC 4.3.2时.最后出现OUT OF MEMOREY 内部错误,这是因为我只给系统192M的内存,而编译GCC这些内存不够用.
有两种方法解决这个问题:一是给系统256M以上的内存.二是使用SWAP分区
2.内核编译完配置完GRUB后用新系统启动出现
VFS:cannot open root device "sda2" or unknow-block(2,0)
please append a correct "root=" boot option
kernel panic -not syncing:VFS:unable to mount root fs on unknow-block(2,0)
sda2是我的VM6.5里硬盘用的是默认的SCSI类型的.
出现这个问题,应该就是内核编译得和硬件不匹配而造成的不认硬件.
从网上的观点主要都是从编译角度来解决这个问题,也有GRUB方面的,不过很少情况是因为GRUB.
VM6.5用的硬盘设置是LSI LOGIC 的SCSI.
这就要从内核里支持这两个特性
这个是SCSI磁盘设备模块,必须选择。
Linux Kernel Configuration
-> Device Drivers
-> SCSI device support
- > SCSI disk support
这个是LSI Logic设备驱动模块。
Linux Kernel Configuration
-> Device Drivers
-> Fusion MPT device support
-> Fusion MPT (base + ScsiHost) drivers
我用的是2.6.27.4的内核,里面和上面LSI的不大一样,我没看明白是怎么回事,我把里面的所有驱动都选了:(
vm里用的网卡是
Linux Kernel Configuration
-> Device Drivers
-> Networking support
-> Ethernet (10 or 100Mbit)
-> AMD PCnet32 PCI support
没有这个就上不了网了,呵呵.前一次安装里忘了,后来又重编了一遍内核才解决
以上就是第二遍做LFS时的心得,原版里把为什么用那些参数的原因都写出来了,所以要想深入一下的话还是看原版的说明.
现在要开始第三遍LFS了,这两次成功的安装都装在别人的电脑上了,自己电脑上装了四五次都失败了,郁闷中....
2009年1月5日星期一
订阅:
博文评论 (Atom)

0 评论:
发表评论