course · linux-boot-arm

How Linux boots on ARM

Follow three ARM boards from the first instruction in the boot ROM to PID 1, and build every piece yourself.

0:modules11 modules · 1 lessons

m00 · Orientation

The whole journey on one screen, and the lab setup.

m01 · ARM for booting

Just enough architecture to read every later stage.

[ WAIT ] No lessons yet.

m02 · Power-on and the boot ROM

What happens before any code you wrote runs.

[ WAIT ] No lessons yet.

m03 · TrustZone and secure boot

Two worlds, one monitor, and a chain of trust.

[ WAIT ] No lessons yet.

m04 · First stage and DRAM

Why on-chip SRAM is small and DDR must be set up before use.

[ WAIT ] No lessons yet.

m05 · Trusted Firmware-A

The standard secure boot pipeline.

[ WAIT ] No lessons yet.

m06 · U-Boot

The bootloader you will spend the most time in.

[ WAIT ] No lessons yet.

m07 · Device Tree

How the kernel learns what hardware exists.

[ WAIT ] No lessons yet.

m08 · Building everything

From sources to a bootable SD card image, by hand first.

[ WAIT ] No lessons yet.

m09 · Linux takes over

From the bootloader's jump to the first user process.

[ WAIT ] No lessons yet.

m10 · Capstones and debugging

Full traces per board, and what breaks.

[ WAIT ] No lessons yet.