| 论坛注册| 加入收藏 | 设为首页| RSS
Google
您当前的位置:首页 > Linux频道 > Linux入门与提高 > 安装与配置

制作LFS过程中各个阶段恢复工作状态的方法

时间:2006-07-16 22:47:20  来源:Linux联盟收集  作者:Linux联盟收集
前提:CnPLinux联盟
  对于做过一两次LFS的朋友,想必对LFS的漫长制作时间影象深刻,特别是对机器不太好的朋友,有时候LFS的制作时间真是“可怕”,有时候不得以必须关机然后重新启动并恢复到工作状态,但对一些不太清楚LFS的工作原理的朋友,可能一时无法正确的恢复到工作状态,因此为了能成功的完成LFS,有的会开个一两天的机器不关,本人特别针对这个问题写了一些自己的经验,以下的过程全部经过测试,应该是正确的,希望能给还在LFS制作中的朋友减轻一些“痛苦”。CnPLinux联盟
  为了说明方便,例子采用VMWare5.0的环境下开始的,但也同样适合使用真实机器的情况,只是用真实的机器需要在相应的磁盘设备名上修改成实际的设备名。(用VMWare只是为了说明方便,VMware本身就具有暂停的功能,所以不必计较这个问题)CnPLinux联盟
  文章使用VMWare5.0虚拟的SCSI设备,并使用sda设备名,sda1用于swap,而sda2用于目标系统的根目录。CnPLinux联盟
  CnPLinux联盟
  以下是按照LFS6.1.1-3里面的章节数写的,如果你使用的LFS-Book与下面的章节数有出入,以章节数后面的标题为准。CnPLinux联盟
CnPLinux联盟
开始~4.4. Setting Up the EnvironmentCnPLinux联盟
  从头开始好了,没什么好可惜的。CnPLinux联盟
CnPLinux联盟
4.5. About SBUs~5.33. StrippingCnPLinux联盟
  从现在开始一直到第五章结束,也就是完成Stripping中间的步骤中如果重新启动的恢复步骤:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.建立工具链的链接CnPLinux联盟
  ln -sv $LFS/tools /CnPLinux联盟
  5.创建lfs用户CnPLinux联盟
  groupadd lfsCnPLinux联盟
  useradd -s /bin/bash -g lfs -m -k /dev/null lfsCnPLinux联盟
  passwd lfsCnPLinux联盟
  chown -v lfs $LFS/toolsCnPLinux联盟
  chown -v lfs $LFS/sourcesCnPLinux联盟
  su - lfsCnPLinux联盟
  6.建立lfs用户的环境CnPLinux联盟
  cat > ~/.bash_profile << "EOF"CnPLinux联盟
  exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bashCnPLinux联盟
  EOFCnPLinux联盟
CnPLinux联盟
  cat > ~/.bashrc << "EOF"CnPLinux联盟
  set +hCnPLinux联盟
  umask 022CnPLinux联盟
  LFS=/mnt/lfsCnPLinux联盟
  LC_ALL=POSIXCnPLinux联盟
  PATH=/tools/bin:/bin:/usr/binCnPLinux联盟
  export LFS LC_ALL PATHCnPLinux联盟
  EOFCnPLinux联盟
CnPLinux联盟
  source ~/.bash_profileCnPLinux联盟
  7.检查一下CnPLinux联盟
  export命令查看输出,应该是CnPLinux联盟
  declare -x HOME="/home/lfs"CnPLinux联盟
  declare -x LC_ALL="POSIX"CnPLinux联盟
  declare -x LFS="/mnt/lfs"CnPLinux联盟
  declare -x OLDPWDCnPLinux联盟
  declare -x PATH="/tools/bin:/bin:/usr/bin"CnPLinux联盟
  declare -x PS1="\\u:\\w\\\$ "CnPLinux联盟
  declare -x PWD="/home/lfs"CnPLinux联盟
  declare -x SHLVL="1"CnPLinux联盟
  declare -x TERM="linux"CnPLinux联盟
  基本上就恢复工作状态了。CnPLinux联盟
CnPLinux联盟
6.1. IntroductionCnPLinux联盟
  这个时候也许你想睡觉关机了,那么重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
相关知识点:CnPLinux联盟
  这时候已经制作好了工具链,因此可以不需要建立根目录下的tools链接了。CnPLinux联盟
