总算实践了一次Linux From Scratch
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