Awesome Embedded Linux¶
A curated list of resources for embedded Linux development.
Training & Learning¶
Bootlin (Free Training Materials)¶
- Embedded Linux Training new_textComplete embedded Linux course
- Embedded Linux Slides (PDF) new_textDownloadable slides
- Embedded Linux Labs new_textHands-on exercises
- Linux Kernel Training new_textKernel development course
- Linux Kernel Slides new_textKernel internals
- Device Tree Training new_textDevice tree for hardware description
- Buildroot Training new_textAlternative build system
- Boot Time Optimization new_textFast boot techniques
- Linux Graphics Training new_textDRM/KMS, Wayland
Linaro Resources¶
- Linaro Connect new_textConference presentations and videos
- Linaro Resources Hub new_textTechnical articles and whitepapers
- Linaro Developer Cloud new_textArm development infrastructure
- Linaro Toolchain new_textGCC and LLVM for Arm
- 96Boards new_textOpen hardware specifications
Other Courses¶
- Linux Foundation Training new_textProfessional certifications
- Coursera - Introduction to Embedded Systems new_textUniversity course
- edX - Embedded Linux new_textOnline courses
Books¶
- Mastering Embedded Linux Programming new_textFrank Vasquez, Chris Simmonds (Packt)
- Linux Device Drivers, 3rd Edition new_textCorbet, Rubini, Kroah-Hartman (free online at lwn.net)
- Embedded Linux Primer new_textChristopher Hallinan
- Building Embedded Linux Systems new_textKarim Yaghmour
- Linux Kernel Development new_textRobert Love
- The Linux Programming Interface new_textMichael Kerrisk
Kernel Resources¶
- kernel.org new_textOfficial Linux kernel source
- Linux Kernel Documentation new_textIn-tree documentation
- LWN.net new_textLinux Weekly News (kernel development)
- KernelNewbies new_textGetting started with kernel development
- Bootlin Elixir Cross-Referencer new_textBrowse kernel source online
- Linux Driver Verification new_textStatic analysis for drivers
Build Systems¶
- Yocto Project new_textIndustry-standard embedded Linux build system
- Buildroot new_textSimple, fast embedded Linux build system
- OpenWrt new_textRouter/networking focused build system
- PTXdist new_textPengutronix build system
- ELBE new_textDebian-based embedded Linux builder
Bootloaders¶
- U-Boot new_textUniversal Boot Loader
- U-Boot Documentation new_textOfficial docs
- Barebox new_textModern bootloader (U-Boot fork)
- ARM Trusted Firmware (TF-A) new_textSecure world firmware
- UEFI/EDK2 new_textUEFI firmware
Hardware Platforms¶
BeagleBone¶
- BeagleBoard.org new_textOfficial site
- BeagleBone Black System Reference Manual
- AM335x Technical Reference Manual new_textTI SoC documentation
Raspberry Pi¶
- Raspberry Pi Documentation new_textOfficial docs
- Raspberry Pi Linux Kernel new_textRPi kernel fork
- Raspberry Pi Firmware new_textGPU firmware blobs
Other Platforms¶
- STM32MP1 Wiki new_textSTMicroelectronics MPU
- i.MX Reference Manuals new_textNXP i.MX
- NVIDIA Jetson new_textGPU-accelerated embedded
- RISC-V new_textOpen ISA
Tools & Debugging¶
- GDB new_textGNU Debugger
- OpenOCD new_textOn-chip debugging
- strace new_textSystem call tracer
- perf new_textLinux performance tools
- ftrace new_textFunction tracer
- LTTng new_textLinux Trace Toolkit
- Buildroot/Yocto SDK new_textCross-compilation toolchains
- QEMU new_textHardware emulation
Device Trees¶
- Device Tree Specification new_textOfficial spec
- Device Tree for Dummies (ELC 2014) new_textIntro talk
- Kernel Device Tree Bindings new_textBinding documentation
Networking & IoT¶
- NetworkManager new_textNetwork configuration
- systemd-networkd new_textLightweight networking
- Eclipse IoT new_textIoT frameworks
- Zephyr Project new_textRTOS for constrained devices
- MQTT new_textLightweight messaging protocol
Security¶
- Yocto Security Hardening new_textBuild-time security
- meta-security new_textSecurity recipes
- OWASP Embedded Security new_textSecurity guidelines
- Secure Boot with U-Boot new_textVerified boot chain
- dm-verity new_textRead-only filesystem verification
- OP-TEE new_textTrusted Execution Environment
Community & News¶
- LWN.net new_textLinux Weekly News
- Embedded Linux Wiki new_textCommunity wiki
- Linux Foundation Events new_textConferences
- Embedded.fm Podcast new_textEmbedded systems podcast
- /r/embedded new_textReddit community
Conferences¶
- Embedded Linux Conference (ELC) new_textPremier embedded Linux event
- Linaro Connect new_textArm ecosystem conference
- FOSDEM - Embedded Track new_textFree open source conference
- Embedded World new_textIndustry trade show
- Linux Plumbers Conference new_textKernel/plumbing focused