Training for Linux/Embedded Programmers to staring playing with ARM Linux Boards. Linux is the operating system of choice for many embedded systems such as smartphones, tablets, PDAs, set-top boxes, and personal media players. Any version of Linux used to operate such machines is known as Embedded Linux. Example of an embedded Linux is Android, developed by Google
Course DURATION: 6 weeks Course objectives:
- Participant will be ready to do small embedded projects based on Embedded Linux.
- Know the tool chain components, building & usage.
- C libraries. Building a cross-compiling toolchain
- Focus on U-boot.
- Configuring, (cross)compiling and booting a Linux kernel
- Creating a simple, BusyBox based root filesystem from scratch
- Comfort in porting Bootloader, Kernel, Root File System.
- Comfort in changing Kernel & modifying for custom Hardware.
CHAPTER 1: TOOLCHAIN
- What is Toolchain?
- Toolchain Components
- Building Toolchain
- Build Systems for Toolchain
- Toolchain Setup Environment
- Toolchain compilation and usage.
CHAPTER 2: BOOTLOADER ARCH.
- What is Loader
- What is Bootloader
- 1st and 2nd Stage Bootloader
- U-Boot Bootloader Porting on New Hardware.
- U-Boot Commands Lists
- Bootloader Cross-Compilation
- Downloading on Target board
- Bootloader commands and usage,
- Bootloader code customization, UBoot.
- U-Boot Image for Target Board
CHAPTER 3:ROOT FILE SYSTEM
- Root File System Directory
- What is Root file system?
- What is Busybox?
- Building Root file system with Busybox
CHAPTER 4: LINUX KERNEL
- Browsing Linux Kernel Source
- Visualizing Kernel Source Tree
- Cross-Compilation of Kernel Source
- Generating Kernel Image – uImage, zImage
- uImage on Target Board
- Application development and Cross compilation
CHAPTER 5: Lab: Downloading pre-compiled Linux kernel images on Target board.
- Using SD-Card for rootfs.
- Configuring NFS and using rootfs over NFS.
- Configuring TFTP and downloading kernel image over TFTP.