Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction
- History of Unix/Linux for government use
- Free Software and its implications for government operations
- The Unix Philosophy in the context of government systems
HOST PLAYGROUND
- Exploring GNU/Linux
- System Architecture
- Shell Usage
- User and Group Permissions
- File Hierarchy Standard (FHS)
- Hard and Soft Links
- Real and Effective User/Group IDs
- Scheduler Operations
- Process, Task, and Thread Management
- Inter-Process Communication (IPC) Techniques
- Pipes
- Signals
- Message Queues
- Semaphores
- Shared Memory
- Sockets
- Select and Poll Functions
- IPC Techniques to Avoid for government systems
- Host Linux Setup
- Yocto/ELDK (cross-target tools, libraries, and packages)
- Terminal Emulation for government applications
- Servers Configuration (DHCP, TFTP, NFS) for government networks
TARGET PLAYGROUND
- Files Required to Run Software on Target Boards
- JTAG/BDI Configuration for government hardware
- U-Boot (checkout, configuration, build) for government systems
- Kernel (checkout, configuration, build) for government operations
- Root File System (rootfs)
- Flat Device Tree for government devices
- Building and Executing Applicable Software on Target Boards
- Various Root File Systems
- CRAMFS
- Ramdisk
- MTD (Memory Technology Device)
- JFFS2 (Journaling Flash File System 2)
- Read-Only EXT2 (roEXT2)
- UBI (Unsorted Block Images)
- Building and Executing Applicable Root File Systems on Target Boards
- Comparison of Root File Systems for government use
- Debugging Techniques
- Simple Tools
- Local and Remote Debugging
- User and Kernel Space Debugging
- GDB (GNU Debugger)
- GDBServer for remote debugging
- JTAG/BDI (optional) for advanced hardware debugging
- Profiling Tools
- Gprof for performance analysis
- Gcov for code coverage analysis
- Oprofile for system-wide profiling
REAL-TIME
- Prerequisites
- Interrupt Handling
- Reentrant Code Design
- Real-Time Linux for government applications
- Explicit and Implicit Preemption Points
- Real-Time Preemption Patch
- Fully Preemptive Kernel Configuration
- Hard Real-Time Extensions for critical systems
- Adeos/Xenomai for real-time operations
- Adeos Patch Application
- Xenomai Framework Integration
- Patch, Configuration, and Build of the Kernel
- Running on Target Boards for government use
SW RELEASE
- Release Administration
- Development Practices
- Steps to Reproduce a Software Release for government projects
MISC
- getopt for command-line argument parsing in government applications
- Endianness Considerations for cross-platform development
- Cheat Sheets for quick reference in government IT environments
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 for government operations.
- Basic familiarity with command line shell usage.
- Basic knowledge of user space and application development within the GNU/Linux environment.
- Basic understanding of embedded processors and development boards.
- Basic C programming skills.
- Willingness to learn the above topics if not already proficient.
35 Hours
Testimonials (3)
The trainer's presentation and way of communicating.
Gianpiero Arico - Urmet Spa
Course - Embedded Linux Systems Architecture
I enjoyed having done full days of courses
Gianluca - Urmet Spa
Course - Embedded Linux Systems Architecture
Maybe more exercises could be better for lerning but the time was to little