前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux From Scratch(LFS11.0)使 LFS 系统可引导 - 创建 /etc/fstab 文件

Linux From Scratch(LFS11.0)使 LFS 系统可引导 - 创建 /etc/fstab 文件

作者头像
Lucifer三思而后行
发布2021-10-08 10:26:36
8730
发布2021-10-08 10:26:36
举报
文章被收录于专栏:公众号:Lucifer三思而后行

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

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

代码语言:javascript
复制
cat > /etc/fstab << "EOF"
# Begin /etc/fstab

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

/dev/     /                defaults            1     1
/dev/     swap         swap     pri=1               0     0

# End /etc/fstab
EOF

将 、 和 替换为适用于您的系统的值,例如 sda2、sda5 和 ext4。

代码语言:javascript
复制
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 中对应于闪存盘的行添加下列挂载选项:

代码语言:javascript
复制
noauto,user,quiet,showexec,codepage=866,iocharset=koi8r

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

代码语言:javascript
复制
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。例如:

代码语言:javascript
复制
hdparm -I /dev/sda | grep NCQ

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

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


本次分享到此结束啦~

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档