我正在开展一个项目,定制 ubuntu 桌面 iso 以添加/删除软件包并最终使其启动到 RAM。这是我的总体想法。
- 创建可刷入 USB 并用于启动目标机器的自定义操作系统
- 启动后,运行一个脚本,在我的硬盘上创建一个持久分区,并将 iso 复制到该分区
- 运行脚本后,每次启动都应使用分区中的映像并启动到 RAM。
- 在启动时,安装应该自动进行。
背景
我能够在 Debian stretch 中实现上述功能,我认为它会相当简单,并尝试重用 Ubuntu 的脚本。毫不奇怪,我错了。然后我开始在线联系。学习并尝试了以下步骤。
- 阅读完这篇文章后使用了 Cubic -创建一个无人值守的 ubuntu 18.04 live cd,在演示(试用 ubuntu)环境中运行,并预先做好各种步骤无法从 RAM 启动。还尝试了
toram
选项 - 不起作用 - 对于自动安装,我参考了这个 git 仓库我可以通过修改 preseed 和 isolinux/txt.cfg 文件来实现这一点。
- 还请阅读以下教程:
- https://help.ubuntu.com/community/LiveCDCustomization- 我相信这和 Cubic 内部做的事情类似。除了了解内部工作原理外,没什么用。
- https://wiki.ubuntu.com/BootToRAM- 超级过时,作者甚至提到的一些步骤不干净。
我在寻找什么?
- 我了解如何通过解压、更改根目录和安装软件包来定制 Ubuntu——我有能力做到这一点。
- 通过修改预置文件在无人值守的情况下完成安装 - 没有问题
- 每次启动时,必须将硬盘永久分区中的操作系统复制到 RAM - 尝试了很多次,但无济于事。此外,这可能与 grub.cfg 和 isolinux/txt.cfg 有关。不确定。
我确信我做错了什么。如果我表现得像个傻瓜,请原谅我。我可能没有恰当地使用行话。此外,我可以改进这个问题,并根据您的要求提供更多信息。我必须从某个地方开始!谢谢
編輯
根据评论,我尝试了以下方法。请注意,我使用的是立方。
- 启动选项目录如下所示:
- 未编辑的 boot/grub/grub.cfg 如下所示:
- 我的修改:
- 未修改的 isolinux/txt.cfg 如下所示,我删除了里面的所有内容:
- 不幸的是,这是我的输出:
我非常困惑要修改哪些文件。我不明白什么时候使用 isolinux,什么时候使用 grub.cfg。我是否必须以相同的方式修改两者?有人能帮我解决这个问题吗?