Linux 内核启动参数 root=live:LABEL=$iso 是否是 Ubuntu Live 启动的有效选项,例如 Lubuntu 20.04 LTS?

Linux 内核启动参数 root=live:LABEL=$iso 是否是 Ubuntu Live 启动的有效选项,例如 Lubuntu 20.04 LTS?

Linux 内核启动参数 root=live:LABEL=$iso 是否是 Ubuntu Live 启动的有效选项,例如 Lubuntu 20.04 LTS?

我正在制作各种 GNU GRUB 2.04 菜单条目以启动 Lubuntu 20.04 LTS 的实时会话,并且它运行良好。在我的研究中,我发现了设置 GNU/Linux 环境根目录的参考,但我不确定它是否适用于 /casper 实时会话启动。我怀疑不是。我已经使用 GNU GRUB 环回循环参数来执行此操作 12 年了。

看这里:https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html

menuentry "Lubuntu 20.04.3 live no persistence" {
search -n -l T7 -s
set isolabel="Lubuntu 20.04.3"
set isofile=/lubuntu-20.04.3-desktop-amd64.iso
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image noeject noprompt
initrd (loop)/casper/initrd

}

上述菜单项的作用与下面的一样好:

menuentry "Lubuntu 20.04.3 live no persistence" {
search -n -l T7 -s
set isofile=/lubuntu-20.04.3-desktop-amd64.iso
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile ro noeject noprompt
initrd (loop)/casper/initrd

}

由于我找到该信息的 URL 是 dracut 的手册页,因此我怀疑内核参数仅适用于使用 dracut 创建的 initramfs 映像。

如果是这样,那么问题就变成了,上面的 iso 中的 initramfs found /casper 是否是用 dracut 创建的?也许源代码树会揭示这一点。

答案1

casper 的手册页以及来源回答了我的问题。

http://manpages.ubuntu.com/manpages/focal/en/man7/casper.7.html casper——initramfs-tools 的钩子,用于启动实时系统。

它使用 initramfs-tools 来构建 initramfs,而不是 dracut。

20.04 中 casper 的手册页和源代码显示 casper 脚本有一个名为 parse_cmdline() 的函数,其中不包含 root=LIVE:label。

请参阅手册页和/或所有命令行选项的源代码:https://git.launchpad.net/ubuntu/+source/casper/tree/scripts/casper?h=ubuntu/focal&id=30f3fc787f8f977e15b94f639e2fa50a3ae6bdf7

毕竟,请阅读手册。

相关内容