LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 11011|回复: 6

[原创]第二版 制作LFS过程中各个阶段恢复工作状态的方法 (适合LFS6.3)

[复制链接]
发表于 2008-2-10 14:14:34 | 显示全部楼层 |阅读模式
制作LFS过程中各个阶段恢复工作状态的方法 第二版(适合LFS6.3)


作者:孙海勇


更新日志
2008年2月10日:本文发布

前提:
  对于做过一两次LFS的朋友,想必对LFS的漫长制作时间印象深刻,特别是对机器不太好的朋友,有时候LFS的制作时间真是“可怕”,有时候不得以必须关机然后重新启动并恢复到工作状态,但对一些不太清楚LFS的工作原理的朋友,可能一时无法正确的恢复到工作状态,因此为了能成功的完成LFS,有的会开个一两天的机器不关,本人特别针对这个问题写了一些自己的经验,以下的过程全部经过测试,应该是正确的,希望能给还在LFS制作中的朋友减轻一些“痛苦”。
  为了说明方便,例子采用VMWare5.0的环境下开始的,但也同样适合使用真实机器的情况,只是用真实的机器需要在相应的磁盘设备名上修改成实际的设备名。(用VMWare只是为了说明方便,VMware本身就具有暂停的功能,所以不必计较这个问题)
  文章使用VMWare5.0虚拟的SCSI设备,并使用sda设备名,sda1用于swap,而sda2用于目标系统的根目录。

  本文为《手把手教你如何建立自己的Linux系统(LFS速成手册) 第二版》中恢复工作部分的截选,如想查看该文可以见youbest.cublog.cn或者bbs.linuxsir.cn/viewthread.php?tid=322894

更新:
  本文难免出现一些错误或者笔误,也有可能加入新内容,因此难免会进行修正或增删一些内容,如果本文被转载可以在www.linuxsir.cn的LFS版中或者在本人的Blog中查看最新版本。
  linuxsir:http://www.linuxsir.cn/bbs/showthread.php?t=322895
  我的Blog:http://youbest.cublog.cn
  如须转载请注明作者为孙海勇(冲天飞豹),并提供转载出处。


  以下是按照LFS6.3里面的章节数写的,如果你使用的LFS-Book与下面的章节数有出入,以章节数后面的标题为准。

开始~4.4. Setting Up the Environment
  从头开始好了,没什么好可惜的。
4.5. About SBUs~5.33. Stripping
  从现在开始一直到第五章结束,也就是完成Stripping中间的步骤中如果重新启动的恢复步骤:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/sda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/sda1
  4.建立工具链的链接
  ln -sv $LFS/tools /
  5.创建lfs用户
  groupadd lfs
  useradd -s /bin/bash -g lfs -m -k /dev/null lfs
  passwd lfs
  chown -v lfs $LFS/tools
  chown -v lfs $LFS/sources
  su - lfs
  6.建立lfs用户的环境
  cat > ~/.bash_profile << "EOF"
  exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
  EOF
  cat > ~/.bashrc << "EOF"
  set +h
  umask 022
  LFS=/mnt/lfs
  LC_ALL=POSIX
  PATH=/tools/bin:/bin:/usr/bin
  export LFS LC_ALL PATH
  EOF
  source ~/.bash_profile
  7.检查一下
  export命令查看输出,应该是
  declare -x HOME="/home/lfs"
  declare -x LC_ALL="OSIX"
  declare -x LFS="/mnt/lfs"
  declare -x OLDPWD
  declare -x PATH="/tools/bin:/bin:/usr/bin"
  declare -x PS1="\\u:\\w\\\$ "
  declare -x PWD="/home/lfs"
  declare -x SHLVL="1"
  declare -x TERM="linux"
  基本上就恢复工作状态了。
6.1. Introduction
  这个时候也许你想睡觉关机了,那么重新开机后回到工作状态的步骤是:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/sda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/sda1
相关知识点:
  这时候已经制作好了工具链,因此可以不需要建立根目录下的tools链接了。
6.2. Mounting Virtual Kernel File Systems~6.8. Populating /dev
  这个时候如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/sda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/sda1
  4.加载必要的文件系统
  mount -v --bind /dev $LFS/dev
  mount -vt devpts devpts $LFS/dev/pts
  mount -vt tmpfs shm $LFS/dev/shm
  mount -vt proc proc $LFS/proc
  mount -vt sysfs sysfs $LFS/sys
  5.Chroot到目标系统下
  chroot "$LFS" /tools/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
  /tools/bin/bash --login +h
