linuxfromscratch(lfs11.0)使lfs系统可引导-创建/etc/fstab文件(代码片段)

Lucifer三思而后行 Lucifer三思而后行     2023-01-11     613

关键词:

现在应该配置 LFS 系统,使其可以引导了。本章讨论创建 /etc/fstab 文件,为新的 LFS 系统构建内核,以及安装 GRUB 引导加载器,使得系统引导时可以选择进入 LFS 系统。

一些程序使用 /etc/fstab 文件,以确定哪些文件系统是默认挂载的,和它们应该按什么顺序挂载,以及哪些文件系统在挂载前必须被检查 (确定是否有完整性错误)。参考以下命令,创建一个新的文件系统表:

cat > /etc/fstab << "EOF"
# Begin /etc/fstab

# 文件系统     挂载点       类型     选项                转储  检查
#                                                              顺序

/dev/<xxx>     /            <fff>    defaults            1     1
/dev/<yyy>     swap         swap     pri=1               0     0

# End /etc/fstab
EOF

将 、 和 替换为适用于您的系统的值,例如 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 的文件系统 (如 vfat、ntfs、smbfs、cifs、iso9660、udf) 时,需要一个特殊的挂载选项 —— utf8,才能正常解析文件名中的非 ASCII 字符。

对于非 UTF-8 locale,选项 iocharset 的值应该和您的 locale 字符集设定一致,但改写成内核可以识别的写法。该选项能够正常工作的前提是,将相关的字符集定义 (在内核配置选项的 File Systems -> Native Language Support 子菜单中) 编译到内核中,或构建为内核模块。然而,如果使用了 UTF-8 locale,对应的 iocharset=utf8 会导致文件系统变得大小写敏感。

为了避免这个问题,在使用 UTF-8 locale 时,需要用特殊选项 utf8 代替 iocharset=utf8。另外,vfat 和 smbfs 文件系统还需要“codepage”选项,它应该被设定为您的语言在 MS-DOS 下的代码页编号。

例如,为了挂载一个 USB 闪存盘,一个 ru_RU.KOI8-R 用户应该在 /etc/fstab 中对应于闪存盘的行添加下列挂载选项:

noauto,user,quiet,showexec,codepage=866,iocharset=koi8r

相应的,ru_RU.UTF-8 用户应该使用下列选项:

noauto,user,quiet,showexec,codepage=866,utf8

注意此时使用的 iocharset 默认为 iso8859-1 (这保证文件系统是大小写不敏感的),而 utf8 选项告诉内核使用 UTF-8 编码转换文件名,这样它们就能在 UTF-8 locale 中被正确解析。

也可以在内核配置中,为一些文件系统指定默认 codepage 和 iocharset 选项值。相关的配置参数名为“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)。无法在编译内核时为 ntfs 文件系统指定这些默认值。

在某些硬盘上,通过将 barrier=1 挂载选项加入 /etc/fstab,可以使得 ext3 文件系统在发生电源故障时更可靠。为了检查磁盘驱动器是否支持该选项,在可用的磁盘驱动器上运行 hdparm。例如:

hdparm -I /dev/sda | grep NCQ

如果输出内容不为空,说明该选项可用。

注意:基于逻辑卷管理 (LVM) 的分区不能使用 barrier 选项。


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

linuxfromscratch(lfs11.0)构建lfs系统-inetutils-2.1(代码片段)

Inetutils软件包包含基本网络程序。安装Inetutils解压软件包:cd/sourcestarxfinetutils-2.1.tar.xzcdinetutils-2.1编译、检查并安装Inetutils:time./configure--prefix=/usr\\--bindir=/usr/bin\\--localstatedir=/v 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-less-590(代码片段)

Less软件包包含一个文本文件查看器。安装Less解压软件包:cd/sourcestarxfless-590.tar.gzcdless-590编译并安装Less:time./configure--prefix=/usr--sysconfdir=/etc&&make&&makeinstall;该软件包不包含测试套件。安装 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-diffutils-3.8(代码片段)

Diffutils软件包包含显示文件或目录之间差异的程序。安装Diffutils解压软件包:cd/sourcestar-xfdiffutils-3.8.tar.xzcddiffutils-3.8编译、检查并安装Diffutils:time./configure--prefix=/usr&&make&&makecheck& 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-ncurses-6.2(代码片段)

Ncurses软件包包含使用时不需考虑终端特性的字符屏幕处理函数库。安装Ncurses解压软件包:cd/sourcestarxfncurses-6.2.tar.gzcdncurses-6.2编译、检查并安装Ncurses:time./configure--prefix=/usr\\--mandir=/usr/share/man\\--with-shar 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-kmod-29(代码片段)

