【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录@H_360_9@
  • 🌲 前言
  • 🏅 构建流程
    • 一、准备构建
    • 二、构建临时文件系统
    • 三、构建 LFS 系统
    • 四、基本系统配置
    • 五、让 LFS 系统可引导
    • 🥇 评论区抽粉丝送书啦

点我跳转文末 领书,价值 109 元的 《Linux核心技小白到大牛》!

本篇文章 点赞 + 收藏 + 评论!评论区点赞前三,皆可参与送书活动

🌲 前言

曾几何时,是否有想过自己 DIY 一个 Linux 系统,就像造汽车一样一步步的构建一个 Linux 系统!

🚗 做个形象的比喻F1a;

汽车(Linux发行版)= 发动机(内核)+ 轮子和方向盘(shell)+ 车架子和座椅(桌面)+ 倒车雷达/自动泊车(基础软件)

在大众的眼里,Linux似乎是很神秘的东西,比如经常说到的,网上的黑客用的都是Linux,对着黑色的框框敲几条命令,就能够控制很多脑,控制网络。这个时候,Linux像是游戏里的神器,无所不能。稍微懂一点计算机知识的人来说,知道Linux是一个操作系统,但是是个什么样的操作系统,也不太了解

【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书

Linux From Scratch 项目简称 LFS,它提供具体的步骤、特定的补丁、必须的脚本,从而提供一个简便的创建Linux发行版的途径。LFS并不是一个发行版,但是它可以作为制作初级发行版的良好练习。

🔥 有什么好处:

  • 了解一个完整的linux系统是如何组成的
  • 可以更好的理解 Linux 是如何正常运转,和其它程序之间是如何协同工作,以及和其它程序之间的依赖关系
  • 可以让你创建极其精简的 Linux 系统
  • 对系统本身有更多的控制权,而不必知道别人是如何实现的
  • 加强对 Linux 系统的深入理解,装逼必备

☀️ 本文将一步步教你如何从零开始构建一个 Linux 系统!

🏅 构建流程

📚 构建流程参考自官方文档:Linux From Scratch !

以下将我完整构建流程分为以下几个部分进行展示链接 🔗,通过链接可以直接跳转操作!

只要跟着教程一步步操作,必然可以成功!🎉

一、准备构建

从零开始 DIY Linux 系统:LFS 介绍 从零开始 DIY Linux 系统:虚拟机创建宿主机(Centos7)

⭐️ 系统安装完成配置之后,建议做一个快照!以备后续误操作可以回退~

从零开始 DIY Linux 系统:磁盘分区(Version 7.7) 从零开始 DIY Linux 系统:软件包、补丁以及创建用户(Version 7.7)

上述步骤为准备阶段,下面开始构建临时文件系统!

二、构建临时文件系统

Binutils 编译耗时较长…

从零开始 DIY Linux 系统:构建临时系统 - Binutils-2.25 - 第1遍

GCC 编译耗时较长…

从零开始 DIY Linux 系统:构建临时系统 - GCC-4.9.2 从零开始 DIY Linux 系统:构建临时系统 - Linux-3.19

glibc 编译耗时较长…

从零开始 DIY Linux 系统:构建临时系统 - Glibc-2.21 从零开始 DIY Linux 系统:构建临时系统 - Libstdc+±4.9.2

Binutils 编译耗时较长…

从零开始 DIY Linux 系统:构建临时系统 - Binutils-2.25 - 第2遍

GCC 编译耗时较长…

从零开始 DIY Linux 系统:构建临时系统 - GCC-4.9.2 - 第2遍

⭐️ GCC 第2遍编译之后,建议做一个快照!以备后续误操作可以回退~

