Bad Linux ARM64 Image magic

Bug #1938912 reported by Paul Larson
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-raspi-5.4 (Ubuntu)
Juerg Haefliger

Bug Description


On all pi devices we are testing (rpi3, 3b+, cm3, rpi4, etc...) when refreshing the kernel snap to the 5.4 kernel in 18-pi (r333), it fails to boot. Here's the serial log on the failed boot from one of those devices:

Hit any key to stop autoboot: 0
WARNING at /build/u-boot-GPcj9K/u-boot-2019.07+dfsg/drivers/mmc/bcm2835_sdhost.c:408/bcm2835_send_command()!
WARNING at /build/u-boot-GPcj9K/u-boot-2019.07+dfsg/drivers/mmc/bcm2835_sdhost.c:408/bcm2835_send_command()!
switch to partitions #0, OK
mmc0(part 0) is current device
Running uenvcmd ...
Saving Environment to FAT... OK
8624908 bytes read in 367 ms (22.4 MiB/s)
3947036 bytes read in 171 ms (22 MiB/s)
67581 bytes read in 22 ms (2.9 MiB/s)
Bad Linux ARM64 Image magic!

Armhf seems to be booting just fine after the refresh.

[Test Case]

See above.

[Where Problems Could Occur]

The worst that can probably happen is that the device won't boot, which is the current behavior. Well, since the kernel image is bigger I guess we could run out of disk space on the vfat partition...

Revision history for this message
Paul Larson (pwlars) wrote :

I also noticed just now that this kernel from the 20 track does seem to work fine on uc20 systems:
pi-kernel 5.4.0-1042.46 331 20/beta

Juerg Haefliger (juergh)
description: updated
Juerg Haefliger (juergh)
description: updated
Juerg Haefliger (juergh)
Changed in linux-raspi-5.4 (Ubuntu Bionic):
status: New → Fix Committed
Changed in linux-raspi-5.4 (Ubuntu):
status: New → Invalid
Changed in linux-raspi-5.4 (Ubuntu Bionic):
assignee: nobody → Juerg Haefliger (juergh)
importance: Undecided → High
Revision history for this message
Paul Larson (pwlars) wrote :

This appears to be fixed in the current beta kernel for 18-pi - 5.4.0-1042.46~18.04.3 r337

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (18.7 KiB)

This bug was fixed in the package linux-raspi-5.4 - 5.4.0-1042.46~18.04.3

linux-raspi-5.4 (5.4.0-1042.46~18.04.3) bionic; urgency=medium

  * bionic/linux-raspi-5.4: 5.4.0-1042.46~18.04.3 -proposed tracker
    (LP: #1938917)

  * Bad Linux ARM64 Image magic (LP: #1938912)
    - [Packaging] raspi-bionic: Build uncompressed arm64 kernel images

linux-raspi-5.4 (5.4.0-1042.46~18.04.1) bionic; urgency=medium

  * bionic/linux-raspi-5.4: 5.4.0-1042.46~18.04.1 -proposed tracker
    (LP: #1938037)

  [ Ubuntu: 5.4.0-1042.46 ]

  * focal/linux-raspi: 5.4.0-1042.46 -proposed tracker (LP: #1936532)
  * Packaging resync (LP: #1786013)
    - update dkms package versions
  * large_dir in ext4 broken (LP: #1933074)
    - SAUCE: ext4: fix directory index node split corruption
  * Some test in kselftest/net on focal source tree were not tested at all
    (LP: #1934282)
    - selftests/net: add missing tests to Makefile
  * curtin: install flash-kernel in arm64 UEFI unexpected (LP: #1918427)
    - [Packaging] Allow grub-efi-arm* to satisfy recommends on ARM
  * Add in net from ubuntu_kernel_selftests back (LP: #1934293)
    - Revert "UBUNTU: SAUCE: selftests/net -- disable test"
  * in net from ubuntu_kernel_selftests failed on F-OEM-5.6 /
    F-OEM-5.10 / F-OEM-5.13 / F / G / H (LP: #1880645)
    - selftests: icmp_redirect: support expected failures
  * Focal update: v5.4.128 upstream stable release (LP: #1934179)
    - dmaengine: ALTERA_MSGDMA depends on HAS_IOMEM
    - dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM
    - dmaengine: stedma40: add missing iounmap() on error in d40_probe()
    - afs: Fix an IS_ERR() vs NULL check
    - mm/memory-failure: make sure wait for page writeback in memory_failure
    - kvm: LAPIC: Restore guard to prevent illegal APIC register access
    - batman-adv: Avoid WARN_ON timing related checks
    - net: ipv4: fix memory leak in netlbl_cipsov4_add_std
    - vrf: fix maximum MTU
    - net: rds: fix memory leak in rds_recvmsg
    - net: lantiq: disable interrupt before sheduling NAPI
    - udp: fix race between close() and udp_abort()
    - rtnetlink: Fix regression in bridge VLAN configuration
    - net/sched: act_ct: handle DNAT tuple collision
    - net/mlx5e: Remove dependency in IPsec initialization flows
    - net/mlx5e: Fix page reclaim for dead peer hairpin
    - net/mlx5: Consider RoCE cap before init RDMA resources
    - net/mlx5e: allow TSO on VXLAN over VLAN topologies
    - net/mlx5e: Block offload of outer header csum for UDP tunnels
    - netfilter: synproxy: Fix out of bounds when parsing TCP options
    - sch_cake: Fix out of bounds when parsing TCP options and header
    - alx: Fix an error handling path in 'alx_probe()'
    - net: stmmac: dwmac1000: Fix extended MAC address registers definition
    - net: make get_net_ns return error if NET_NS is disabled
    - qlcnic: Fix an error handling path in 'qlcnic_probe()'
    - netxen_nic: Fix an error handling path in 'netxen_nic_probe()'
    - net: qrtr: fix OOB Read in qrtr_endpoint_post
    - ptp: improve max_adj check against unreasonable values
    - net: cdc_ncm: switch to eth%d interface naming
    - lanti...

Changed in linux-raspi-5.4 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers