2020-05-11 23:04:11 |
Dimitri John Ledkov |
description |
Attempting to automate the installation of Ubuntu Server 20.04 on a variety of machines, some that use isolinux and others that require UEFI+grub2. Booting the installer works fine on all machines tested, but adding ds=nocloud;s=<path-to-file> and ds=nocloud-net;s=<url> do not work for machines that boot via UEFI+grub2. These parameters work fine from the same install media on machines that boot via isolinux. For ds=nocloud;s=<path-to-file>, custom ISO images were used. Both adding meta-data and user-data to the cdrom and to installer.squashfs failed under UEFI, and yet both work fine for isolinux. Also, ds=nocloud-net;s=<url> failed under UEFI for both the custom ISO images and for the standard images. Both the release version of 20.04 and the latest groovy daily build from 2020-05-11 were tested. For test machines that require UEFI+grub2 automated installation appears to be impossible while using ds=...;s=... options. Install logs attached. Tests were performed by inserting an early command: "echo EARLY COMMANDS" into user-data and then checking the log files for the string "EARLY COMMANDS". This proved to be sufficient for testing isolinux boots without the need for a complete installation. For s=<url>, log files were checked after networking was established. |
cloud-init docs are not clear that ';' in kernel cmdline is potentially missmarsed by bootloaders, and thus the values passed to ds= should be ideally escaped like ds='all the settings' because \; to separate key-value pairs can be eaten easily. see the below confusing where most of the cmdline after and including ';' got discarded
--
Attempting to automate the installation of Ubuntu Server 20.04 on a variety of machines, some that use isolinux and others that require UEFI+grub2. Booting the installer works fine on all machines tested, but adding ds=nocloud;s=<path-to-file> and ds=nocloud-net;s=<url> do not work for machines that boot via UEFI+grub2. These parameters work fine from the same install media on machines that boot via isolinux. For ds=nocloud;s=<path-to-file>, custom ISO images were used. Both adding meta-data and user-data to the cdrom and to installer.squashfs failed under UEFI, and yet both work fine for isolinux. Also, ds=nocloud-net;s=<url> failed under UEFI for both the custom ISO images and for the standard images. Both the release version of 20.04 and the latest groovy daily build from 2020-05-11 were tested. For test machines that require UEFI+grub2 automated installation appears to be impossible while using ds=...;s=... options. Install logs attached. Tests were performed by inserting an early command: "echo EARLY COMMANDS" into user-data and then checking the log files for the string "EARLY COMMANDS". This proved to be sufficient for testing isolinux boots without the need for a complete installation. For s=<url>, log files were checked after networking was established. |
|