Linux From Scratch

第一次接触linux应该是当年的sun推广的unix远程实验室. 之后安装Linux无数次,编译内核N百次, 但一直没有把”Linux From Scratch”实践一次.

编译LFS,并不是为了使用它,是为了看看linux到底是怎么编译,组织起来,运行起来的.

编译的过程, 并未太多阻碍

  • 开头部分,下载依赖的源码包, 耗了点时间,没有直接下载整体压缩包(当时也不知道),然后根据wget-list下载
  • 在chroot之后,逐一编译期间,无意中按了exit,退出了chroot环境, 以为前功尽弃,结果chroot回去发现一切正常如旧
  • 最后,真正启动系统时,报无法挂载根目录, 原因是我用2台虚拟机来跑,第一台做编译host,有sda和sdab,第二台虚拟机是运行环境,只有sda,改一下grub.conf搞定.

早上10点左右开工,下午5点启动成功, 约8小时的样子, 敲了近千条命令, 中后期的make check基本上跳过.

在编译内核之前,我一直很奇怪为啥内核还没编译,而只是输出的ABI的header,现在想来, 还是挺有道理的. 因为前面的部分是编译rootfs, 这部分跟具体的内核并无关联.

事后,我看了tinycore linux的编译脚本, 那跟lfs里面的命令简直就是拷贝, 也许就是lfs的自动编译版本alfs修改而来.

编译完成的rootfs

5.8M	./bin
288K	./var
4.0K	./home
16K	./lost+found
24K	./root
20K	./tmp
4.0K	./proc
713M	./usr
4.0K	./opt
7.7M	./lib
4.0K	./srv
14M	./boot
4.0K	./sys
13M	./etc
4.0K	./dev
4.0K	./run
12K	./media
4.0K	./mnt
12M	./sbin
764M	.

最后,附上一张图吧,哈哈



blog comments powered by Disqus

Published

2015-03-07

Categories


Tags

Fork me on GitHub