简介 Linux From Scratch,简称 LFS,不同于其它的 Linux 发行版,它是一种给使用者指导建议,由使用者自行从头开始自己构建的发行版。LFS 发行版及其衍生版本,都由其同名的手册提供了完整的指导建议。 《Linux From Scratch》(LFS)是由GerardBeekmans等人编写的。这本书可以从在Linux From Scratch网站上免费下载到,当前最新的版本为7.7。 尽管目标是安装一个与现有发行版毫无关系的系统,安装LFS仍然不能无中生有,而必须要有一个可以编译软件包的运行中的Linux系统。这个系统一般称为宿主系统。在宿主操作系统上安装LFS,需要的基
2015-07-22 15:48
您是否想过打造您自己的 Linux 发行版?每个 Linux 用户在他们使用 Linux 的过程中都想过做一个他们自己的发行版,至少一次。我也不例外,作为一个 Linux 菜鸟,我也考虑过开发一个自己的 Linux 发行版。从头开发一个 Linux 发行版这件事情被称作 Linux From Scratch (LFS)。 在开始之前,我总结了一些有关 LFS 的内容,如下: 1. 那些想要打造他们自己的 Linux 发行版的人应该了解打造一个 Linux 发行版(打造意味着从头开始)与配置一个已有的 Linux 发行版的不同 如果您只是想调整下启动屏幕、定制登录页面以及拥有更好的外观和使用
2015-07-13 07:48 Avishek Kumar, wwy-hust
不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。
2018-12-10 10:17 Martin
(题图来自: techradar.com) 继续来编译工具,接下来编译Glibc if ; then su -c mkdir -pv /usr/include/rpc su -c cp -v sunrpc/rpc/*.h /usr/include/rpc fi tar -xf glibc-2.21.tar.xz cd glibc-2.21/ mkdir -v ../glibc-build cd ../glibc-build/ ../glibc-2.21/configure \ prefix=/tools \ host=$LFS_TGT \ build=$(../glibc-2.21/scripts/config.guess) \ disable-profile \ enable-kernel=2.6.32 \ with-headers=/tools/include \ libc_cv_forced_unwind=yes \ libc_cv_ctors_header=yes \ libc_cv_c_cleanup=yes make make ins
2015-04-06 10:52 @郝平睿
经过了充分的准备工作之后,我们要来着手工具链的编译。LFS不能直接使用宿主系统的编译器和库进行编译,而是用宿主系统的编译器和库再编译出来一份编译器和库,然后二次编译编译器和库,最后才能用最终的编译器来编译构建LFS系统。所以我们现在需要做的是来编译这些工具。 (题图来自: techradar.com) 这些工具的编译比较冗长,所以可能需要数篇的篇幅来记录这些过程。 首先需要创建一个目录来安置这些工具 mkdir -v $LFS/tools 然后为了方便,我们在根目录做了个软连接 /tools - $LFS/tools sudo ln -sv $LFS/tools /tools 这时候有
2015-04-05 10:42 @郝平睿
(题图来自: techradar.com) 准备虚拟内核文件系统 建立系统挂载目录 mkdir -pv $LFS/{dev,proc,sys,run} 创建初始设备节点 sudo mknod -m 600 $LFS/dev/console c 5 1 sudo mknod -m 666 $LFS/dev/null c 1 3 挂载并填充设备目录 sudo mount -v bind /dev $LFS/dev 挂载虚拟内核文件系统 mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run 建立一个符号链接 if ; then mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi 这时候就可以c
2015-04-10 21:49 @郝平睿
(题图来自: techradar.com) 工具编译进入了最后的阶段 依旧是进入$LFS/src,解压并进入patch源码目录 cd $LFS/src tar -xf patch-2.7.4.tar.xz cd patch-2.7.4 配置编译选项,编译并检查编译 ./configure prefix=/tools make make check 测试结果表明,共测试39项,其中38项通过,1项失败,继续安装 make install 回到$LFS/src,解压并进入perl源码目录 cd $LFS/src tar jxvf perl-5.20.2.tar.bz2 cd perl-5.20.2 配置编译选项,这是手动执行配置脚本 sh Configure -des -Dprefix=/tools -Dlibs=-lm 正常编译后,需要手动来安装到指定
2015-04-08 10:22 @郝平睿
(题图来自: techradar.com) 从现在开始,我们进入真正意义上的LFS系统的基础系统编译。 这个阶段比较漫长,中间还有可能出现各种各样的问题,我会尽量翔实地记录遇到的各种状况和解决方案,以供后来参考。 Linux-3.19 API Headers cd /src/linux-3.19 执行编译清理 cd /src/linux-3.19 重新编译 make INSTALL_HDR_PATH=dest headers_install 删除非必要文件 find dest/include \( -name .install -o -name ..install.cmd \) -delete 手工安装 cp -rv dest/include/* /usr/include Man-pages-3.79 cd /src 解压并进入源码目录 tar xf m
2015-04-13 10:50 @郝平睿
(题图来自: techradar.com) GMP-6.0.0a GMP编译有点不同,在编译选项配置阶段需要确定架构 还是先进入/src,解压并进入GMP源码目录 cd /src tar xfgmp-6.0.0a.tar.xz cd gmp-6.0.0 如果是x86 32bit,则需要在配置编译选项时前面加点东西 ABI=32 ./configure 如果是x86_64就继续配置编译选项 ./configure prefix=/usr \ enable-cxx \ docdir=/usr/share/doc/gmp-6.0.0a GMP是有文档需要生成的,所以这一步编译之后要再生成一下文档 make make html 进行编译测试并生成测试日志 make check 21 | tee gmp-check-log 从测试日志中找出测
2015-04-16 08:27 @郝平睿
• 黑客正在利用一个 WordPress 插件高危漏洞 • Linux From Scratch v10 发布
2020-09-03 13:15 硬核老王
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。