Skip to content

Commit

Permalink
Updated the documentation for the Raspberry Pi 4 bootloader. Closes #23.
Browse files Browse the repository at this point in the history
  • Loading branch information
lueschem committed Oct 22, 2021
1 parent b0115e0 commit 0ba4061
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 0ba4061

Please sign in to comment.