現(xiàn)在應(yīng)該配置 LFS 系統(tǒng),使其可以引導(dǎo)了。本章討論創(chuàng)建 /etc/fstab 文件,為新的 LFS 系統(tǒng)構(gòu)建內(nèi)核,以及安裝 GRUB 引導(dǎo)加載器,使得系統(tǒng)引導(dǎo)時可以選擇進(jìn)入 LFS 系統(tǒng)。
一些程序使用 /etc/fstab 文件,以確定哪些文件系統(tǒng)是默認(rèn)掛載的,和它們應(yīng)該按什么順序掛載,以及哪些文件系統(tǒng)在掛載前必須被檢查 (確定是否有完整性錯誤)。參考以下命令,創(chuàng)建一個新的文件系統(tǒng)表:
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# 文件系統(tǒng) 掛載點 類型 選項 轉(zhuǎn)儲 檢查
# 順序
/dev/<xxx> / <fff> defaults 1 1
/dev/<yyy> swap swap pri=1 0 0
# End /etc/fstab
EOF
將 、 和 替換為適用于您的系統(tǒng)的值,例如 sda2、sda5 和 ext4。
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/sda3 / ext4 defaults 1 1
/dev/sda4 swap swap pri=1 0 0
# End /etc/fstab
EOF
在掛載來源于 MS-DOS 或 Windows 的文件系統(tǒng) (如 vfat、ntfs、smbfs、cifs、iso9660、udf) 時,需要一個特殊的掛載選項 —— utf8,才能正常解析文件名中的非 ASCII 字符。
對于非 UTF-8 locale,選項 iocharset 的值應(yīng)該和您的 locale 字符集設(shè)定一致,但改寫成內(nèi)核可以識別的寫法。該選項能夠正常工作的前提是,將相關(guān)的字符集定義 (在內(nèi)核配置選項的 File Systems -> Native Language Support 子菜單中) 編譯到內(nèi)核中,或構(gòu)建為內(nèi)核模塊。然而,如果使用了 UTF-8 locale,對應(yīng)的 iocharset=utf8 會導(dǎo)致文件系統(tǒng)變得大小寫敏感。
為了避免這個問題,在使用 UTF-8 locale 時,需要用特殊選項 utf8 代替 iocharset=utf8。另外,vfat 和 smbfs 文件系統(tǒng)還需要“codepage”選項,它應(yīng)該被設(shè)定為您的語言在 MS-DOS 下的代碼頁編號。
例如,為了掛載一個 USB 閃存盤,一個 ru_RU.KOI8-R 用戶應(yīng)該在 /etc/fstab 中對應(yīng)于閃存盤的行添加下列掛載選項:
noauto,user,quiet,showexec,codepage=866,iocharset=koi8r
相應(yīng)的,ru_RU.UTF-8 用戶應(yīng)該使用下列選項:
noauto,user,quiet,showexec,codepage=866,utf8
注意此時使用的 iocharset 默認(rèn)為 iso8859-1 (這保證文件系統(tǒng)是大小寫不敏感的),而 utf8 選項告訴內(nèi)核使用 UTF-8 編碼轉(zhuǎn)換文件名,這樣它們就能在 UTF-8 locale 中被正確解析。
也可以在內(nèi)核配置中,為一些文件系統(tǒng)指定默認(rèn) codepage 和 iocharset 選項值。相關(guān)的配置參數(shù)名為“Default NLS Option” (CONFIG_NLS_DEFAULT),“Default Remote NLS Option” (CONFIG_SMB_NLS_DEFAULT),“Default codepage for FAT” (CONFIG_FAT_DEFAULT_CODEPAGE),以及 “Default iocharset for FAT” (CONFIG_FAT_DEFAULT_IOCHARSET)。無法在編譯內(nèi)核時為 ntfs 文件系統(tǒng)指定這些默認(rèn)值。
在某些硬盤上,通過將 barrier=1 掛載選項加入 /etc/fstab,可以使得 ext3 文件系統(tǒng)在發(fā)生電源故障時更可靠。為了檢查磁盤驅(qū)動器是否支持該選項,在可用的磁盤驅(qū)動器上運行 hdparm。例如:
hdparm -I /dev/sda | grep NCQ
如果輸出內(nèi)容不為空,說明該選項可用。
注意:基于邏輯卷管理 (LVM) 的分區(qū)不能使用 barrier 選項。
本次分享到此結(jié)束啦~
技術(shù)交流可以 關(guān)注公眾號:Lucifer三思而后行?
本文摘自 :https://blog.51cto.com/l