CnPLinux联盟
6.2. Mounting Virtual Kernel File Systems~6.8. Populating /devCnPLinux联盟
  这个时候如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.加载必要的文件系统CnPLinux联盟
  mount -vt proc proc $LFS/procCnPLinux联盟
  mount -vt sysfs sysfs $LFS/sysCnPLinux联盟
  5.Chroot到目标系统下CnPLinux联盟
  chroot "$LFS" /tools/bin/env -i \CnPLinux联盟
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \CnPLinux联盟
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \CnPLinux联盟
  /tools/bin/bash --login +hCnPLinux联盟
CnPLinux联盟
6.9. Linux-Libc-Headers-2.6.11.2~6.37. Bash-3.0CnPLinux联盟
  从现在开始一直到第六章的File-4.13之前,也就是Bash-3.0结束后,这个阶段如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.加载必要的文件系统CnPLinux联盟
  mount -vt proc proc $LFS/procCnPLinux联盟
  mount -vt sysfs sysfs $LFS/sysCnPLinux联盟
  5.Chroot到目标系统下CnPLinux联盟
  chroot "$LFS" /tools/bin/env -i \CnPLinux联盟
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \CnPLinux联盟
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \CnPLinux联盟
  /tools/bin/bash --login +hCnPLinux联盟
  6.创建/dev下的设备文件CnPLinux联盟
  mount -nvt tmpfs none /devCnPLinux联盟
  mknod -m 622 /dev/console c 5 1CnPLinux联盟
  mknod -m 666 /dev/null c 1 3CnPLinux联盟
  mknod -m 666 /dev/zero c 1 5CnPLinux联盟
  mknod -m 666 /dev/ptmx c 5 2CnPLinux联盟
  mknod -m 666 /dev/tty c 5 0CnPLinux联盟
  mknod -m 444 /dev/random c 1 8CnPLinux联盟
  mknod -m 444 /dev/urandom c 1 9CnPLinux联盟
  chown -v root:tty /dev/{console,ptmx,tty}CnPLinux联盟
  ln -sv /proc/self/fd /dev/fdCnPLinux联盟
  ln -sv /proc/self/fd/0 /dev/stdinCnPLinux联盟
  ln -sv /proc/self/fd/1 /dev/stdoutCnPLinux联盟
  ln -sv /proc/self/fd/2 /dev/stderrCnPLinux联盟
  ln -sv /proc/kcore /dev/coreCnPLinux联盟
  mkdir -v /dev/ptsCnPLinux联盟
  mkdir -v /dev/shmCnPLinux联盟
  mount -vt devpts -o gid=4,mode=620 none /dev/ptsCnPLinux联盟
  mount -vt tmpfs none /dev/shmCnPLinux联盟
  6.进入编译目录CnPLinux联盟
  cd /sourcesCnPLinux联盟
CnPLinux联盟
6.38. File-4.13~6.58. Udev-056CnPLinux联盟
  从现在开始一直到第六章的Udev-056完成之前,这个阶段如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.加载必要的文件系统CnPLinux联盟
  mount -vt proc proc $LFS/procCnPLinux联盟
  mount -vt sysfs sysfs $LFS/sysCnPLinux联盟
  5.Chroot到目标系统下CnPLinux联盟
  chroot "$LFS" /tools/bin/env -i \CnPLinux联盟
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \CnPLinux联盟
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \CnPLinux联盟
  /bin/bash --login +hCnPLinux联盟
  6.创建/dev下的设备文件CnPLinux联盟
  mount -nvt tmpfs none /devCnPLinux联盟
  mknod -m 622 /dev/console c 5 1CnPLinux联盟
  mknod -m 666 /dev/null c 1 3CnPLinux联盟
  mknod -m 666 /dev/zero c 1 5CnPLinux联盟
  mknod -m 666 /dev/ptmx c 5 2CnPLinux联盟
  mknod -m 666 /dev/tty c 5 0CnPLinux联盟
  mknod -m 444 /dev/random c 1 8CnPLinux联盟
  mknod -m 444 /dev/urandom c 1 9CnPLinux联盟
  chown -v root:tty /dev/{console,ptmx,tty}CnPLinux联盟
  ln -sv /proc/self/fd /dev/fdCnPLinux联盟
  ln -sv /proc/self/fd/0 /dev/stdinCnPLinux联盟
  ln -sv /proc/self/fd/1 /dev/stdoutCnPLinux联盟
  ln -sv /proc/self/fd/2 /dev/stderrCnPLinux联盟
  ln -sv /proc/kcore /dev/coreCnPLinux联盟
  mkdir -v /dev/ptsCnPLinux联盟
  mkdir -v /dev/shmCnPLinux联盟
  mount -vt devpts -o gid=4,mode=620 none /dev/ptsCnPLinux联盟
  mount -vt tmpfs none /dev/shmCnPLinux联盟
  6.进入编译目录CnPLinux联盟
  cd /sourcesCnPLinux联盟
