寫在前面
本文將會詳細記錄LFS中,構(gòu)建分區(qū),構(gòu)建文件系統(tǒng)和掛載分區(qū)的全過程
?
準備新硬盤
為了更加符合“從零開始構(gòu)建Linux”的要求,我在虛擬機中,新建了一個磁盤
注意:原先的20GB的磁盤中,需要有一個已經(jīng)安裝好的Linux操作系統(tǒng)
創(chuàng)建方法:編輯虛擬機設(shè)置——硬件,添加——硬盤——SCSI(S)——創(chuàng)建新虛擬磁盤——最大磁盤大小40GB,將虛擬磁盤拆分成多個文件——磁盤文件命名隨意——完成
虛擬機設(shè)置如下圖所示:
注意:新創(chuàng)建的磁盤,在“高級”中可以設(shè)置虛擬設(shè)備節(jié)點,虛擬設(shè)置節(jié)點請采用默認,即$SCSI 0:1$對應(yīng)新磁盤,$SCSI 0:0$對應(yīng)磁盤。
警告:原Ubuntu所安裝的磁盤,務(wù)必掛載為第一塊磁盤,因為其它磁盤內(nèi)沒有引導(dǎo),不掛載為第一塊磁盤將導(dǎo)致無法開機。
?
?我們將會在這個新磁盤上構(gòu)建所需的分區(qū)和文件系統(tǒng),并對其進行掛載
創(chuàng)建新磁盤后,我們啟動虛擬機,輸入sudo fdisk -l,查看當前虛擬機磁盤的情況
如上所示,有sda和sdb兩個硬盤,其中SCSI 0:0被識別為了sda,SCSI 0:1被識別為了sdb
其中sda所掛載的是當前系統(tǒng),分了三個區(qū),分別是Linux,Extended和Swap
sdb為我們剛創(chuàng)建的新硬盤,尚未進行分區(qū)
?
分區(qū)
根據(jù)書中的要求,我們要對即將構(gòu)造lfs的磁盤sdb進行分區(qū)。
我們將其分成三個分區(qū),分別為boot,swap,root。其中:
boot分區(qū)用于進行系統(tǒng)引導(dǎo),且是sdb的第一個分區(qū),分區(qū)大小為256MB。設(shè)置為第一個分區(qū)的原因是:用于系統(tǒng)引導(dǎo)的分區(qū)一定要是第一塊磁盤的第一個分區(qū)。
(有同學(xué)可能會問:sdb現(xiàn)在并不是第一個分區(qū),在第11章,你將會看到我如何將sda和sdb互換)
swap分區(qū)用于進行內(nèi)存交換,分區(qū)大小為2G。該分區(qū)將用于進行內(nèi)存交換(當運行內(nèi)存不足時將會發(fā)生交換)
root分區(qū)為主分區(qū),整個LFS系統(tǒng)將會構(gòu)造在其中
?
構(gòu)建boot分區(qū)的過程如下,注意,我輸入的內(nèi)容均在冒號的后面
比如Command (m for help): p中的p
我們可以看到/dev/sdb1已經(jīng)出現(xiàn)
?
我們可以通過同樣的方法,構(gòu)造出/dev/sdb2用于swap分區(qū),構(gòu)造、dev/sdb3用于root分區(qū)
完成分區(qū)后的磁盤狀態(tài)如圖所示:
在完成上述設(shè)置后,記得輸入w并回車,以保存對磁盤分區(qū)的修改
修改完成后將出現(xiàn)以下提示:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
?
在分區(qū)上創(chuàng)建文件系統(tǒng)
我們可以依次輸入下列指令,實現(xiàn)文件系統(tǒng)的創(chuàng)建
我們需要將boot分區(qū)(/dev/sdb1)和root分區(qū)(/dev/sdb3/)設(shè)置為ext4文件系統(tǒng)
對于swap分區(qū)(/dev/sdb2),我們需要將其設(shè)置為交換目錄,命令如下
mkfs -v -t ext4 /dev/sdb1 mkfs -v -T small -t ext4 /dev/sdb3 mkswap /dev/sdb2
創(chuàng)建完成后,我們可以先輸入parted /dev/sdb ,再輸入print list查看分區(qū)文件系統(tǒng)類型
?
此時我們可以在Files中,看到兩個剛創(chuàng)建的磁盤(對應(yīng)root分區(qū)和boot分區(qū))
?
設(shè)置$LFS環(huán)境變量
在接下來的配置中,為了方便設(shè)置,我們將多次使用LFS變量
設(shè)置LFS的代碼如下:
export LFS=/mnt/lfs
我們可以使用echo $LFS進行確認
經(jīng)確認,環(huán)境變量已正確設(shè)置
警告:整個創(chuàng)建過程中務(wù)必確保LFS變量有效,在切換用戶時(如從alphainf切換到root,tester,chroot,lfs)時務(wù)必確保LFS有效
?
掛載分區(qū)
警告:務(wù)必確保掛載正確,否則你將喜提重做(筆者就重做了一次才成功)
我們創(chuàng)建文件夾/mnt/lfs,并將root分區(qū)(/dev/sdb3)掛載到/mnt/lfs中,代碼如下:
mkdir -pv $LFS mount -v -t ext4 /dev/sdb3 $LFS
我們創(chuàng)建文件夾$LFS/boot,并將boot分區(qū)(/dev/sdb1)掛載到$LFS/boot下,代碼如下:
mkdir -v $LFS/boot mount -v -t ext4 /dev/sdb1 $LFS/boot
我們可以輸入df -h查看掛載的情況,可以看到/dev/sdb1和/dev/sdb3已經(jīng)完成掛載
我們用下面這條指令掛載swap分區(qū)
/sbin/swapon -v /dev/sdb2
至此,第二章已經(jīng)完成?
本文摘自 :https://www.cnblogs.com/