Kmod软件包包含用于加载内核模块的库和工具。安装Kmod解压软件包:cd/sourcestarxfkmod-29.tar.xzcdkmod-29准备编译Kmod:./configure--prefix=/usr\\--sysconfdir=/etc\\--with-xz\\--with-zstd\\--with-zlib编译该软件包:ma 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-grep-3.7(代码片段)

Grep软件包包含在文件内容中进行搜索的程序。安装Grep解压软件包:cd/sourcestarxfgrep-3.7.tar.xzcdgrep-3.7编译、检查并安装Grep:time./configure--prefix=/usr&&make&&makecheck&&makeinstall;安装完成后清理工作 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-psmisc-23.4(代码片段)

Psmisc软件包包含显示正在运行的进程信息的程序。安装Psmisc解压软件包:cd/sourcestarxfpsmisc-23.4.tar.xzcdpsmisc-23.4编译并安装Psmisc:time./configure--prefix=/usr&&make&&makeinstall;该软件包不包含测试套件。安装完成后清 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-清理系统(代码片段)

最后,清理在执行测试的过程中遗留的一些文件:rm-rf/tmp/*现在需要登出,并使用新的chroot命令行重新进入chroot环境。从现在起,在退出并重新进入chroot环境时,要使用下面的修改过的chroot命令:logoutchroot&... 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-清理系统(代码片段)

最后,清理在执行测试的过程中遗留的一些文件:rm-rf/tmp/*现在需要登出,并使用新的chroot命令行重新进入chroot环境。从现在起,在退出并重新进入chroot环境时,要使用下面的修改过的chroot命令:logoutchroot&... 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-automake-1.16.4(代码片段)

Automake软件包包含自动生成Makefile,以便和Autoconf一同使用的程序。安装Automake解压软件包:cd/sourcestarxfautomake-1.16.4.tar.xzcdautomake-1.16.4准备编译Automake:./configure--prefix=/usr--docdir=/usr/share 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-gperf-3.1(代码片段)

Gperf根据一组键值,生成完美散列函数。安装Gperf解压软件包:cd/sourcestarxfgperf-3.1.tar.gzcdgperf-3.1编译、检查并安装Gperf:time./configure--prefix=/usr--docdir=/usr/share/doc/gperf-3.1&&make& 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-gperf-3.1(代码片段)

Gperf根据一组键值,生成完美散列函数。安装Gperf解压软件包:cd/sourcestarxfgperf-3.1.tar.gzcdgperf-3.1编译、检查并安装Gperf:time./configure--prefix=/usr--docdir=/usr/share/doc/gperf-3.1&&make& 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-grub-2.06(代码片段)

GRUB软件包包含“大统一”(GRandUnified)启动引导器。安装GRUB解压软件包:cd/sourcestar-xfgrub-2.06.tar.xzcdgrub-2.06准备编译GRUB:./configure--prefix=/usr\\--sysconfdir=/etc\\--disable-efiemu\\--disable-werror编 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-shadow-4.9(代码片段)

Shadow软件包包含安全地处理密码的程序。安装Shadow解压软件包:cd/sourcestarxfshadow-4.9.tar.xzcdshadow-4.9禁止该软件包安装groups程序和它的man页面,因为Coreutils会提供更好的版本。sed-i's/groups$(EXEEXT)//'src/Makefile.infindman-name 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-bash-5.1.8(代码片段)

Bash软件包包含Bourne-AgainSHell。安装Bash解压软件包:cd/sourcestarxfbash-5.1.8.tar.gzcdbash-5.1.8准备编译Bash:./configure--prefix=/usr\\--docdir=/usr/share/doc/bash-5.1.8\\--without-bash-malloc\\- 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-libpipeline-1.5.3(代码片段)

Libpipeline软件包包含用于灵活、方便地处理子进程流水线的库。安装Libpipeline解压软件包:cd/sourcestar-xflibpipeline-1.5.3.tar.gzcdlibpipeline-1.5.3编译、检查并安装Libpipeline:time./configure--prefix=/usr&&make&& 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-libpipeline-1.5.3(代码片段)

Libpipeline软件包包含用于灵活、方便地处理子进程流水线的库。安装Libpipeline解压软件包:cd/sourcestar-xflibpipeline-1.5.3.tar.gzcdlibpipeline-1.5.3编译、检查并安装Libpipeline:time./configure--prefix=/usr&&make&& 查看详情

linuxfromscratch(lfs11.0)构建lfs系统-attr-2.5.1(代码片段)

Attr软件包包含管理文件系统对象扩展属性的工具。安装Attr解压软件包:cd/sourcestarxfattr-2.5.1.tar.gzcdattr-2.5.1编译并检查Attr:time./configure--prefix=/usr\\--disable-static\\--sysconfdir=/etc\\--docdir=/usr/s 查看详情