#33 Fedora IoT doesn't boot fallback and get's stuck in grub
Opened 3 years ago by w4tsn. Modified 3 years ago

By accident I did a rpm-ostree rebase to an arm64 branch on a amd64 machine. The rebase worked except for the last senity check. The new deployment got staged anyway.

After reboot the system got stuck in the grub boot menu. Only by connecting a USB keyboard, rebooting and pressing a key to select the first boot option the boot process could be resumed. An error was shown immediately, that the vmlinuz had an invalid signature.

Although the boot error was to be expected after the semantically false rebase, the system should at least reboot into the previous working state.

On top of that it's questionable if a rebase like in this situation should be allowed / successful in the first place.

I'm using latest IoT F32, build yesterday.


By accident I did a rpm-ostree rebase to an arm64 branch on a amd64 machine. The rebase worked except for the last senity check. The new deployment got staged anyway.

Hmm this definitely sounds like an rpm-ostree or ostree bug. Can you paste the full output from the journal?

Re. making it disallowed entirely, see https://github.com/ostreedev/ostree/pull/2121 which started on this.

Hmm this definitely sounds like an rpm-ostree or ostree bug. Can you paste the full output from the journal?

IMO the support for multi arch is somewhat of a hack by doing it in different branches, ostree/rpm-ostree client could handle this generally a lot better even if behind the scenes it's still just different branches.

Hmm this definitely sounds like an rpm-ostree or ostree bug. Can you paste the full output from the journal?

I'll reproduce it later today and see what I can give you

IMO the support for multi arch is somewhat of a hack by doing it in different branches, ostree/rpm-ostree client could handle this generally a lot better even if behind the scenes it's still just different branches.

Maybe a mis-understanding, maybe not: I'm using a CI Pipeline to build the ostree "branches". Depending on the git-branch the pipeline is running on it creates different branches (e.g. develop, stable, whatever-feature-needs-testing) via ostree command on a central repo hooked into the CI runner. So I'm unsure if that's really a bad thing to do, is it?

Apart from that from your point of view is this state, where I'm not able to recover to a working deployment without manual, physical intervention, something that needs to be fixed or that shouldn't actually happen because why would I change archs? I don't care much about the changing archs, that was just my mistake, as for reaching a state where I can't recover from. Maybe the root cause could influence other situations as well?

EDIT:

Maybe a mis-understanding, maybe not: I'm using a CI Pipeline to build the ostree "branches". Depending on the git-branch the pipeline is running on it creates different branches (e.g. develop, stable, whatever-feature-needs-testing) via ostree command on a central repo hooked into the CI runner. So I'm unsure if that's really a bad thing to do, is it?

OK, just had another look at it. I'm actually retrieving the architecture from the build host and use it in the rpm-ostree compose tree command for the branch parameter while I could also rely on rpm-ostree

Login to comment on this ticket.

Metadata