Ubuntu 15.10 mini iso 预置无法被识别

Ubuntu 15.10 mini iso 预置无法被识别

我从 Ubuntu 网站下载了一个 Ubuntu mini iso,并想进行完全自动化安装。我创建了一个预置文件(预播种

我使用 iso 中的这个文件创建了一个映像。

当我尝试使用 txt.cfg 中的以下内容启动它时。它询问我所有问题,但似乎没有从预置文件中获取任何内容。这是关于 Ubuntu 15.10 的

我尝试以不同的顺序提供参数并调整预置文件。我还尝试了 Ubuntu 服务器映像,但同样不起作用。

default install
label install
    menu label ^Install
    menu default
    kernel linux
    append file=/cdrom/pre.seed priotity=critical locale=en_US console-setup/layoutcode=us vga=788 initrd=initrd.gz quiet ---

我迄今为止尝试过的 txt.cfg 版本:配置文件

答案1

以下是我经过 30 个小时的折腾后得到的结果:

  • Ubuntu mini ISO 无法从 ISO 内部文件预先植入
  • Debian netinstall ISO 可以从 ISO 中的文件预先设置
  • Ubuntu 和 Debian Netinstalls 无法通过 SSL 检索预置文件

现在我创建了一个公共可用的 Web 服务器并从那里加载预置文件。Ubuntu 无法使用 ISO 中的预置文件的原因对我来说是个谜,但肯定有正当理由。

答案2

不确定在后续版本中是否有所改变,但对于 Ubuntu 16.04.2(使用 amd64 的 mini.iso),我必须使用以下选项通过 HTTP 进行预置:

auto=true priority=critial url=http://...

请注意添加auto=true(如果没有它,预置文件将不会被考虑)以及 的正确拼写priority。有关这些关键词含义的更多信息,请参阅手册:https://help.ubuntu.com/lts/installation-guide/amd64/apbs02.html

答案3

一个解决方案是提取initrd.gz,将预置文件添加到根路径并再次打包。在启动参数中file=/preseed.cfg

以下是如何做到这一点的示例

首先,获取压缩initrd.gz文件并解压:

mkdir preseeded
cd preseeded && gzip -d < path/to/initrd.gz | cpio -id

添加preseed.cfg文件并重新打包initrd:

cp mypreseed.cfg preseeded/preseed.cfg
cd preseeded && find . | cpio -o -H newC | gzip) > path/to/initrd.gz

我在 Ubuntu 18.04-LTS 和 20.04-LTS 上测试了此解决方案,两者都是最小 ISO。

当然,带有的选项url=http://xxx/ps.cfg不需要提取;可以在 Debian 和 Ubuntu 上正常运行。

auto=true priority=critical file=/preseed.cfg应从文件或网络添加的参数auto=true priority=critical url=http://xxx/ps.cfg

答案4

除了提取和重新打包之外,还有一种替代方法initrd.gz:将预置文件放入另一个 initrd(例如preseed.gz)并通过以下方式链式加载它

initrd=initrd.gz,preseed.gz

它的优点是不需要修改原始的 initrd 映像。

相关内容