chroot + livecd = 硬盘安装LFS
Friday, March 16, 2007 4:59:04 PM
硬盘安装的好处有很多,这里就不多说了。
论坛精华区有一篇帖子介绍了“把livecd安装在硬盘上”的方法[http://www.linuxsir.org/bbs/showthread.php?t=274629],可惜我多番尝试都不成功,更改init.c再重新编译重新打包对我来说太难了。
不过我由此得到了提示,再参考livecd的/root目录里的那篇lfscd-remastering-howto.txt,
摸索出了一个比较容易操作的方法。现在不使用光驱,不重启电脑,就可以利用光驱里的环境来编译安装LFS了。
我下载了lfslivecd-x86-6.2-5.iso,然后
mkdir /mnt/isolfs
mount -o loop lfslivecd-x86-6.2-5.iso /mnt/isolfs
mkdir /mnt/lfslivecd
export WORK=/mnt/lfslivecd
cp /mnt/isolfs/root.ext2 $WORK/root.ext2
这时请查看 $WORK/root.ext2 是不是1.5G,如果不是,请参考lfscd-remastering-howto.txt[http://wiki.linuxfromscratch.org/livecd/browser/branches/6.2/doc/lfscd-remastering-howto.txt?rev=1744]里的办法,得到这个1.5G的文件,然后继续。
mkdir $WORK/root
mount -o loop $WORK/root.ext2 $WORK/root
mount -t proc proc $WORK/root/proc
mount -t sysfs sysfs $WORK/root/sys
mount -t devpts devpts $WORK/root/dev/pts
mount -t tmpfs tmpfs $WORK/root/dev/shm
mount -o bind /dev $WORK/root/dev #这句是安装gentoo时学到的。
一切准备就绪,可以chroot了。
chroot /mnt/lfslivecd/root
现在测试一下这个工作环境是否理想,运行以下命令:
cat > version-check.sh << "EOF" #!/bin/bash # Simple script to list version numbers of critical development tools bash --version | head -n1 | cut -d" " -f2-4 echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4 bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 diff --version | head -n1 find --version | head -n1 gawk --version | head -n1 gcc --version | head -n1 /lib/libc.so.6 | head -n1 | cut -d" " -f1-7 grep --version | head -n1 gzip --version | head -n1 cat /proc/version | head -n1 | cut -d" " -f1-3,5-7 make --version | head -n1 patch --version | head -n1 sed --version | head -n1 tar --version | head -n1 EOF bash version-check.sh
如果你也使用livecd-x86-6.2-5.iso,将会得到以下结果:
bash, version 3.1.17(1)-release Binutils: version 2.16.1 bzip2, Version 1.0.3, 15-Feb-2005. Coreutils: 5.96 diff (GNU diffutils) 2.8.1 GNU find version 4.2.27 GNU Awk 3.1.5 gcc (GCC) 4.0.3 GNU C Library stable release version 2.3.6, grep (GNU grep) 2.5.1 gzip 1.3.5 Linux version 2.6.18-3-686 2.6.18-7) (waldi@debian.org) (gcc GNU Make 3.80 patch 2.5.4 GNU sed version 4.1.5 tar (GNU tar) 1.15.1
可见,得到了一个很适合安装LFS的宿主环境。Have fun!
*********************
补充一点,我在这个环境里根据/root/README的说明来设置,可以用startx进xfce里上网。但我还没有正式在里面安装LFS,所以虽然现在一切看起来很好,但并不完全确定安装过程中会有什么情况发生。
另外,我有一个疑问,
mount -t sysfs sysfs $WORK/root/sys
mount -t devpts devpts $WORK/root/dev/pts
mount -t tmpfs tmpfs $WORK/root/dev/shm
这几句我是按照lfscd-remastering-howto.txt来写的,不知道具体有什么用处。高手可以讲解一下吗?谢谢!








419 # Saturday, March 17, 2007 6:38:19 AM
在非chroot的终端执行
mount -o bind /dev/pts /mnt/lfslivecd/root/dev/pts
后解决问题。
不知道刚开始时不要
mount -t devpts devpts $WORK/root/dev/pts
mount -t tmpfs tmpfs $WORK/root/dev/shm
只用
mount -o bind /dev $WORK/root/dev
会不会更好。
Unregistered user # Saturday, March 17, 2007 7:42:47 AM
Unregistered user # Saturday, March 17, 2007 7:57:51 AM
419 # Saturday, March 17, 2007 8:36:23 AM
比如~,在ESC下有个“半角/全角汉字”键,用Shift+“半角/全角汉字”就能打出来了。这是在系统设置为英文键盘布局的情况,如果设置为日文键盘布局,就要根据你键盘上的标示来打了。
419 # Saturday, March 17, 2007 9:59:53 AM
这个我真是一点也不懂~
原来在LFS手册里有说明,
http://lfs.cs.hit.edu.cn/cn/chapter06/kernfs.html
现在我是半懂非懂了。
419 # Saturday, March 17, 2007 12:34:14 PM
make -k check 2>&1 | tee glibc-check-log
grep Error glibc-check-log
没有输出,也就是说没有Error,没有错误,Wow!!
419 # Saturday, March 17, 2007 2:28:41 PM
Unregistered user # Saturday, March 17, 2007 3:16:35 PM
419 # Saturday, March 17, 2007 3:51:32 PM
我用SCIM,里面那个智能拼音输入法简直太神了,好用。不过我一般是用五笔和日文输入法。
dos只是救急用,没有深入研究。说起来你说的那篇dos大作还没有浮上来呀!
这次GCC编译好后make -k check在下面这句话那里停了好久
Running /sources/gcc-4.0.3/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
后我决定不等了,Ctrl+C
419 # Sunday, March 18, 2007 2:18:18 AM
安装到6.42,发现了这个
http://lfs.cs.hit.edu.cn/cn/chapter06/kbd.html
你看看也许有帮助。
又发现了一篇更有用的
http://lfs.cs.hit.edu.cn/cn/chapter07/console.html
419 # Sunday, March 18, 2007 5:09:19 AM
http://lfs.cs.hit.edu.cn/cn/chapter07/udev.html
Unregistered user # Sunday, March 18, 2007 10:26:11 AM
419 # Sunday, March 18, 2007 10:43:13 AM
pda貌似挺方便的……
如果是纯粹的情绪问题可以分散一下自己的注意力,看佛教的东西也有帮助。
Unregistered user # Sunday, March 18, 2007 11:26:15 AM
419 # Sunday, March 18, 2007 2:29:29 PM
Unregistered user # Monday, March 19, 2007 4:32:58 AM
朗儿yuelang85 # Monday, March 19, 2007 2:14:34 PM
419 # Monday, March 19, 2007 3:46:54 PM
Unregistered user # Tuesday, March 20, 2007 4:25:10 AM
419 # Tuesday, March 20, 2007 10:55:19 AM
Unregistered user # Tuesday, March 20, 2007 2:23:17 PM
Yan Janus Le JanusLe # Friday, March 23, 2007 4:33:01 AM
419 # Friday, March 23, 2007 1:53:12 PM
我的编程又很久没学了……见到你真好,我会重新再学编程的。