[Bug 2052693] Re: u-boot-starfive does not contain a postinst script to update the board after package installation

Heinrich Schuchardt 2052693 at bugs.launchpad.net
Thu Feb 8 12:08:51 UTC 2024


Hello Scott,

thanks for taking a look at the u-boot-starfive.

The StarFive board has multiple boot options. The vendor U-Boot is
typically installed on SPI-flash. But you could also have U-Boot on the
eMMC or on the SD-card. I would assume that the GPIOs determining the
boot source could also be read in Linux.

When booting into Ubuntu 24.04 I see no /dev/mtd/by-name/ directory. We
don't have a udev rule for it.

In /proc/dev I find:

$ cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00080000 00001000 "spl"
mtd1: 00010000 00001000 "uboot-env"
mtd2: 00400000 00001000 "uboot"
mtd3: 00a00000 00001000 "reserved-data"

These partitions seem to be derived in the device-tree (cf.
arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi).


Best regards

Heinrich

-- 
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/2052693

Title:
  u-boot-starfive does not contain a postinst script to update the board
  after package installation

Status in u-boot package in Ubuntu:
  New

Bug description:
  u-boot-starfive distributes updates to SPL and  U-Boot, but it does
  not flash them to the board.  I think it would be useful if it
  followed the pattern of u-boot-sifive and included a postinst script
  to update the board.

  The script could look something like this.  NB:  I only have access to
  a StarFive VisionFive 2 v1.3B board.  Not sure if the other revisions
  are compatible with the SPL and U-Boot images in the u-boot-starfive
  package:

  #!/bin/sh

  ##

  set -e

  case "$1" in
      configure)
          target=""
          if grep -q '^StarFive VisionFive 2 v1.3B$' /sys/firmware/devicetree/base/model; then
              target="starfive_visionfive2"
          fi
          if [ -n "$target" ] && [ -e /dev/mtd/by-name/spl ] && [ -e /dev/mtd/by-name/uboot ]; then
              flashcp -v /usr/lib/u-boot/$target/u-boot-spl.bin.normal.out /dev/mtd/by-name/spl
              flashcp -v /usr/lib/u-boot/$target/u-boot.itb /dev/mtd/by-name/uboot
          fi
          ;;
  esac

  exit 0

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




More information about the foundations-bugs mailing list