【引言:筆者爲Linux菜鳥及其愛好者,實現LFS是爲了更加全面的學習Linux瞭解其整體構架,本文屬於筆記之類。】
LFS,全稱Linux From Scratch(從零開始構建Linux系統),即是教用戶如何一步一步從原代碼搭建自己的Linux系統。
LFS英文版參考資料見http://www.linuxfromscratch.org
LFS中文版相關資料見http://man.chinaunix.net/linux/lfs/LFS-6.1.1/chapter01/chapter01.html#ch-scatter-how
準備工作:
1. 安裝VMware Workstation 9;
2. 下載LFS的源文件LiveCD http://ftp.osuosl.org/pub/lfs-livecd/
這些LiveCD全爲iso鏡像文件,包含了構建一個完整 LFS 系統所需要的一切工具和所有的軟件包源代碼、補丁,整個過程不需要任何網絡連接或下載任何額外的東西。
本文所運行的版本爲 "lfslivecd-x86-6.3-r2145.iso" 大小600M。
新建虛擬機
點擊Create a New Virtual Machine,選擇Custom,選擇I will install the operating system later,然後在選擇Guest operating system裏選擇Linux,在Version裏選擇Other Linux 2.6.x kernel,設置Memory爲1024M,網絡選NAT連接模式,硬盤選擇默認8G,其他的都選擇默認即可。
配置虛擬機啓動項:雙擊CD/DVD(IDE),在Connection中選擇Use ISO Image File,然後選擇LiveCD。
最後點擊點Power on this virtual machine開啓虛擬機,得如下界面。
在以上界面回車則直接啓動一個Linux系統,像單獨安裝Linux系統一樣,需要選擇時區等信息,時區選擇Asia/Shanghai,其他的都選擇默認。這個Linux系統是直接運行在系統內存中的,如果重啓虛擬機則就需要重頭再做,所以這就涉及到如何保存當前工作狀態的問題,之後將詳細介紹。
系統啓動後是直接無密碼進入的root目錄;
在root目錄下有2個文件:README.txt、lfscd-remastering-howto.txt,即該LiveCD的說明書。
這裏還得先介紹以下兩個LiveCD下的重要目錄
/usr/share/LFS-BOOK-6.3-HTML(XLM)目錄存放LFS用戶手冊
/lfs-sources裏面存放的就是建造LFS所需要的所有源碼包
到此,準備工作就差不多已經完成。
下面介紹筆者在此過程中所遇到的一些問題,以供參考:
1.關於啓動虛擬機中的LiveCD時,出現“Your CPU does not support long mode.Use a 32bit distribution.”
此時下載的LiveCD爲“fslivecd-x86_64-6.3-r2145-nosrc.iso”爲64位Linux系統,並且宿主機爲Win8(64位系統),但是由於在BIOS中未打開Intel Virtualization Technology功能,則在虛擬機中無法虛擬64位系統,而只能虛擬32位系統。因此只需設置宿主機BIOS中的Intel Virtualization爲ENABLE即可。
2.啓動LiveCD成功後,在未發現根目錄下有/lfs-sources,也就是未發現有LFS源碼包。
此時使用的LiveCD版本爲 “lfslivecd-x86-6.3-r2130-min.iso”(200M),然後測試了“fslivecd-x86_64-6.3-r2145-nosrc.iso”64位版本,也沒有看到有/lfs-sources目錄。雖然在README.txt中看到說有source目錄,但是還沒找到。懷疑是版本問題,則重新下載了本文的使用LiveCD版本"lfslivecd-x86-6.3-r2145.iso" 大小600M,則在根目錄中有源碼包。
這是LiveCD版本的問題,在進入系統的界面對該包的基本信息進行了說明:
"This CD does not include LFS sources."已經表明該CD內不包含源碼包,需要用戶自行下載。
如果包含則此處會表明源碼包存放路徑/lfs-sources,因此爲了方便可儘量下載包含源碼包的LiveCD。
3.關於遠程SSH登陸此臺虛擬Linux。
在虛擬機和Windows中來回切換實在麻煩,則採用putty遠程登陸該Linux。但是默認情況下putty是無法登陸該Linux虛擬機的,原因在於Linux未開啓ssh服務。
開啓ssh服務命令:/etc/rc.d/init.d/sshd start
開啓後即可遠程登陸Linux進行下一步操作,putty在登陸時需要該root密碼,但是默認情況下LiveCD中系統root未設置密碼,則需要重新設置。
重設root密碼命令:passwd
--------------------------------------------------------------------------------------
第一次寫此類博文,有些粗糙,積累亦做鞭策,堅持偏執。
2013-12-22