hippy wrote: ↑Sun Jun 14, 2020 3:41 pm
With just the SD Card inserted, usual Boot Screen and booting, works fine, just as it did when I left it yesterday ...
Code: Select all
pi@Pi4B:~ $ uname -a
Linux Pi4B 5.4.45-v7l+ #1321 SMP Wed Jun 10 17:39:20 BST 2020 armv7l GNU/Linux
Code: Select all
pi@Pi4B:~ $ sudo rpi-eeprom-update
BCM2711 detected
Dedicated VL805 EEPROM detected
BOOTLOADER: up-to-date
CURRENT: Fri 12 Jun 10:55:44 UTC 2020 (1591959344)
LATEST: Wed 3 Jun 12:53:47 UTC 2020 (1591188827)
FW DIR: /lib/firmware/raspberrypi/bootloader/beta
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad
So that's "perfect" as far as I can see, 2020-06-12 in place. Onwards and upwards.
Powered down, removed the SD Card and inserted the 'was bootable' USB device. Powered-up ...
Red and green LED on permanently, no HDMI. "Nada"; a typical 'green light of death' situation.
Powered down, inserted SD Card, left the USB device connected, powered-up ...
As expected, HDMI comes on, Boot Screen appears, goes by too fast to read what's happening, boots from SD Card, green LED flashing on accesses, everything works as expected. Desktop appears, USB device mounted, looks as expected.
But darn it, back to 2020-04-16 Boot Eeprom image installed ...
Code: Select all
pi@Pi4B:~ $ uname -a
Linux Pi4B 5.4.45-v7l+ #1321 SMP Wed Jun 10 17:39:20 BST 2020 armv7l GNU/Linux
Code: Select all
pi@Pi4B:~ $ sudo rpi-eeprom-update
BCM2711 detected
Dedicated VL805 EEPROM detected
*** UPDATE REQUIRED ***
BOOTLOADER: update required
CURRENT: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
LATEST: Wed 3 Jun 12:53:47 UTC 2020 (1591188827)
FW DIR: /lib/firmware/raspberrypi/bootloader/beta
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad
I updated the Boot Eeprom to 2020-06-12. Re-booted with SD Card inserted, USB device removed, and that worked as expected. Still at 2020-06-12 Boot Eeprom. So okay again. A couple of further reboots without USB device connected and it stays the same.
Connect the non-bootable USB device and reboot. SD Boots and we are again reverted back to 2020-04-16.
So just plugging the USB device in and rebooting is reverting the Boot Eeprom.
Which led me to; 'recovery.bin', 'pieeprom.upd' and 'pieeprom.sig' being present on both SD Card /boot and USB device /boot.
Delete all those and reboot and they are gone on USB but reappear on SD. Presumably because what's installed is earlier than what release it's tracking.
Update once again to 2020-06-12. Reboot and, Tada!, USB booted. With USB removed booting from SD card works. With only USB that also works. Without either it falls back to network booting.
So I guess the issue is that Boot Eeprom updates happen before the boot media is determined so it can update from USB before booting SD and update from SD before booting from USB. And then one ends up in a circle of hell when what's updated doesn't match what's just booted.
I guess that if everything matches on everything one is booting, everything is set exactly the same, then everything is fine but when it isn't, that's when things break.
I must admit that I haven't figured out head from tail in the complexity which is Boot Eeprom auto-updating with FREEZE_VERSION, ENABLE_SELF_UPDATE, bootloader_update, 'apt full-upgrade', and the systemd update service. I guess I need to study the documentation. I'd stuck to defaults in the hope of avoiding things going wrong. I didn't think there was any possibility of an auto-downgrade but that seems to be what does happen in some circumstances.
I can't help but think it's far more complicated than it needs to be and I'm not going to be the only one who gets themselves into a complete mess.
Can't we just have it that 'apt full-upgrade' does it all, tells the user to reboot when they need to - or leave them to figure it out for themselves as for other cases, and let them hold back the rpi-eeprom package if they don't want to auto-update ?