I've been using Debian preseed files for a while now doing netinstalls of Debian and Ubuntu.
Ubuntu 20.04 has a weird video problem even on the text terminal. After install, sometimes you can't see anything. The host is working over the network properly but nothing on vga output.
Adding nomodeset to the kernel commmandline list fixes it.
I'd like to just add nomodeset to the kernel args that the system is installed with but I'm having a heck of a time finding the preseed option for specifying additional kernel arguments / kernel commandline.
I tried merely adding nomodeset during the launch of the installer but that didn't appear to take hold on the installed environment eiher.
What is the proper way in a Debian Installer preseed file, to specify additional kernel arguments that should be applied to the installed system?
Not every kernel parameter is carried over from how you launch your installer, but you can specify this in your argument list.
From the documentation for installing Ubuntu 20.04 (arch-specific, I am linking to amd64), chapter "Boot Parameters":
That triple dash is the key to telling the installer that the kernel command line parameters following it are not just meant to work around issues during installation, but should also be persisted in bootloader configuration - such as
/etc/default/grub
.This was historically just two dashes, and is - for the most common bootloader grub - respected both by the newer curtin ("autoinstall", see commands/install_grub.py) and the traditional d-i ("preseed", I have no clue where this is implemented, but I have used it).
In any case, please keep in mind what Linux upstream says about forcing text mode: "Unless you actually understand what nomodeset does, you should reboot without enabling it" and try to raise the issue with the distribution (or if its not just Ubuntu) or kernel maintainers instead of just hoping that
nomodeset
will make the problem go away long enough.Strictly speaking, the proper way is probably preseeding the
grub2/linux_cmdline
string, but that hasnt worked for me while the carry-over-from-installer-cmdline trick worked, so for now, the latter is my answer.