从零开始 DIY Linux 系统:构建临时系统 - Tcl-8.6.3 从零开始 DIY Linux 系统:构建临时系统 - Expect-5.45 从零开始 DIY Linux 系统:构建临时系统 - DejaGNU-1.5.2 从零开始 DIY Linux 系统:构建临时系统 - Check-0.9.14 从零开始 DIY Linux 系统:构建临时系统 - Ncurses-5.9 从零开始 DIY Linux 系统:构建临时系统 - Bash-4.3.30 从零开始 DIY Linux 系统:构建临时系统 - Bzip2-1.0.6 从零开始 DIY Linux 系统:构建临时系统 - Coreutils-8.23 从零开始 DIY Linux 系统:构建临时系统 - Diffutils-3.3 从零开始 DIY Linux 系统:构建临时系统 - File-5.22 从零开始 DIY Linux 系统:构建临时系统 - Findutils-4.4.2 从零开始 DIY Linux 系统:构建临时系统 - Gawk-4.1.1 从零开始 DIY Linux 系统:构建临时系统 - Gettext-0.19.4 从零开始 DIY Linux 系统:构建临时系统 - Grep-2.21 从零开始 DIY Linux 系统:构建临时系统 - Gzip-1.6 从零开始 DIY Linux 系统:构建临时系统 - M4-1.4.17 从零开始 DIY Linux 系统:构建临时系统 - Make-4.1 从零开始 DIY Linux 系统:构建临时系统 - Patch-2.7.4 从零开始 DIY Linux 系统:构建临时系统 - PErl-5.20.2 从零开始 DIY Linux 系统:构建临时系统 - Sed-4.2.2 从零开始 DIY Linux 系统:构建临时系统 - Tar-1.28 从零开始 DIY Linux 系统:构建临时系统 - Texinfo-5.2 从零开始 DIY Linux 系统:构建临时系统 - Util-linux-2.26 从零开始 DIY Linux 系统:构建临时系统 - Xz-5.2.0 从零开始 DIY Linux 系统:构建临时系统 - 收尾工作

⭐️ 构建临时系统完成之后,建议做一个快照!以备后续误操作可以回退~

三、构建 LFS 系统

接下来,我们会进入构建环境然后开始认真地构建 LFS 系统!

从零开始 DIY Linux 系统:构建 LFS 系统 - 准备虚拟内核文件系统 从零开始 DIY Linux 系统:构建 LFS 系统 - 进入 Chroot 环境

📢 注意:如果下方编译过程未一次完成,再次继续的时候需要再次进入 Chroot 环境才能编译:

chroot "$LFS" /tools/bin/env -i 
    HOME=/root                  
    TERM="$TERM"                
    ps1='u:w$ '              
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin 
    /tools/bin/bash --login +h

从零开始 DIY Linux 系统:构建 LFS 系统 - 创建目录 从零开始 DIY Linux 系统:构建 LFS 系统 - 创建必需的文件和符号链接

下面又要开始编译啦!

从零开始 DIY Linux 系统:构建 LFS 系统 - Linux-3.19 API 头文件 从零开始 DIY Linux 系统:构建 LFS 系统 - Man-pages-3.79

Glibc 编译耗时非常久… 需要耐心等待丫!

从零开始 DIY Linux 系统:构建 LFS 系统 - Glibc-2.21

⭐️ Glibc 编译完成之后,如果后续出问题,重新编译太久了,建议做一个快照!

从零开始 DIY Linux 系统:构建 LFS 系统 - 调整工具链 从零开始 DIY Linux 系统:构建 LFS 系统 - Zlib-1.2.8 从零开始 DIY Linux 系统:构建 LFS 系统 - File-5.22

Binutils 编译耗时较长…

从零开始 DIY Linux 系统:构建 LFS 系统 - Binutils-2.25 从零开始 DIY Linux 系统:构建 LFS 系统 - GMP-6.0.0a 从零开始 DIY Linux 系统:构建 LFS 系统 - MPFR-3.1.2 从零开始 DIY Linux 系统:构建 LFS 系统 - MPC-1.0.2

⚠️ 这次的 GCC 编译耗时灰常灰常久…

从零开始 DIY Linux 系统:构建 LFS 系统 - GCC-4.9.2

⭐️ GCC 编译完成之后,如果后续出问题,重新编译太久了,建议做一个快照!

