A popular and relatively inexpensive Single-Board Computer (SBC) to experiment and prototype with is the ARM-based Raspberry Pi. Hobbyists and tinkerers find it very useful to try out and learn how to work with embedded Linux, especially as it has a strong community backing (with many Q&A forums) and good support:
Figure 3.6 – A Raspberry Pi 3 Model B+ device (note that the USB-to-serial cable seen in the photo does not come with it)
There are two ways in which you can build a kernel for the target device:
- Build the kernel on a powerful host system, typically an Intel/AMD x86_64 (or Mac) desktop or laptop running a Linux distro.
- Perform the build on the target device itself.
We shall follow the first method – it's a lot faster and is considered the right way to perform embedded Linux development.
We shall assume (as usual) that we are running on our Ubuntu 18.04 LTS guest VM. So, think about it; now, the host system is actually...