目錄
- 🌲 前言
- 🏅 構建流程
- 一、準備構建
- 二、構建臨時檔案系統
- 三、構建 LFS 系統
- 四、基本系統配置
- 五、讓 LFS 系統可引導
- 🥇 評論區抽粉絲送書啦
點我跳轉文末 領書,價值 109 元的 《Linux核心技術從小白到大牛》!
本篇文章
點贊+收藏+評論!評論區點贊前三,皆可參與送書活動!
🌲 前言
曾幾何時,是否有想過自己 DIY 一個 Linux 系統,就像造汽車一樣一步步的構建一個 Linux 系統!
🚗 做個形象的比喻:
汽車(Linux發行版)= 發動機(內核)+ 輪子和方向盤(shell)+ 車架子和座椅(桌面)+ 倒車雷達/自動泊車(基礎軟體)
在大眾的眼里,Linux似乎是很神秘的東西,比如經常說到的,網上的黑客用的都是Linux,對著黑色的框框敲幾條命令,就能夠控制很多電腦,控制網路,這個時候,Linux像是游戲里的神器,無所不能,稍微懂一點計算機知識的人來說,知道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 系統可引導 - 收尾


😄 哈哈,干的很不錯!到這里,全新的 LFS 系統就已經安裝完成了!🎉
🥇 評論區抽粉絲送書啦

【內容簡介】
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385591.html
標籤:其他
下一篇:[Linux從無到有] 行程
