[Bug 1925267] Re: u-boot unmatched dtb does not match kernel dtb

Launchpad Bug Tracker 1925267 at bugs.launchpad.net
Thu Jul 29 01:27:39 UTC 2021


This bug was fixed in the package u-boot - 2021.01+dfsg-3ubuntu0~20.04.1

---------------
u-boot (2021.01+dfsg-3ubuntu0~20.04.1) focal; urgency=medium

  * SRU of 2021.01+dfsg-3 from hirsute to enable booting on HiFive Unmatched
    LP: #1934791, LP: #1925267, LP: #1923162

  [ Dimitri John Ledkov ]
  * Import meta-sifive u-boot patches.
  * Enable sifive_hifive_unmatched_fu740 target.
  * Build-depend on opensbi with fu740 errata fix.
  * Set default FDT files for the sifive boards.
  * Set USE_PREBOOT on unmatched board too (just like unleashed & qemu),
    otherwise u-boot's fdtfile from itb is not used (i.e. when
    extlinux.conf does not specify fdtdir). LP: #1923162
  * Unapply unmatched patches, whilst building unleashed platform. Fixes
    failure to boot from sd-card on Unleashed. LP: #1924761
  * sifive-unleashed-default-fdt-files.patch: split into unleashed &
    unmatched separate patches, for ease of upstreaming to meta-sifive and
    u-boot upstreams. Also this ensures that unleashed target is built
    with fdtfile= set, as unleashed target unapplies lots of patches.
  * Apply upstreamed patch "cmd: pxe_utils: sysboot: fix crash if either
    board or soc are not set." This fixes a crash booting any
    extlinux.conf with fdtdir specified, and dtbfile not set and
    "soc"/"board" not set in the environment LP: #1923162

  [ William 'jawn-smith' Wilson ]
  * Re-added d/p/lzo-to-lzno.patch as lzop is in universe prior to Groovy
  * Updated d/targets for compatibility with focal arm-trusted-firmware
  * Updated d/control for compatibility with focal debhelper
  * Reinstate rpi-config-migration script for focal
  * Prevent stripping of qemu binaries under focal where strip doesn't
    recognize the format

  [ Dave Jones ]
  * In d/control update opensbi dependency for focal

 -- William 'jawn-smith' Wilson <william.wilson at canonical.com>  Fri, 25
Jun 2021 18:21:47 +0000

** Changed in: u-boot (Ubuntu Focal)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to u-boot in Ubuntu.
https://bugs.launchpad.net/bugs/1925267

Title:
  u-boot unmatched dtb does not match kernel dtb

Status in u-boot package in Ubuntu:
  Fix Released
Status in u-boot-menu package in Ubuntu:
  Fix Released
Status in u-boot source package in Focal:
  Fix Released
Status in u-boot-menu source package in Focal:
  Fix Released

Bug description:
  [Impact]

   * Without the fix, Unmatched images will not boot in qemu

  [Test Case]

   * `qemu-system-riscv64 \
          -machine virt -nographic -m 2048 -smp 4 \
          -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \
          -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \
          -device virtio-net-device,netdev=eth0 -netdev user,id=eth0 \
          -drive file=<unmatched image file>,format=raw,if=virtio`
   * Observe that the above command fails to boot the image in qemu
   * Build a new unmatched image with the version of u-boot-menu
     and u-boot in -proposed. Both are needed.
   * Re-run the above qemu command on the new image, and observe
     that it boots
   * Also boot the new image on HiFive Unmatched hardware to ensure it
     boots.

  [Regression Potential]
    While multiple hardware platforms use u-boot, the only Ubuntu
    image using u-boot-menu is the Unmatched. The risk of regression
    is therefore very low, and only the hardware boot and qemu boot
    need to be tested. 

  [Original Description]
  u-boot unmatched dtb does not match kernel dtb

  We have reverted u-boot-menu upload and stopped using kernel provided
  dtbs, because that was preventing booting hirsute images under qemu.
  As dtb generated by qemu should be used, and there is no kernel
  provided dtb for qemu platform.

  This resulted in unamtched board using dtb provided by u-boot, instead
  of loading and using dtb provided by the kernel builds.

  There are differences between u-boot & kernel dtbs that potentially
  break compat.

  There are two ways of fixing this:

  1) bring uboot dtb in-line with the kernel dtb

  2) fix qemu uboot to not load dtbs from disk, even when extlinux.conf
  asks to; and resume loading the matching kernel dtb from disk

  Option 1) sounds easier for release.

  The diff between u-boot's unmatched dtb & kernel provided dtb is at
  https://paste.ubuntu.com/p/YGKCvVM6yz/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1925267/+subscriptions




More information about the foundations-bugs mailing list