Dracut 原生挂载 OverlayFS Root

Dracut 配置 需要手动导入模块,不可以使用hostonly模式,即配置中hostonly="no"。 /etc/dracut.conf ---------- hostonly="no" add_drivers+=" squashfs overlay " add_dracutmodules+=" dmsquash-live " 因为关闭了 hostonly 模式,所以 lvm 等配置需要手动写入内核参数。 准备镜像 镜像可以放入可挂载文件系统,或直接烧录进分区。在此介绍放入挂载文件系统情况。 镜像内部至少需要 proc,sys,dev。其中 90dmsquash-live 使用 /proc 检测是否为正确的系统格式。98dracut-systemd 使用 usable_root() 函数,该函数使用 /proc,/sys,/dev 检测是否和正确的系统格式。建议也创建 /run 文件夹。 镜像放在内核参数<rd.live.dir>/<rd.live.squashimg>。这两个参数默认值为 LiveOS 和 squashfs.img 即默认放入 LiveOS/squashfs.img 即可。 OverlayFS 持久化分区准备 该分区需要在根目录下创建内核参数 <rd.live.overlay> 目录作为 upperdir。并且在上级目录创建 ovlwork 文件夹作为 workdir。<rd.live.overlay>默认为`/<rd.live.dir>/overlay--",其中LABEL和UUID为ROOT分区的LABEL和UUID。持久化不仅可以用文件夹,也可以使用文件,在此不介绍。 内核参数 root=live:分区: 存放镜像的分区。 rd.live.overlay=分区:目录: OverlayFS 的 upperdir,目录必须由/开头。 rootfstype=ext4: root 分区的文件类型。

May 12, 2022 · 1 min · 张某

Dracut 开机自动创建 Lvm 快照

Dracut-056之前版本 内核参数加入以下参数即可,其中 ORIG_LV 为快照源, SNAP_LV 为快照名.每次启动都会删除 SNAP_LV 并创建新的 SNAP_LV . rd.lvm.snapshot="ORIG_LV:SNAP_LV" Dracut-056及之后版本 在Dracut-056中删除了快照功能,需要自己创建快照脚本。

April 30, 2022 · 1 min · 张某

非特权用户使用 Xorg

问题 在 Gentoo 下 startx 启动 i3wm 时,报告 parse_vt_settings cannot open /dev/tty0 permission 解决方法 rc-update add elogind boot /etc/init.d/elogind start ##参考 Non root Xorg

April 20, 2022 · 1 min · 张某

自签名安全启动 Grub 设置

最近配置了自签名的安全启动。生成证书可以参考 ArchWiki 因为启用安全启动grub会启动验证模式,会对所有从硬盘读取的文件进行签名验证,如果要从硬盘读取模块需要给所有的模块签名。为了避免麻烦可以生成 standalone 的 efi 文件,该文件包含一个 memdisk 其包含了所有的模块。并且我们没有使用垫片,可以关闭垫片验证程序( disable-shim-lock ),所以生成命令如下。 grub-mkstandalone --directroy /usr/lib/grub/x86_64-efi --format x86_64-efi --disable-shim-lock --output grub.efi /boot/grub/grub.cfg=grub-pre.cfg 其中 /boot/grub/grub.cfg=grub-pre.cfg 代表将 grub-pre.cfg 放入 memdisk 的 /boot/grub/grub.cfg 中。grub-pre.cfq 为grub启动后执行的第一个配置,负责基础的模块调用。内容如下。其中必须要加载 tpm 模块对内核进行验证。 insmod part_gpt insmod mdraid09 insmod mdraid1x insmod ext2 insmod lvm insmod luks insmod tpm cryptomount .... set root=... configfile /grub/grub.cfg 参考 Grub 帮助论坛 Gentoo 帮助论坛

April 20, 2022 · 1 min · 张某