CnPLinux联盟
6.59. Util-linux-2.12q~6.60. About Debugging SymbolsCnPLinux联盟
  从现在开始一直到第六章的Stripping Again之前,这个阶段如果你关机或重新启动,那么重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.加载必要的文件系统CnPLinux联盟
  mount -vt proc proc $LFS/procCnPLinux联盟
  mount -vt sysfs sysfs $LFS/sysCnPLinux联盟
  5.Chroot到目标系统下CnPLinux联盟
  chroot "$LFS" /tools/bin/env -i \CnPLinux联盟
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \CnPLinux联盟
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \CnPLinux联盟
  /bin/bash --login +hCnPLinux联盟
  6.创建/dev下的设备文件CnPLinux联盟
  mount -nvt tmpfs none /devCnPLinux联盟
  /sbin/udevstartCnPLinux联盟
  mkdir -v /dev/ptsCnPLinux联盟
  mkdir -v /dev/shmCnPLinux联盟
  mount -vt devpts -o gid=4,mode=620 none /dev/ptsCnPLinux联盟
  mount -vt tmpfs none /dev/shmCnPLinux联盟
  6.进入编译目录CnPLinux联盟
  cd /sourcesCnPLinux联盟
CnPLinux联盟
6.61. Stripping AgainCnPLinux联盟
  如果现在重新启动,那么重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.加载必要的文件系统CnPLinux联盟
  mount -vt proc proc $LFS/procCnPLinux联盟
  mount -vt sysfs sysfs $LFS/sysCnPLinux联盟
  5.Chroot到目标系统下CnPLinux联盟
  chroot $LFS /tools/bin/env -i \CnPLinux联盟
  HOME=/root TERM=$TERM PS1='\u:\w\$ ' \CnPLinux联盟
  PATH=/bin:/usr/bin:/sbin:/usr/sbin \CnPLinux联盟
  /tools/bin/bash --loginCnPLinux联盟
  6.创建/dev下的设备文件CnPLinux联盟
  mount -nvt tmpfs none /devCnPLinux联盟
  /sbin/udevstartCnPLinux联盟
  mkdir -v /dev/ptsCnPLinux联盟
  mkdir -v /dev/shmCnPLinux联盟
  mount -vt devpts -o gid=4,mode=620 none /dev/ptsCnPLinux联盟
  mount -vt tmpfs none /dev/shmCnPLinux联盟
  6.进入编译目录CnPLinux联盟
  cd /sourcesCnPLinux联盟
CnPLinux联盟
6.62. Cleaning Up~结束CnPLinux联盟
  从现在开始一直到制作结束,重新开机后回到工作状态的步骤是:CnPLinux联盟
  1.重新启动计算机,并从LiveCD启动CnPLinux联盟
  2.加载分区CnPLinux联盟
  export LFS=/mnt/lfsCnPLinux联盟
  mkdir -pv $LFSCnPLinux联盟
  mount /dev/sda2 $LFSCnPLinux联盟
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)CnPLinux联盟
  swapon /dev/sda1CnPLinux联盟
  4.加载必要的文件系统CnPLinux联盟
  mount -vt proc proc $LFS/procCnPLinux联盟
  mount -vt sysfs sysfs $LFS/sysCnPLinux联盟
  5.Chroot到目标系统下CnPLinux联盟
  chroot "$LFS" /usr/bin/env -i \CnPLinux联盟
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \CnPLinux联盟
   PATH=/bin:/usr/bin:/sbin:/usr/sbin \CnPLinux联盟
  /bin/bash --loginCnPLinux联盟
  6.创建/dev下的设备文件CnPLinux联盟
  mount -nvt tmpfs none /devCnPLinux联盟
  /sbin/udevstartCnPLinux联盟
  mkdir -v /dev/ptsCnPLinux联盟
  mkdir -v /dev/shmCnPLinux联盟
  mount -vt devpts -o gid=4,mode=620 none /dev/ptsCnPLinux联盟
  mount -vt tmpfs none /dev/shmCnPLinux联盟
  6.进入编译目录CnPLinux联盟
  cd /sourcesCnPLinux联盟
CnPLinux联盟
(转载请保持文章的完整性,请注明作者和出处)CnPLinux联盟
CnPLinux联盟
                               作者:冲天飞豹(youbest)CnPLinux联盟
                               Email:youbest@sina.comCnPLinux联盟
                               2006年2月16日
CnPLinux联盟
CnPLinux联盟
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目更新
栏目热门