I have a working mender image of Debian Stretch 9.4, which is running on a Raspberry Pi 3 with a 128 GB SD card. The mender image was created using mender-convert 2.5.0, and is running client 2.6.1.
After standalone installing a Debian Bullseye mender artifact, the system fails to boot from the new rootfs partition. It just hangs there and displays the rainbow screen.
I’ve done a lot of investigating and have determined a few things:
- At boot of the new rootfs partition, the Pi is not reading the SD. There’s a quick 2 or 3 flashes of the ACT led, but then nothing.
- I examined the artifact with 7zip, and directory structure looked like what I expected.
- Same for the rootfs partition containing the installed artifact, I mounted it and and the directory structure looked good.
- The rootfs partition showed no system log entries at all after the failure, which is consistent with the ACT led observation that the SD was not read by the Pi.
- Examined the uboot partition and did not see any logging to indicate a problem.
- As an experiment, I committed the artifact install, and it failed to boot in the same way as previously.
One thing I have not done is burn the full Debian Bullseye mender image, and verify it will boot up successfully. That is my next test.
Is this boot failure a familiar issue? Related maybe to the mender-convert or client versions I am running? The behavior seems like the new rootfs partition is not readable by the SD, possibly pointing to the Bullseye artifact itself or the Debian partition as cause. I appreciate any suggestions, thanks.
The Debian filesystem looks like this:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 119.1G 0 disk ├─mmcblk0p1 179:1 0 44M 0 part /uboot ├─mmcblk0p2 179:2 0 8.3G 0 part / ├─mmcblk0p3 179:3 0 8.3G 0 part └─mmcblk0p4 179:4 0 102.5G 0 part /data
The Debian Bullseye artifact install:
test@im3-rack1:~ $ sudo mender -install /media/usb0/bullseye_image-raspberrypi3-mender.mender INFO Loaded configuration file: /var/lib/mender/mender.conf WARN No server URL(s) specified in mender configuration. WARN Server entry 1 has no associated server URL. INFO Mender running on partition: /dev/mmcblk0p2 INFO Start updating from local image file: [/media/usb0/bullseye_image-raspberrypi3-mender.mender] Installing Artifact of size 929918976... INFO No public key was provided for authenticating the artifact INFO Opening device "/dev/mmcblk0p3" for writing INFO Native sector size of block device /dev/mmcblk0p3 is 512 bytes. Mender will write in chunks of 1048576 bytes .............................................................. - 100 % INFO All bytes were successfully written to the new partition INFO The optimized block-device writer wrote a total of 4026 frames, where 12 frames did need to be rewritten (i.e., skipped) INFO Wrote 4221370368/4221370368 bytes to the inactive partition INFO Executing script: Download_Leave_01 INFO Collected output (stderr) while running script /etc/mender/scripts/Download_Leave_01 artifact_name=rack1_data_v6_runonce: Running Download_Leave_01 /etc/wpa_supplicant/* to newroot partition /etc/dhcpcd.conf to newroot partition /etc/hostname to newroot partition /etc/hosts to newroot partition ---------- end of script output INFO Enabling partition with new image installed to be a boot candidate: 3 Use -commit to update, or -rollback to roll back the update. At least one payload requested a reboot of the device it updated. test@im3-rack1:~ $
The changes I made to mender_convert_config for the Stretch conversion. The Bullseye artifact is using client 3.0.0:
- MENDER_ENABLE_SYSTEMD=n - MENDER_STORAGE_TOTAL_SIZE_MB="121940" - MENDER_DATA_PART_SIZE_MB="104904" - MENDER_CLIENT_INSTALL="y" - MENDER_CLIENT_VERSION="2.5.0"