【引言:繼續未完的學習,過程遇到一些問題,在尋找問題根源和搜索答案的過程中獲得新生。】
本節主要記錄如何搭建LFS整體的工作環境,並對每步操作進行相應說明,外加筆者遇到的一些問題及解決方案。
注:從本節開始,以後所有爲輸入命令都爲藍色標識,輸入文本爲灰色標識。
2.1 磁盤設置
磁盤分區,輸入命令:cfdisk
進入分區界面,這裏把虛擬機中硬盤的8G空間全部設爲主分區,由於內存足夠就不再設置交換分區,設置結果如下圖:
sda1就是該分區的名字,格式化該分區並退出,其當前在系統中的存放路徑爲/dev/sda1。
設置該分區的文件系統類型:mkfs.xfs /dev/sda1
xfs文件系統爲Unix操作系統的文件系統,這裏也可設置其他Linux文件系統類型。
2.2 創建LFS工作環境
export LFS=/mnt/lfs 設置$LFS環境變量,該路徑被設置爲所選擇的LFS分區的掛載點,方便接下來的使用;
mkdir $LFS 創建lfs目錄;
mount /dev/sda1 $LFS 掛載LFS分區,用來存放工作目錄和編譯出來的新系統文件,以便LiveCD重啓後當前工作狀態不會丟失。
mkdir $LFS/sources 創建源文件目錄,將在該目錄下進行系統相關編譯;
chmod 777 $LFS/sources 設置該目錄屬性爲任何人可讀寫;
mkdir $LFS/tools 創建存放相關工具的目錄;
ln -sv $LFS/tools / 在根目錄下創建一個$LFS/tools的鏈接,也就是工具鏈目錄,是爲了在創建工具鏈和
使用工具鏈創建目標系統時對工具鏈的位置都保持/tools以保證工具鏈正常使用。
groupadd lfs 創建lfs用戶組;
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
命令行選項含義:
-s /bin/bash 指定bash爲lfs用戶的默認shell;
-g lfs 該選項將用戶添加到lfs用戶組;
-m 該選項爲lfs用戶創建home目錄;
-k /dev/null 這個參數通過將輸入位置修改爲特殊的空設備來防止從框架目錄(默認爲/etc/skel)拷貝文件。
lfs 最後這個lfs則是useradd命令添加的實際用戶名。
passwd lfs 給lfs用戶設置用戶密碼;
chown lfs $LFS/tools
chown lfs $LFS/sources 將$LFS目錄下的tools、sources目錄的所有者修改爲lfs,這樣lfs用戶具有完全的執行權;
su - lfs 登陸到lfs用戶,注意:這裏不是su lfs,中間參數"-"表示開啓一個登陸shell。
設置lfs用戶的相關環境變量
vi .bash_profile 新建一個用戶bash信息文件;
在文件中輸入:exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
vi .bashrc 新建bash的配置文件;
在文件中輸入:
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL PATH
兩文件輸入完成後都保存退出。
source .bash_profile 使該bash設置生效。
export 進行環境變量檢查,得如下圖:
到此,LFS工作環境創建完畢,接下來就開始真正的源代碼編譯。
下面介紹筆者在此過程中所遇到的一些問題,以供參考:
這段操作較基礎,過程較順利,但是在CSDN上進行博客編輯時,發現不能使用tab鍵進行縮進,在網上找到縮進方法:
點擊編輯框倒數第三個類似於“<>”進入源代碼編輯模式;
在需要縮進的段落前粘貼以下代碼:<div style="text-indent: 3em">
在需要縮進的段落末粘貼以下代碼:</div>
其中<div style="text-indent: 3em;">爲CSS樣式設置語句,表示首行縮進3個文字。
--------------------------------------------------------------------------------------
此博客編輯器不是咋好用,但是爲了重生,請注重細節。
2013-12-29