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