-
The MSD (and secure-boot variant) bootloader has been updated to fully initialise SDRAM in order to resolve problems when using this method to run Linux ramdisks / initrd. Therefore, MSD boot will not work on a system with a blank or corrupted EEPROM. If so, an error message will be output to the UART and the EEPROM should be programmed using the recovery option.
-
Select the latest, stable bootloader EEPROM release which supports NVMe. Update start4.elf (USB MSD firmware) to top-of-tree.
-
* Update the EEPROM image to the latest/stable release. * Change the default boot-order to 0xf541 so that USB MSD will boot from the type-A sockets on the CM4 IO board. * Add simple update-pieeprom.sh utility with latest rpi-eeprom-config to make it easier to refresh the EEPROM image with a new configuration.
-
* Add 2711 bootcode and FW binaries with the 4 suffix. * Use the device descriptor to select the correct bootcode and hack it so that bootcode.bin translates to bootcode4.bin on a Pi4 allowing the files to remain in the same directory. * Add the latest best for recovery.bin and pieeprom.bin for CM4 * Update the installer. Move the second stage preparation until after the device descriptor has been retrieved because BCM2711 needs a different bootcode.bin. If the '-d' argument specified then check for bootcode.bin in the specified directory and don't fail over to the embedded fmem files. Remove the default 'msd' directory and the references to /usr/share because the behaviour conflicts with the original change to use the fmem files.