从零开始 DIY Linux 系统:构建 LFS 系统 - Bzip2-1.0.6 从零开始 DIY Linux 系统:构建 LFS 系统 - Pkg-config-0.28 从零开始 DIY Linux 系统:构建 LFS 系统 - Ncurses-5.9 从零开始 DIY Linux 系统:构建 LFS 系统 - Attr-2.4.47 从零开始 DIY Linux 系统:构建 LFS 系统 - Acl-2.2.52 从零开始 DIY Linux 系统:构建 LFS 系统 - Libcap-2.24 从零开始 DIY Linux 系统:构建 LFS 系统 - Sed-4.2.2 从零开始 DIY Linux 系统:构建 LFS 系统 - Shadow-4.2.1 从零开始 DIY Linux 系统:构建 LFS 系统 - Psmisc-22.21 从零开始 DIY Linux 系统:构建 LFS 系统 - PRocps-ng-3.3.10 从零开始 DIY Linux 系统:构建 LFS 系统 - E2fsprogs-1.42.12 从零开始 DIY Linux 系统:构建 LFS 系统 - Coreutils-8.23 从零开始 DIY Linux 系统:构建 LFS 系统 - Iana-Etc-2.30 从零开始 DIY Linux 系统:构建 LFS 系统 - M4-1.4.17 从零开始 DIY Linux 系统:构建 LFS 系统 - Flex-2.5.39 从零开始 DIY Linux 系统:构建 LFS 系统 - Bison-3.0.4 从零开始 DIY Linux 系统:构建 LFS 系统 - Grep-2.21 从零开始 DIY Linux 系统:构建 LFS 系统 - Readline-6.3 从零开始 DIY Linux 系统:构建 LFS 系统 - Bash-4.3.30 从零开始 DIY Linux 系统:构建 LFS 系统 - Bc-1.06.95 从零开始 DIY Linux 系统:构建 LFS 系统 - LiBTool-2.4.6 从零开始 DIY Linux 系统:构建 LFS 系统 - GDBM-1.11 从零开始 DIY Linux 系统:构建 LFS 系统 - Expat-2.1.0 从零开始 DIY Linux 系统:构建 LFS 系统 - inetutils-1.9.2 从零开始 DIY Linux 系统:构建 LFS 系统 - Perl-5.20.2 从零开始 DIY Linux 系统:构建 LFS 系统 - XML::Parser-2.44 从零开始 DIY Linux 系统:构建 LFS 系统 - Autoconf-2.69 从零开始 DIY Linux 系统:构建 LFS 系统 - Automake-1.15 从零开始 DIY Linux 系统:构建 LFS 系统 - Diffutils-3.3 从零开始 DIY Linux 系统:构建 LFS 系统 - Gawk-4.1.1 从零开始 DIY Linux 系统:构建 LFS 系统 - Findutils-4.4.2 从零开始 DIY Linux 系统:构建 LFS 系统 - Gettext-0.19.4 从零开始 DIY Linux 系统:构建 LFS 系统 - Intltool-0.50.2 从零开始 DIY Linux 系统:构建 LFS 系统 - Gperf-3.0.4 从零开始 DIY Linux 系统:构建 LFS 系统 - Groff-1.22.3 从零开始 DIY Linux 系统:构建 LFS 系统 - Xz-5.2.0 从零开始 DIY Linux 系统:构建 LFS 系统 - GRub-2.02~Beta2 从零开始 DIY Linux 系统:构建 LFS 系统 - Less-458 从零开始 DIY Linux 系统:构建 LFS 系统 - Gzip-1.6 从零开始 DIY Linux 系统:构建 LFS 系统 - IPRoute2-3.19.0 从零开始 DIY Linux 系统:构建 LFS 系统 - Kbd-2.0.2 从零开始 DIY Linux 系统:构建 LFS 系统 - Kmod-19 从零开始 DIY Linux 系统:构建 LFS 系统 - Libpipeline-1.4.0 从零开始 DIY Linux 系统:构建 LFS 系统 - Make-4.1 从零开始 DIY Linux 系统:构建 LFS 系统 - Patch-2.7.4 从零开始 DIY Linux 系统:构建 LFS 系统 - systemd-219 从零开始 DIY Linux 系统:构建 LFS 系统 - D-Bus-1.8.16 从零开始 DIY Linux 系统:构建 LFS 系统 - Util-linux-2.26 从零开始 DIY Linux 系统:构建 LFS 系统 - Man-DB-2.7.1 从零开始 DIY Linux 系统:构建 LFS 系统 - Tar-1.28 从零开始 DIY Linux 系统:构建 LFS 系统 - Texinfo-5.2 从零开始 DIY Linux 系统:构建 LFS 系统 - Vim-7.4

📢 注意:清理前需要先退出当前环境,然后再次进入 Chroot 环境:

