This shows you the differences between two versions of the page.
ass:laboratoare:01:tasks:02 [2023/07/10 22:52] radu.mantu created |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 01. [??p] Creating the Firmware Image Package ==== | ||
- | This package will contain **bl2**, **bl31** and **bl33**. The Secure OS (**bl32**) is outside the scope of this lab; even if we did bother to include it, it would just //be there//, doing nothing. | ||
- | |||
- | Following this exercise, we should be able to reach the first step of the booting sequence that //can// be interactive; meaning that we'll be able to interact with a shell implemented in **bl33**. | ||
- | |||
- | === [??p] Task A - bl31: the Runtime Software === | ||
- | |||
- | For this component we'll be using the [[https://github.com/ARM-software/arm-trusted-firmware.git|Trusted Firmware-A]] project. Although it contains reference implementations for the other bootloaders as well, we are going to use it strictly for **bl31**. The other **bl**s have more complete and widely recognized alternatives available. | ||
- | |||
- | We recommend reading [[https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/initial-build.html|the documentation]] moving forward. Take a close look at [[https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/build-options.html|the build options]] in particular. | ||
- | |||
- | <note tip> | ||
- | * To specify that we don't have a **bl32** for it to initialize, pass it ''SPD=none''. | ||
- | * You don't have to build everything. Just ''make ... bl31''. | ||
- | </note> |