原文地址:http://blog.csdn.net/cokychen/article/details/9105723
偶然间在网上看到有LFS(Linux from scratch)这个项目,于是就去测试安装了一下,经过近一个星期的努力,总算完成了。整体上还算比较顺利,现将安装过程中遇到的一些问题记录如下:
安装环境
Host Manchine: VMware Workstation9.0 + Ubuntu12.04
LFS: LFS-BOOK-7.3
LFS官网是有提供LiveCD来安装作为host system的, 但是目前只能作为安装LFS7.0版本之前使用。经测试Ubuntu12.04作为host system来安装LFS7.3,目前为止是可以的。
安装步骤
请参考LFS-BOOK-7.3,按照书上的步骤一步一步做下来就可以,由于使用的是虚拟机,这个安装过程耗时较长!
安装过程中出现的问题
现象:在安装到这一步时,按照书上的操作,会出现类似下面的编译错误:
- note: 'pthread_create <at> <at> GLIBC_2.2.5' is defined in DSO /tools/lib/libpthread.so.0 so try adding it to the linker command line
- /tools/lib/libpthread.so.0: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status
- make[3]: *** [check_thread_stress] Error 1
- make[3]: Leaving directory `/mnt/lfs/sources/check-0.9.9/tests'
- make[2]: *** [all-recursive] Error 1
- make[2]: Leaving directory `/mnt/lfs/sources/check-0.9.9'
- make[1]: *** [all] Error 2
- make[1]: Leaving directory `/mnt/lfs/sources/check-0.9.9'
解决方法: 按如下重新配置后再编译
- #./configure --prefix=/tools LDFLAGS=-pthread
- #make
现象:系统通过grub引导,在初始化Linux kernel时,出现以下错误:
- VFS:Cannot open root device "sda" or unknow-block(0,0)
- Please append a correct "root=" boot option
- kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)
解决方法:这估计是VMWare的问题,修改虚拟机目录下的“.vmx” 文件,如果 scsi0.virtualDev = "lsilogic", 则改为scsi0.virtualDev = "buslogic", 同时kernel 做如下配置:
- Linux Kernel Configuration
- -> Device Drivers
- -> SCSI device support
- -> SCSI low-level drivers
- -> BusLogic SCSI support
这样重新编译启动后即可。
现象:进入登录界面前会提示类似以下信息:
- Interface eth0 doesn't exist
解决方法:重新配置kernel, 支持VMWare虚拟网卡,kernel configure 如下:
- Linux Kernel Configuration
- -> Device Drivers
- -> Network device support
- -> Ethernet driver support
- -> AMD PCnet32 PCI support
总结
解决以上的问题,就可以登录到自己的LFS中,体验一下使用自己编译的Linux系统的快感。目前的这个LFS还是比较简陋的,想完善自己的系统,可以参考LFS官网的其他项目!