Build a Raspberry Pi Linux System the Hard Way
The instructions below will explain how to build a Linux environment for a Raspberry Pi 3B from scratch, focusing on extreme minimalism. I will build most components from source code and use BusyBox as the only user application on the target. The focus is on minimalism for the sake of learning. Optimizations like network boot, secondary bootloaders, compressed filesystems, etc.. will not be covered.
Source: Build a Raspberry Pi Linux System the Hard Way, an article by Rick Carlino.