Uploaded image for project: 'Mender'
  1. Mender
  2. MEN-5884

Make proposal for making Raspbian 2022-09-06 and later images compatible with Mender's partition layout

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Rejected
    • Priority: Blocker
    • Resolution: Won't Do
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
    • Story Points:
      3
    • Backlog:
      yes
    • Days in progress:
      0

      Description

      In https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2022-09-07/2022-09-06-raspios-bullseye-armhf-lite.img.xz (and presumably later images), the maintainers have added a script in /usr/lib/raspberrypi-sys-mods/firstboot which does several unrelated things. One of the things is partition and resize the root partition to fill the available space. This requires the device to have only one partition 1 which makes it incompatible with Mender's partition layout. Fixing this is not easy because of the hardcoded and highly unfocused nature of the script (it also does wifi configuration).

      It's possible, but very complicated, to patch the script. Therefore a better approach might be to try to work with upstream to make this script more modular and/or more forgiving of different setups.

      1 The reasons for it are a bit strange. Ordinarily the script only checks whether the boot and root partition are on the same storage device, but since this executes very early in boot process there is some loopback magic going on which makes it think that they are on different devices if they are not the one and same partition. In addition the root partition must be the last partition, which is also incompatible. The script is the first thing to execute:

      /boot/cmdline.txt:console=serial0,115200 console=tty1 root=${mender_kernel_root} rootfstype=ext4 fsck.repair=yes rootwait init=/usr/lib/raspberrypi-sys-mods/firstboot
      

      Because this depends on a third party, we'll organize it like this: We'll give this a low estimate, and the goal is to communicate with upstream to try to come to get to an agreement about what to do about it. Then an actual work task can be created.

      Acceptance criteria:

      • Communicate with Raspberry Pi OS maintainers, tell them about the problem, and suggest solutions to them.
      • Come to an agreement about what to do, and who should do it.
      • Create a work task, if appropriate.

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            a10040 Kristian Amlie
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: