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錯誤了,
其它暫時沒有遇到, 不過對於新手來說,一次的錯誤很打擊士氣的。
多花點時間,順順利利的做下來就好了。