export LFS=/mnt/lfs
chroot $LFS /tools/bin/env -i            
    HOME=/root TERM=$TERM PS1='u:w$ ' 
    PATH=/bin:/usr/bin:/sbin:/usr/sbin   
    /tools/bin/bash --LOGin

从零开始 DIY Linux 系统:构建 LFS 系统 - 再次清理无用内容

执行完 Strip 之后再次退出环境!

logout

⭐️ 所有软件编译安装完成之后,建议做一个快照!

四、基本系统配置

进入 Chroot 环境:

export LFS=/mnt/lfs
chroot $LFS /usr/bin/env -i            
    HOME=/root TERM=$TERM PS1='u:w$ ' 
    PATH=/bin:/usr/bin:/sbin:/usr/sbin   
    /bin/bash --login

从零开始 DIY Linux 系统:基本系统配置 - 通用网络配置 从零开始 DIY Linux 系统:基本系统配置 - 配置系统时间 从零开始 DIY Linux 系统:基本系统配置 - 系统区域设置 从零开始 DIY Linux 系统:基本系统配置 - 创建 /etc/inputrc 文件 从零开始 DIY Linux 系统:基本系统配置 - 创建 /etc/shells 文件 从零开始 DIY Linux 系统:基本系统配置 - Systemd 的用法与配置

五、让 LFS 系统可引导

⭐️ 是时候该让 LFS 系统可以启动了!

本节主要为:

  • 创建 fstab 文件
  • 为新的 LFS 系统编译内核
  • 安装 GRUB 引导器

如此,就可以在电脑启动的时候选择启动 LFS 系统了!

从零开始 DIY Linux 系统:让 LFS 系统可引导 - 创建 /etc/fstab 文件 从零开始 DIY Linux 系统:让 LFS 系统可引导 - Linux-3.19 从零开始 DIY Linux 系统:让 LFS 系统可引导 - 安装 GRUB 从零开始 DIY Linux 系统:让 LFS 系统可引导 - 收尾

【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书

【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书

😄 哈哈,干的很不错!到这里,全新的 LFS 系统就已经安装完成了!🎉


🥇 评论区抽粉丝送书啦

本次赠书由博主 联合 【机械工业出版社】一起赞助
💌 欢迎大家在评论区提出意见和建议! (抽 5 位幸运儿送书,实物图如下)💌

【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书

《Linux核心技术从小白到大牛》

【内容简介】

Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户、多线程操作系统,目前已经广泛应用于服务器、桌面、嵌入式等领域。随着互联网发展,Linux得到了全世界软件爱好者和组织的支持,并不断地完善和发展。 《Linux核心技术从小白到大牛》内容全面、图文并茂、讲解清晰、易学易用、注重实操,不仅涵盖了Linux的安装、命令、文件、目录、系统、磁盘、用户,以及Shell编程等基础操作,还收录了管理软件包、设置和维护Linux系统、网络安全技术,以及部署网站等核心技术。同时,针对不同层次的读者增加了“小白逆袭”和“大牛成长之路”以及“技术大牛访谈”等辅助学习板块,让读者在学习的过程中获得更多贴近实际应用的技巧和方法。书中包含了丰富的实战案例,可以帮助读者快速掌握Linux各命令的作用和用法。 《Linux核心技术从小白到大牛》既可以作为大中专院校和培训机构相关专业的培训教程,也可以作为Linux开爱好者和Linux用户的技术指南。

也有不想靠抽,想自己买的同学可以参考下面的链接!

京东自营购买链接:

《Linux核心技术从小白到大牛》- 京东图书


📢 注意:

🏆 想要跟着我一起打卡的朋友,可以 添加微信Lucifer-4622 一起打卡,我保证能让你学习之余收获奖品🏅!

❤️ 加入数据库社区跟我一起打卡:零基础 21 天速通 openGauss 打卡活动报名贴!

🏆 抽奖方式:社区报名活动贴报名参加活动后,添加微信 Lucifer-4622 参与抽奖!

新的一周,活动奖励升级,增加抽奖池,绝对丰厚!详情戳:https://BBS.csdn.net/topics/603632186

社区每日打卡地址(日更):https://docs.QQ.COM/doc/DRWJIV2VGdktPS3NE

脚本宝典总结

以上是脚本宝典为你收集整理的【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书全部内容,希望文章能够帮你解决【LFS7.7】一步步教你从 〇 开始撸个 Linux 系统 | 文末送书所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。