今早,哦不,应该是昨天早晨8点完成了LFS6.2.4的最后一步。
基本上还是照着书来做的。有几个地方想说说。呵呵。一是基本上绝大部分的操作是用Putty 远程登录上去做的,这样的话命令都可以直接Ctrl+C Ctrl+V了。不过不推荐Linux初学者直接粘贴。命令要自己多敲敲才会熟。(会有Linux初学者来玩LFS么?=v=b)
利用LFS的liveCD远程登录的方法如下(前提你是用Vmware或其他虚拟机里做LFS。呵呵):
用 LiveCD 开机,直接按回车键启动。时区等等配置之后在liveCD系统的bash里输入
net-setup然后出现交互界面。按照需要配置就行了。
出来后运行passwd root给root用户上个密码。以便登录,然后运行/etc/rc.d/init.d/sshd start 开启ssh远程登录,接下来就可以最小化虚拟机然后用用putty(如果在linux下)或SecureCRT(win下)或者其他什么支持ssh登录的软件登录上去就可以了。登录方式选ssh1。验证方式选user/passwd模式即可。远程登录的地址请查看虚拟机的设置。
二是LFS book中没有软件包解开和用过的目录删除的命令。也没有提示当前工作文件夹。一般情况下。每个编译的过程的起始工作文件夹都是压缩包解压后的文件夹。需要另设编译目录的gcc等软件也是如此所以才会在前面用mkdir ../gcc-bulid这样的命令在压缩包的父目录(一般是/mnt/lfs/sources)下建立gcc-build的目录。建议直接将liveCD中所有的包都copy到/mnt/lfs/sources下。这样解压时。直接使用tar -xvf <压缩包名>这样的方式然后根据提示的解压后的文件夹。进入工作文件夹中。再按照LFS_book来操作。每一节的操作进行完成后还记得要删除所有相关的文件夹。否则可能会对后面的某些软件包造成影响。(注意:本来到LFS6.1为止Binutils和Tcl包都会在后面的章节用到。所以提示不能删除解压后的文件夹。但到了6.2之后。LFS改进了方法。所有的软件包在本节使用之后就可以将解压后的文件夹删除。)
三是在编译内核的时候如果在远程登录的方式在显示menuconfig时有问题的话直接转虚拟机下好了。如果建立虚拟机的时候硬盘选的是SCSI记得把SCSI的support勾上。
四、关于状态的恢复。用虚拟机玩LFS的好处之一就是想停下来的话用虚拟机的suspend功能就行了。这个时候如果是用远程登录的话。记住登录进去的是liveCD的host系统。在第6章之前只要用su - lfs换成lfs用户然后进入/mnt/lfs/sources工作目录就可以了。进入第6章后直接在host的系统里chroot到新的虚拟根环境即可(注意。第6章开始和结束之后的chroot的参数是不同的。第6章结束后就不需要/tools/bin中的临时编译环境了。所以这个东西就不要了。而且这个时候bash的哈希选项也没有影响了。所以+h选项也没了。)
PS:/tools/的实际目录是/mnt/lfs/tools。有需要的可以备份一下。用于编译另一个LFS系统。个人觉得意义不大。应为新系统出来后编译工具的版本也都会同步更新。临时编译环境还得重新来一遍。