Bug 2183031

Summary: Raspberry Pi 3 won't boot since 37.20230323.0
Product: [Fedora] Fedora Reporter: Jan <MachinaAntarctica>
Component: IoTAssignee: Peter Robinson <pbrobinson>
Status: CLOSED COMPLETED QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 37CC: pwhalen
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-31 14:33:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jan 2023-03-30 09:25:46 UTC
Description of problem:
After the new commit is selected in the boot menu I get the following error message:

error: ../../grub-core/loader/arm64/linux.c:57:invalid magic number.
error: ../../grub-core/loader/arm64/linux.c:297:you need to load the kernel first.

Version-Release number of selected component (if applicable):
37.20230317.0 works fine, 37.20230323.0 doesn't. The difference is mostly the update to kernel 6.2:

rpm-ostree db diff 09b5fc46658125207ccf466479e67685532471313db0d9c636a1939764d57678 66292630f21f127b03faf88d8bd85a24aa76be62a150dce13456d9919055d25f
ostree diff commit from: 09b5fc46658125207ccf466479e67685532471313db0d9c636a1939764d57678
ostree diff commit to:   66292630f21f127b03faf88d8bd85a24aa76be62a150dce13456d9919055d25f
Upgraded:
  container-selinux 2:2.201.0-1.fc37 -> 2:2.204.0-1.fc37
  containernetworking-plugins 1.1.1-8.fc37 -> 1.1.1-16.fc37
  kernel 6.1.18-200.fc37 -> 6.2.7-200.fc37
  kernel-core 6.1.18-200.fc37 -> 6.2.7-200.fc37
  kernel-modules 6.1.18-200.fc37 -> 6.2.7-200.fc37
  kernel-tools 6.1.5-200.fc37 -> 6.2.6-200.fc37
  kernel-tools-libs 6.1.5-200.fc37 -> 6.2.6-200.fc37
  mozjs102 102.8.0-1.fc37 -> 102.9.0-1.fc37
  tar 2:1.34-5.fc37 -> 2:1.34-6.fc37
  vim-data 2:9.0.1367-1.fc37 -> 2:9.0.1407-1.fc37
  vim-minimal 2:9.0.1367-1.fc37 -> 2:9.0.1407-1.fc37
Added:
  kernel-modules-core-6.2.7-200.fc37.aarch64



Additional info:

CoreOS appears to have a similar problem, this might provide further information: https://github.com/coreos/fedora-coreos-tracker/issues/1441

Should I try to run rpi-uboot-update?

Comment 1 Paul Whalen 2023-03-30 20:51:40 UTC
Unfortunately this is a result of an outdated bootloader that does not support the 6.2 kernel (more information - https://github.com/coreos/fedora-coreos-tracker/issues/1441 )

To fix this manually you need to update the bootloader. Before doing so it is recommended you back up any data. You should then be able to run:

cp /sysroot/ostree/deploy/fedora-iot/deploy/e5b7596f4a84020118bbc3b63c2291768ee975430dc8e050f6338048b7fc2a31.0/usr/lib/ostree-boot/efi/EFI/fedora/* /boot/efi/EFI/fedora/

You will need to adjust the commit based on your local deployment. After doing that you should be able to boot the new kernel.

Comment 2 Jan 2023-03-31 14:33:54 UTC
Thanks, it worked.

I mark this as closed/completed since it's probably too late to actually fix this by implementing some way to automatically update outdated bootloaders.

Comment 3 Paul Whalen 2023-03-31 16:19:57 UTC
(In reply to Jan from comment #2)
> Thanks, it worked.

Thanks for the update!

> 
> I mark this as closed/completed since it's probably too late to actually fix
> this by implementing some way to automatically update outdated bootloaders.

Unfortunately, yes. We're looking at it now for future releases.