Day 1 & 2: Welcome and Walkthrough
In-depth look at the system architecture
- Kernel
- File systems
- Processes
- Networking
- More on Bash
- Text Editor and Linux command line utilities
Development
Development tools
- GNU make, gas, gcc, ld, gdb
- Linux bootup process
- Compiler options
- Remote debugging
- Options, built-ins and defaults
- Build hierarchy - structure, scripts and makefiles
- Setting up the cross compiler environment toolchain
- Busybox, buildroot, openembedded/angstrom, ltib
Day 3: Advanced Development
Kernel architecture
- Processes and the scheduler
- Interrupts
- Memory management
- Modules, kernel
- Char, block, network
- How to optimize the kernel for latency
- How to optimize boot time
- Realtime Linux
Day 4 & 5: Embedded Development
Host / Target relationship
- Cross compilation
- Compiler preparation (exercise)
- Linker preparation - ldscript, crt0
- Building an embedded kernel
- Building the root file system
- Most important components
- Booting – u-boot, redboot, grub, lilo, others
- A running system
- Upgrading your target
Additional subjects
Additional subjects chosen by participants, such as:
- Networked targets updating techniques
- Linux kernel development overview
- Real Time Linux and Xenomai, Performance analysis
- Deeper look into Embedded QTK, Qt Embedded, Webkit and Enlightenment, building from a distribution of choice, etc…
- Further study
Course/Workshop, classical educations with practical exercises.
Course materials provided, complemented with a book and one HW development board (currently:
BeagleBone Black 1Ghz ARM Cortex-A8 based board with a microSD card and TTL cable. You are allowed to keep both the book & the HW development board.
Maximum group size of 10 participants which encourages interaction and contributes to extra personal attention for each participant.
Course participants will receive a High Tech Institute certificate based on exercises.