Bug #2977

old u-boot packages removal: check mkscr and uEnv.txt

GNUtoo - about 3 years ago - . Updated about 3 years ago.

% Done:






Updated by GNUtoo about 3 years ago

ARM installation guide has:

13.1.2 U-Boot
Warning: Standalone uboot packages only work for a single kernel: linux-libre. If you use other or multiples kernels you should look for one of #U-Boot4Extlinux or #U-Boot4GRUB instead.

Installing the appropriate U-Boot package will copy the bootloader to your storage device's boot sector. Manual intervention shouldn't be necessary.

Once installed, you will need to run the following command to configure it:

# cd /boot && ./mkscr

So if we remove these packages:
  • We need to check if the resulting boot.scr boots fine with uboot4extlinux and / or make sure users migrate to extlinux.conf (the boot.scr takes precedence with the distro boot protocol)
  • We also need to do the same checks with uEnv.txt as some bootloader provided it, like one from 2017 for the Beaglebone black
  • We also need to make sure users can upgrade easily
  • Of course we need to make all supported machine supported by the uboot4extlinux ones, the I.MX one is still lacking some for now.

We will be able to use more recent ext4 filesystems features in the installation guide once all older u-boot have been removed.


Updated by biovoid about 3 years ago

I just updated my ≤2017 Parabola installation on BeagleBone Black rather trivially (well, pacman broke, but uboot was painless):

My setup was simple, with my uEnv.txt containing just `optargs=coherent_pool=1M` (default?). I updated my system, which updated uboot-am335x_bone to use boot.scr. I flashed the new uboot when prompted, ran `./mkscr` in /boot (for good measure; probably not needed as boot.scr existed after the update) and rebooted (the default config working fine). Once back in, I installed uboot4extlinux-am335x_bone (which renamed my boot.scr), and again flashed uboot when prompted. After double checking extlinux.conf (which incidentally proved fruitful, as I had to change mmcblk0p1 to mmcblk1p1 for eMMC), I rebooted once more, which again came back without issue.


Updated by biovoid about 3 years ago

I went back for more testing—with uboot4extlinux-am335x_bone in place, I restored my boot.scr (and removed extlinux.conf to be sure), and booted successfully.
Not too surprisingly, I did not have the same luck with uEnv.txt. Even copying MLO and u-boot.img to their pre-extlinux locations (up two levels), I was unable to boot.

Thus, to your first three bullets, from my tests on BBB:
  • If, as you indicate, boot.scr is sourced first, migrating recent uboot to uboot4extlinux should be seamless (at least the simplest configuration was).
  • Migrating from standard-issue uEnv.txt in old uboot to uboot4extlinux abandons prior working configuration, and possibly needs manual intervention to ensure the system remains bootable. If uEnv.txt is still acknowledged by uboot4extlinux (I don't know), perhaps some config might work, but even if possible I wouldn't count on users being set up with it.
  • Not sure where the threshold on "easy" lies, but upgrading/migrating was painless for a minimal config on this board, though not without gotchas coming from the 2017 style.

Also available in: Atom PDF