Automated VL805 (USB) EEPROM / bootloader EEPROM updater now available for gentoo-on-rpi-64bit
All,
as you are no doubt aware, unlike its predecessor, the RPi4B contains a
bootloader EEPROM (which replaces bootcode.bin) and also has another EEPROM region holding its
VL805 USB chip's firmware. Several updates to both have been made available since launch, offering various bugfixes, additional features, improved power efficiency etc. (e.g., [1,2,3]), so it is well worth keeping them current.
On the Raspbian OS, the package
rpi-eeprom may be used to automatically keep both of these on-board firmware components up-to-date, which is very convenient.
Well, I'm pleased to announce this automated update facility is now also available for Gentoo also! To get it, just run:
Code: Select all
demouser@pi64 ~ $ sudo emaint sync --repo genpi64
to refresh your repository metadata, then:
Code: Select all
demouser@pi64 ~ $ sudo emerge -v rpi4-eeprom-updater
to install the EEPROM update service (and current images [4]).
Once complete, reboot.
That's it! Now, each time you boot, your bootloader EEPROM and VL805 firmware EEPROM image versions will automatically be checked, by the
rpi4-eeprom-updater package's startup service, against the current version images provided by the RP{F,T} (themselves pulled in via the dependency package
dev-embedded/rpi4-eeprom-images). If either has changed,
appropriate files will be written to your /boot partition (the
script that does this is taken directly from the Raspbian rpi-eeprom package) such that on the
next boot, a one-time recovery.bin bootloader will cause the image(s) to be (safely) reflashed. You can check the end of the file /var/log/rc.log after boot, to see if any updates are pending.
A weekly cron job on my build server checks the upstream
rpi-eeprom package for updated debs, and, if any are found, automatically creates new counterpart ebuilds (
dev-embedded/rpi4-eeprom-images and
dev-embedded/rpi4-eeprom-updater), and pushes these to the
genpi64 repo. That, in turn, means they will automatically get propagated to your machine via the usual
weekly genup process (and then installed, on next boot, by the rpi4-eeprom-updater service as just described).
By default, only "critical" updates to the boot EEPROM and VL805 firmware are applied. If you would like (at your own risk) to apply even
beta firmware as soon as it is available, edit the file /etc/default/rpi-eeprom-update and change:
Code: Select all
FIRMWARE_RELEASE_STATUS="critical"
to:
For avoidance of doubt, the updater may safely be used on the RPi3 (where it has no effect), on cards swapped between the RPi4 and RPi3, on 'full' and 'lite' images, and on gentoo64 images installed via
PINN.
Any problems, please let me know!
Best, sakaki
[1]
https://www.raspberrypi.org/forums/view ... 8&t=250990
[2]
https://www.raspberrypi.org/forums/view ... 9&t=252501
[3]
https://www.raspberrypi.org/forums/view ... 9&t=255001
[4] The EEPROM images may be found at /lib/firmware/raspberrypi/bootloader/...
Edited to remove kernel upgrade step (now unnecessary).