4final_prepare

Final Preparation

最後準備工作

準備工作做了一大半,但還沒有完成

接下來便是建立工具文件夾,

mkdir -v $LFS/tools

建立軟連接

ln -sv $LFS/tools /

不知道你有沒有發現 許多命令之後都要加-v的選項, 也就是輸出這條命令到底做了些什麼。
因此不要圖省事,在進行完一個動作時,看看命令是否達到預期效果了,往往比一門心思往下做收穫的要多

然後就是建立編譯LFS的用戶, 按照4.4節的命令做即可

不用root用戶是有原因的, 就是擔心編譯lfs過程中原系統出現問題,並不是說root用戶就不能怎麼的

groupadd LFS
useradd -s /bin/bash -g lfs -m -k /dev/null lfs

詳細解釋下每個參數

-s /bin/bash
指定一個shell

-g lfs
指定用戶所在組

-m
home目錄建立自己的家目錄

-k /dev/null
在這裏的作用,是要防止創建3個文件,
相信大家也有人想得到:

.bash_logout
.bash_profile
.bashrc

我第一次做的時候是不知道的。因爲沒留心, 第二次才注意到-k /dev/null

之後爲lfs創建密碼了

passwd lfs

別忘了許多文件,和下載的包都是root用戶創建的,普通用戶根本沒有權限讀取, 所以這裏要進行一下處理,把文件所有者改爲新建的用戶lfs

chown -v lfs $LFS/tools`
chown -v lfs $LFS/sources`

而後切到lfs用戶

su - lfs

這裏要加-號的意味着你是真正以lfs用戶登陸的, man bash 中有詳細解釋, 百度也有,也有。。

而後編輯.bash_profile 和 .bashrc了, 這是當然了, 因爲剛剛沒讓它生成嘛

cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH

想知道每句話什麼意思嗎? 好好看書, 博主也懶, 不翻譯了。
就全當提高英語了

  • 忍不住說兩句 PATH的順序是首先/tools/bin文件夾,
    然後是/bin/usr/bin 而之前有set +h選項。
    這是爲了當一個工具編譯安裝結束之後(工具會安裝道/tools/bin下),
    系統會首先執行/tolls/bin下的二進制文件, 從一定程度上來說,
    這是避免錯誤的有效方法。

書後面還接受了make -j2, 我這裏不建議開這個選項,

  • 這個看個人初衷

我是有親身體會的, 在我首次編譯glibc的時候出現make錯誤了,
其它暫時沒有遇到, 不過對於新手來說,一次的錯誤很打擊士氣的。
多花點時間,順順利利的做下來就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章