6.9. Linux-Libc-Headers-2.6.11.2~6.59. Stripping Again
  从现在开始一直到第六章的Stripping Again之前,这个阶段如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/sda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/sda1
  4.加载必要的文件系统
  mount -v --bind /dev $LFS/dev
  mount -vt devpts devpts $LFS/dev/pts
  mount -vt tmpfs shm $LFS/dev/shm
  mount -vt proc proc $LFS/proc
  mount -vt sysfs sysfs $LFS/sys
  5.Chroot到目标系统下
  chroot "$LFS" /tools/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
  /bin/bash --login +h
  6.进入编译目录
  cd /sources

6.61. Stripping Again
  如果现在重新启动,那么重新开机后回到工作状态的步骤是:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/sda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/sda1
  4.加载必要的文件系统
  mount -v --bind /dev $LFS/dev
  mount -vt devpts devpts $LFS/dev/pts
  mount -vt tmpfs shm $LFS/dev/shm
  mount -vt proc proc $LFS/proc
  mount -vt sysfs sysfs $LFS/sys
  5.Chroot到目标系统下
  chroot "$LFS" /tools/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin \
  /tools/bin/bash --login

6.62. Cleaning Up~结束
  从现在开始一直到制作结束,重新开机后回到工作状态的步骤是:
  1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/sda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/sda1
  4.加载必要的文件系统
  mount -v --bind /dev $LFS/dev
  mount -vt devpts devpts $LFS/dev/pts
  mount -vt tmpfs shm $LFS/dev/shm
  mount -vt proc proc $LFS/proc
  mount -vt sysfs sysfs $LFS/sys
  5.Chroot到目标系统下
  chroot "$LFS" /usr/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin \
  /bin/bash --login
  6.进入编译目录
  cd /sources

(转载请保持文章的完整性,请注明作者和出处)
                               作者:孙海勇(冲天飞豹)
                               Email:youbest@sina.com
                               2008年2月10日
更新日志:
2008年2月10日:本文发布。
 楼主| 发表于 2008-2-10 14:16:40 | 显示全部楼层
doom3d如果有空的话帮我翻译一下换掉原来LFS上的那个版本?
回复 支持 反对

使用道具 举报

发表于 2008-2-11 08:08:33 | 显示全部楼层
这麽有意义的事怎能推掉?

好像此版比上版简单好多了?
回复 支持 反对

使用道具 举报

发表于 2008-2-13 14:04:44 | 显示全部楼层
参考楼主的第一版搞定LFS6-3,谢谢楼主,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-13 17:32:06 | 显示全部楼层
Post by d00m3d;1815323
这麽有意义的事怎能推掉?

好像此版比上版简单好多了?

因为第六章的恢复过程都一样了。
回复 支持 反对

使用道具 举报

发表于 2009-8-21 10:09:45 | 显示全部楼层
看到楼主也喜欢用Vmware,建议使用新版本的VMware Server版本,它有个功能就是可以将虚拟机完整的Suspend 到硬盘,主机关机重启后,从硬盘恢复虚拟机环境。
我从此功能表面看可以减少LFS工作环境重启的次数。 但由于我才接触LFS,不敢妄言这个功能对做LFS是否有帮助,如果楼主可以检验一下,并向各位爱好者传播结果,那也是一个好事。
补充一下下载地址:
http://www.vmware.com/download/server/
这个是开源的版本,License只要注册一下就可以得到,个人觉得1.x的版本更好用一些。和wordstation版本比较像。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-21 11:39:42 | 显示全部楼层
Post by flygun2005;2018636
看到楼主也喜欢用Vmware,建议使用新版本的VMware Server版本,它有个功能就是可以将虚拟机完整的Suspend 到硬盘,主机关机重启后,从硬盘恢复虚拟机环境。
我从此功能表面看可以减少LFS工作环境重启的次数。 但由于我才接触LFS,不敢妄言这个功能对做LFS是否有帮助,如果楼主可以检验一下,并向各位爱好者传播结果,那也是一个好事。
补充一下下载地址:
http://www.vmware.com/download/server/
这个是开源的版本,License只要注册一下就可以得到,个人觉得1.x的版本更好用一些。和wordstation版本比较像。

你好,感谢你的建议,不过VMWare的Suspend的功能很早就有了,我之所以使用VMWare是为了能让大多数的初学者能够有一个统一的平台以方便一些跟硬件相关的东西能够比较方便一致的进行说明,VMWare只是为了方便说明而不是要在VMWare中实现LFS,所以其中的步骤都是适合在其它环境下的操作,而不是仅限制在VMWare中来实现。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表