I will go through the steps it takes to make Linux run on an Arm System-on-Chip where it previously didn't run, or only in a terribly outdated vendor fork.
Sometimes you find yourself with a piece of hardware that runs Linux, but only a very outdated version of it. In such cases it can be interesting to port a modern version of Linux.
I will go through the configuration and drivers you need to write in order to get Linux booting on an Arm SoC:
- Early serial port debugging
- Devicetree
- Interrupt controller drivers
- Timer interrupts
- etc.