Course Outline
- Getting started
- Obtaining Buildroot
- Build system requirements
- Cross-compiler terminology: build, host, target, sysroot
- Choosing the correct target
- Building a minimal embedded system and booting it
- Contents of the resulting filesystem image
- Parallel builds
- Full and partial rebuilds
- Design goals of Buildroot
- Choices to be made
- C library: glibc or uClibc or musl?
- Init system: busybox vs sysVinit vs systemd
- Managing device nodes in /dev
- Selecting other packages
- Understanding the build instructions
- Syntax of Kconfig (Confog.in) files
- Features of GNU Make used by Buidroot Makefiles
- Style guide for Config.in and *.mk files
- How to add a simple Autotools-based package
- The difference between staging and target directories
- The need for host packages
- How to express dependencies and optional features
- Support for languages other than C and build systems other than Autotools
- Debugging Makefiles
- Rebuilding a single package
- Analyzing the build results
- What took so much build time?
- What took so much disk space?
- Why has this package been built?
- Organizing external package trees
- Workflow for application developers
- How to use a local source directory
- Overriding build instructions
- Debugging your application
- Speeding up rebuilds
- Viewing build logs
- Dealing with common cross-compilation issues
- How to write your own software so that it is friendly to cross-compilers
- Workflow for kernel developers
- How the kernel boots on an embedded system
- Changing configuration options and adding patches
- Module loading mechanisms
- Making a finished product
- Running daemons at startup
- Providing custom configuration files
- Available firmware update mechanisms
- Upgrading to a new Buildroot version
- Complying with open-source licenses
Requirements
- The participant must have built a kernel at least once for a traditional desktop (non-embedded) Linux system.
- Knows what components the Linux userspace on a desktop system is composed of.
- Knows how to generate and use patches.
- Must be able to explain what is GNU Make, Autotools, what other build systems exist.
- Ideally, maintains at least one Linux package, either as an upstream author, or in any traditional Linux desktop distribution.
- Prior experience with embedded development is not required, and is not a substitute for the knowledge about traditional Linux desktops specified above.
Testimonials
I liked the hands-on nature of it.
Maurice Egan
I liked the take the first contact with embedded Linux kernel.
Analog Devices
Good overview of how to build a kernel for Linux, would have liked to get more into the driver development.
Analog Devices
The comprehensive knowledge of the trainer, going beyond the training program and his experience in the industry.
Andrzej Bodura - TRW Polska sp. z o.o. Centrum Inżynieryjne
The opportunity to ask questions and the great knowledge of the trainer.
- TRW Polska sp. z o.o. Centrum Inżynieryjne
The practical part of the training.
- TRW Polska sp. z o.o. Centrum Inżynieryjne
A wide range of knowledge that Mr. Tomasz has on a given topic. Get answers to your questions quickly.
- TRW Polska sp. z o.o. Centrum Inżynieryjne
Use of knowledge in practice
- TRW Polska sp. z o.o. Centrum Inżynieryjne
The Vast knowledge of the lecturer.
Krzysztof Rybak - ABB Sp. z o. o.
Take the Trainer to the presentation of topics
Paweł Błaszczyk - ABB Sp. z o. o.
Linux debugging through Visual studio
- HPS
A good combination of theory and practice of Trainers is two so one of them can help if someone has problems with exercise
Hectronic Polska Sp. z o.o.
Combination of theoretical knowledge and practical experience of the teacher. Reference to current trends within the discussed topics. The opportunity to receive many valuable tips on the best practices in the area of issues covered in the training.
Przemysław Ujma - Hectronic Polska Sp. z o.o.
A lot of practical exercises, very interestingly prepared fainias.
Hectronic Polska Sp. z o.o.
A very wide spectrum of issues, giving an overview of many issues related to the topic of training.
Przemysław Ujma - Hectronic Polska Sp. z o.o.
I found the training very demanding.
ATM53 ŁUKASZ MICHAŁEK; Alten Polska Sp. z o.o.; ABB Power Grids Poland Sp. z o.o.
working with hardware, set up system, very well done presentation