Overview
In this training, participants will learn how to build their own embedded Linux for the Raspberry Pi.
Course Outline
Tolchain
- Minimal elements of toolchain – Types of toolchain – Types of C libraries for toolchain – Criteria for selecting toolchain
- Toolchain examples – Installing a toolchain – Adding libraries to toolchain
- Lab 1
- Create a Bare metal application [intact with UART]
Boot loader
- What is boot loader – Pre-boot loader – Loading the kernel – Boot loader-kernel ABI – ATAGS and FDT
- Examples of boot loaders – U-Boot command line – U-Boot environment – Automating boot – bootcmd
- Lab 2
- Build and running Uboot on RP2
Kernel
- Kernel vs User space – Kernel version numbers – Bug fix releases – Board support packages -Levels of board support
- Board support – Kernel modules – Kernel configuration – Building the kernel – Kernel command line
- Lab 3
- Building and running Linux on RP2
- What is user space – The root file system (rootfs) – Other options for a rootfs – Busybox and examples
- init: Busybox init and System V init – System V inittab – Device nodes: /dev – The rootfs during development
- The rootfs in production
- Dealing with gpio – Portable computer- Ssh – VNC – telnet -Tftp – SCP – Raspberry Pi Digital Picture Frame