From 6251ebfbe0808d5c792f12891f7d4f961cd6da8e Mon Sep 17 00:00:00 2001 From: Cyril Brulebois Date: Thu, 21 Oct 2021 16:47:55 +0200 Subject: [PATCH] Move the console= parameter for the serial console. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://salsa.debian.org/raspi-team/image-specs/-/issues/57 for detailed background. Summary, e.g. on the Pi 4: - fresh build and first boot means: console=ttyS1,115200 console=tty0 - after dpkg-reconfigure raspi-firmware has run, with the default settings: console=tty0 console=ttyS1,115200 Having some consistency across boots seems desirable (esp. when the Pi fails to boot and the hints are on a serial console which might not be wired), so insert the console= parameter for the serial console right before the root= parameter. Currently, the /etc/kernel/postinst.d/z50-raspi-firmware hook uses: ${pre_cmdline} root=$ROOTPART […] and console= parameters are inserted via ${pre_cmdline}, so inserting the serial console before root= should get us the same results. --- raspi_master.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/raspi_master.yaml b/raspi_master.yaml index e4383a0..5289525 100644 --- a/raspi_master.yaml +++ b/raspi_master.yaml @@ -137,14 +137,15 @@ steps: rm -rf /var/lib/apt/lists # Modify the kernel commandline we take from the firmware to boot from - # the partition labeled raspiroot instead of forcing it to mmcblk0p2 + # the partition labeled raspiroot instead of forcing it to mmcblk0p2. + # Also insert the serial console right before the root= parameter. # # These changes will be overwritten after the hardware is probed # after dpkg reconfigures raspi-firmware (upon first boot), so make # sure we don't lose label-based booting. - chroot: / shell: | - sed -i 's/^/console=__SERIAL_CONSOLE__ /' /boot/firmware/cmdline.txt + sed -i 's/root=/console=__SERIAL_CONSOLE__ root=/' /boot/firmware/cmdline.txt sed -i 's#root=/dev/mmcblk0p2#root=LABEL=RASPIROOT#' /boot/firmware/cmdline.txt sed -i 's/^#ROOTPART=.*/ROOTPART=LABEL=RASPIROOT/' /etc/default/raspi-firmware