From 0ba4061b909ec33812846831bf9c0c92fb8c9a80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20L=C3=BCscher?= Date: Fri, 22 Oct 2021 09:59:58 +0200 Subject: [PATCH] Updated the documentation for the Raspberry Pi 4 bootloader. Closes #23. --- README.md | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 1360d76..821c88b 100644 --- a/README.md +++ b/README.md @@ -17,18 +17,18 @@ generate the following artifacts: cross development toolchain for C and C++. * An emulated arm64 or armhf LXD container. -:warning: **Raspberry Pi 4 boot loader**: On the Raspberry Pi 4 the -[stock boot loader](https://github.com/raspberrypi/firmware) -does load the device tree binary and modifies it. For this reason it is difficult to -do a robust update of the kernel together with the device tree binary. For now, edi-pi -does not touch the device tree binary that gets loaded by the stock boot loader during -a robust update and the boot process will just take over the device tree that got loaded -by the stock boot loader instead of taking the one that gets bundled with the kernel. -This might be a setup that is not sustainable for industrial applications that require -long term support. For such scenarios you might want to consider other platforms such as -[edi-var](https://github.com/lueschem/edi-var/) and -[edi-cl](https://github.com/lueschem/edi-cl/). If I find a solid solution for the described -boot loader issue I will update the configuration accordingly. +:warning: **New Raspberry Pi 4 boot loader integration**: Starting with Debian bullseye +the Raspberry Pi 4 setup with regards to the boot loader integration has changed: Instead of +U-Boot the setup now directly relies upon the Raspberry Pi boot loader. The new "tryboot feature" +together with a custom Mender integration allowed us to solve the +[device tree handling during A/B updates issue](https://github.com/lueschem/edi-pi/issues/23). To +make use of this new setup a +[recent (>=2021-04-19) bootloader EEPROM](https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware/release-notes.md) +is required. **Please upgrade your Raspberry Pi 4 EEPROM prior to using this new setup.** +Unfortunately this **new boot loader integration is incompatible with the previous setup**. +Additional work would be required to migrate an existing installation over the air from the previous +setup to this new setup. At the moment an existing installation using the old boot loader setup will need to be re-flashed. +As the new boot loader integration required quite some rework, some rough edges are still to be expected. ## Important Note @@ -210,6 +210,7 @@ Then the pdf can be generated using the following commands: ``` bash cd artifacts/CONFIGNAME_documentation make PDFLATEX=xelatex latexpdf +make PDFLATEX=xelatex latexpdf ``` ### More Information