Course Outline
Introduction
- History of Unix/Linux
- Free Software
- Unix Philosophy
HOST PLAYGROUND
- Play with GNU/Linux
- architecture
- shell
- permissions
- FHS (file hierarchy standard)
- hard/soft links
- real/effective uid/gid
- scheduler
- process/task/thread
- IPC simple/advanced
- pipes
- signals
- message queues
- semaphores
- shared memory
- sockets
- select/poll
- IPC techniques to avoid
- Host Linux setup
- Yocto/ELDK (cross/target tools, libraries, packages)
- Terminal Emulation
- Servers (DHCP, tftp, NFS)
TARGET PLAYGROUND
- files needed to run something on board
- JTAG/BDI config
- u-boot (checkout, config, build)
- kernel (checkout, config, build)
- rootfs
- flat device tree
- build/execute what's applicable from above on the target board
- various rootfs
- CRAMFS
- ramdisk
- MTD
- JFFS2
- roEXT2
- ubi
- build/execute what's applicable from above on the target board
- comparison of root file systems
- debugging
- simple tools
- local/remote
- user/kernel
- gdb
- gdbserver
- JTAG/BDI (optional)
- profiling
- gprof
- gcov
- oprofile
REAL-TIME
- prerequisites
- interrupts
- reentrant code
- real-time Linux
- explicit/implicit preemption points
- real-time preemption patch
- fully preemptive kernel
- hard real-time extensions
- Adeos/Xenomai
- adeos patch
- xenomai
- patch/config/build kernel
- run it on board
SW RELEASE
- administration
- development
- how to reproduce an SW release?
MISC
- getopt
- endianess
- cheat-sheets
Except where otherwise noted content on this course outline is licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
Requirements
- Basic familiarity with using a GNU/Linux system (e.g. Ubuntu) as an end user in user space
- Basic familiarity with a command line shell
- Basic knowledge of user space/application development with GNU/Linux
- Basic knowledge concerning embedded processors and development boards
- Basic C programming knowledge
- …and/or or fear to learn the above…
Testimonials
I like the way the trainer helps in problem solving and step to step issues resolution.
David Klogo
Trainer was very open to questions and very patient.
Kwaku Afreh-Nuamah
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 flexibility of the trainer regarding the training program.
Przemysław Rzepka - Ericsson 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.
the subject
Kuwait Fund for Arab Economic Development
it's was straight to the point one issue we faced with the zoom meeting and the connection