我有一个正常工作的 PXE 启动,并且可以通过 PXE 和 NFS 成功安装 16.04 桌面。
现在我正在尝试自动化 PXE 安装,但我无法跳过要求我输入语言的安装“欢迎”屏幕。
我已阅读过: https://wiki.ubuntu.com/UbiquityAutomation 和 https://help.ubuntu.com/16.04/installation-guide/amd64/apbs01.html
这是我的 pxe 启动命令:
LABEL Ubuntu 16.04 64-bit -- PRESEED
KERNEL Ubuntu/16.04/amd64/vmlinuz.efi
APPEND automatic-ubiquity file=/srv/install/ubuntu/16.04/amd64/preseed/custom.seed boot=boot=casper netboot=nfs nfsroot=myip:/srv/install/ubuntu/16.04/amd64 initrd=Ubuntu/16.04/am64/initrd.lz
这是 custom.seed 的顶部
ubiquity languagechooser/language-name select English
ubiquity localechooser/supported-locales multiselect en_US.UTF8
d-i debian-installer/locale string en_GB.utf8
但这些似乎足以解答安装程序的第一个问题。
我怎样才能通过第一个欢迎/语言屏幕?
编辑:我正在使用通过 UI 加载的 CD 桌面映像,您可以在其中单击 CD cion 进行安装,而不是网络启动映像。
答案1
诀窍最终是修改 PXE 条目中的内核启动命令行(例如在 grub.cfg 或 txt.cfg 文件或类似文件中),添加debian-installer/language=en
。
例如,我的网络启动设置的 grub.cfg 有以下条目:
menuentry "Desktop 20.04 Installer" {
set gfxpayload=keep
linux ubuntu2004/vmlinuz ip=dhcp nfsroot=192.168.0.1:/netboot/nfs/ubuntu2004 netboot=nfs ro file=/cdrom/preseed/ubuntu.seed boot=casper systemd.mask=tmp.mount automatic-ubiquity fsck.mode=skip noprompt keyboard-configuration/layoutcode=us debian-installer/language=en --
initrd ubuntu2004/initrd
}
(这可能适用于组合使用预置文件中的条目。添加上述内容后,我没有测试删除这些内容……)
我是如何想到这一点的:
- 我已经成功地用自己的安装预先植入了其他所有内容,因此在这里拥有非零的知识/经验......
- 和你一样,我也在
ubiquity languagechooser/language-name select English (US)
我的预置文件中有这个。没有测试过,但我怀疑更改这个会改变 GUI 中最初选择的语言... - 引用https://help.ubuntu.com/lts/installation-guide/s390x/apbs02.html#preseed-auto,其中讨论了内核命令参数(但没有给出任何非预先设置的片段的示例):我之前一直在使用一个
keyboard-configuration/layoutcode=us
参数,该页面建议了几个参数,包括debian-installer/language=en
。 - 从过去的安装中,查看
/var/log/installer/syslog
映像系统,我发现提到的参数:
Oct 16 00:37:33 ubuntu localechooser: info: debian-installer/language preseeded to 'en' (seen: false)
Oct 16 00:37:33 ubuntu localechooser: info: debian-installer/country preseeded to 'US' (seen: true)
Oct 16 00:37:33 ubuntu localechooser: info: debian-installer/locale preseeded to 'en_US.UTF-8' (seen: true)
- 注意其他两个参数是如何的
seen: true
......这给了我尝试该参数的信心。 - 虽然线条看起来仍然如此后添加内核命令行参数,添加后
debian-installer/language=en
,一切自动运行,并且该参数现在在此初始系统日志中被标记为“已看到”。