【引言:笔者为Linux菜鸟及其爱好者,实现LFS是为了更加全面的学习Linux了解其整体构架,本文属于笔记之类。】
LFS,全称Linux From Scratch(从零开始构建Linux系统),即是教用户如何一步一步从原代码搭建自己的Linux系统。
LFS英文版参考资料见http://www.linuxfromscratch.org
LFS中文版相关资料见http://man.chinaunix.net/linux/lfs/LFS-6.1.1/chapter01/chapter01.html#ch-scatter-how
准备工作:
1. 安装VMware Workstation 9;
2. 下载LFS的源文件LiveCD http://ftp.osuosl.org/pub/lfs-livecd/
这些LiveCD全为iso镜像文件,包含了构建一个完整 LFS 系统所需要的一切工具和所有的软件包源代码、补丁,整个过程不需要任何网络连接或下载任何额外的东西。
本文所运行的版本为 "lfslivecd-x86-6.3-r2145.iso" 大小600M。
新建虚拟机
点击Create a New Virtual Machine,选择Custom,选择I will install the operating system later,然后在选择Guest operating system里选择Linux,在Version里选择Other Linux 2.6.x kernel,设置Memory为1024M,网络选NAT连接模式,硬盘选择默认8G,其他的都选择默认即可。
配置虚拟机启动项:双击CD/DVD(IDE),在Connection中选择Use ISO Image File,然后选择LiveCD。
最后点击点Power on this virtual machine开启虚拟机,得如下界面。
在以上界面回车则直接启动一个Linux系统,像单独安装Linux系统一样,需要选择时区等信息,时区选择Asia/Shanghai,其他的都选择默认。这个Linux系统是直接运行在系统内存中的,如果重启虚拟机则就需要重头再做,所以这就涉及到如何保存当前工作状态的问题,之后将详细介绍。
系统启动后是直接无密码进入的root目录;
在root目录下有2个文件:README.txt、lfscd-remastering-howto.txt,即该LiveCD的说明书。
这里还得先介绍以下两个LiveCD下的重要目录
/usr/share/LFS-BOOK-6.3-HTML(XLM)目录存放LFS用户手册
/lfs-sources里面存放的就是建造LFS所需要的所有源码包
到此,准备工作就差不多已经完成。
下面介绍笔者在此过程中所遇到的一些问题,以供参考:
1.关于启动虚拟机中的LiveCD时,出现“Your CPU does not support long mode.Use a 32bit distribution.”
此时下载的LiveCD为“fslivecd-x86_64-6.3-r2145-nosrc.iso”为64位Linux系统,并且宿主机为Win8(64位系统),但是由于在BIOS中未打开Intel Virtualization Technology功能,则在虚拟机中无法虚拟64位系统,而只能虚拟32位系统。因此只需设置宿主机BIOS中的Intel Virtualization为ENABLE即可。
2.启动LiveCD成功后,在未发现根目录下有/lfs-sources,也就是未发现有LFS源码包。
此时使用的LiveCD版本为 “lfslivecd-x86-6.3-r2130-min.iso”(200M),然后测试了“fslivecd-x86_64-6.3-r2145-nosrc.iso”64位版本,也没有看到有/lfs-sources目录。虽然在README.txt中看到说有source目录,但是还没找到。怀疑是版本问题,则重新下载了本文的使用LiveCD版本"lfslivecd-x86-6.3-r2145.iso" 大小600M,则在根目录中有源码包。
这是LiveCD版本的问题,在进入系统的界面对该包的基本信息进行了说明:
"This CD does not include LFS sources."已经表明该CD内不包含源码包,需要用户自行下载。
如果包含则此处会表明源码包存放路径/lfs-sources,因此为了方便可尽量下载包含源码包的LiveCD。
3.关于远程SSH登陆此台虚拟Linux。
在虚拟机和Windows中来回切换实在麻烦,则采用putty远程登陆该Linux。但是默认情况下putty是无法登陆该Linux虚拟机的,原因在于Linux未开启ssh服务。
开启ssh服务命令:/etc/rc.d/init.d/sshd start
开启后即可远程登陆Linux进行下一步操作,putty在登陆时需要该root密码,但是默认情况下LiveCD中系统root未设置密码,则需要重新设置。
重设root密码命令:passwd
--------------------------------------------------------------------------------------
第一次写此类博文,有些粗糙,积累亦做鞭策,坚持偏执。
2013-12-22