Master’s in Embedded Linux and BSP Engineering
Online master's programme of 1,900 hours in embedded Linux and BSP engineering. 12 modules covering embedded Linux architecture, boot loaders and U-Boot, kernel configuration and Devicetree, board support packages, device drivers, Yocto Project, Buildroot, user space, performance and real time, system security and updates, with an assigned technical tutor.
Take the controls.
Run a real engineering trade-off from this programme. Move the sliders, watch the model react in real time and beat the challenge.
What you will be able to do
Build custom Linux distributions with Yocto Project and Buildroot.
Develop and port board support packages for modern SoCs.
Configure boot loaders and start-up sequences.
Program device drivers for the Linux kernel.
Optimise performance, boot time and power consumption.
Apply security mechanisms and robust update strategies.
Manage open-source licence compliance.
Who it's for
- Embedded Linux engineers.
- BSP developers.
- Kernel driver engineers.
- Systems integration engineers.
- Embedded DevOps engineers.
- Embedded platform architects.
- Engineering or science graduates looking to enter the automotive industry.
What you'll work with
- Yocto Project Reference Manual (embedded Linux build system)
- IEEE 1003.1 POSIX (portable operating system interface)
- Devicetree Specification (hardware description for the kernel)
- UEFI Specification (unified extensible firmware interface)
- IEC 62443-4-1 (secure product development life-cycle requirements)
- Linux Foundation OpenChain ISO/IEC 5230 (open-source licence compliance)
- ISO/IEC 17960 (embedded Linux development)
- GNU General Public License v2 (open-source licence)
- Yocto Project
- Buildroot
- U-Boot
- QEMU
- GDB
- Lauterbach TRACE32
12 modules · 1900 h
1.1. Linux system architecture1.2. Advantages and drawbacks compared with an RTOS1.3. Embedded ARM, RISC-V and x86 processors1.4. Components of an embedded Linux system1.5. Cross toolchains1.6. C libraries: glibc, musl and uClibc1.7. Root file systems1.8. Commercial embedded distributions1.9. The kernel ecosystem and community1.10. Case study: analysis of a commercial embedded system
2.1. Boot sequence of an SoC2.2. Boot ROM and first-stage loaders2.3. U-Boot: configuration and commands2.4. Network and storage boot2.5. UEFI and booting on ARM2.6. Passing parameters to the kernel2.7. FIT images and verification2.8. Boot time optimisation2.9. Recovery from boot failures2.10. Practical exercise: porting U-Boot to a board
3.1. Linux kernel architecture3.2. Configuration and cross-compilation3.3. The Devicetree3.4. Devicetree overlays3.5. Kernel modules3.6. Patches and version maintenance3.7. LTS kernels and vendor branches3.8. Debugging kernel boot3.9. PREEMPT_RT patches for real time3.10. Lab: kernel configuration for a board
4.1. Components of a BSP4.2. DDR memory initialisation4.3. Clocks, pins and regulators4.4. eMMC and NAND storage drivers4.5. Display, camera and multimedia4.6. SoC power management4.7. BSP validation4.8. Maintenance against new releases4.9. Documentation and delivery to the customer4.10. Workshop: building a minimal BSP
5.1. The kernel device model5.2. Character drivers5.3. I²C, SPI and GPIO subsystems5.4. Platform drivers5.5. Interrupts and deferred work5.6. DMA and coherent memory5.7. IIO and input subsystems5.8. Synchronisation in the kernel5.9. Testing and debugging drivers5.10. Practical exercise: driver for an I²C sensor
6.1. Yocto and Poky architecture6.2. BitBake and recipes6.3. Layers and meta-layers6.4. Machine and distribution configuration6.5. Images, packages and package managers6.6. Standard SDK and extensible SDK6.7. Reproducibility and shared state cache6.8. Continuous integration with Yocto6.9. Licence management in Yocto6.10. Lab: custom image with Yocto
7.1. Buildroot architecture7.2. Configuration with menuconfig and packages7.3. Technical comparison with Yocto Project7.4. Minimal systems and fast boot7.5. Containers in embedded systems7.6. Debian-based distributions7.7. Dependency and version management7.8. Automated image testing7.9. Choosing the build tool7.10. Case study: minimal system with Buildroot
8.1. systemd and BusyBox init systems8.2. Service and dependency management8.3. Inter-process communication8.4. Graphical interfaces with Qt and Wayland8.5. Network configuration with NetworkManager8.6. System logs and diagnostics8.7. Real-time applications8.8. Resource management with cgroups8.9. Lightweight containers on embedded devices8.10. Practical exercise: systemd service for an application
9.1. Performance measurement with perf9.2. Tracing with ftrace and LTTng9.3. Latency with cyclictest9.4. Boot time optimisation9.5. Memory management and swap9.6. CPU affinity and isolation9.7. Power management with cpufreq9.8. File systems for flash9.9. Application profiling9.10. Lab: latency analysis with PREEMPT_RT
10.1. Secure and verified boot10.2. Storage encryption10.3. Linux security modules10.4. System hardening10.5. CVE vulnerability management10.6. OP-TEE trusted execution environments10.7. Build chain security10.8. IEC 62443-4-1 requirements10.9. The Cyber Resilience Act10.10. Workshop: hardening a Yocto image
11.1. A/B update strategies11.2. SWUpdate, RAUC and Mender tools11.3. Secure over-the-air updates11.4. Device fleet management11.5. Long-term maintenance11.6. GPL licence compliance11.7. Software bill of materials (SBOM)11.8. The OpenChain compliance programme11.9. Technical support throughout the life cycle11.10. Case study: A/B update system
12.1. Selecting the platform12.2. System requirements12.3. Building the BSP12.4. Driver development12.5. Distribution integration12.6. Optimisation and security12.7. System validation12.8. Conclusions and future work12.9. Master's Thesis report12.10. Master's Thesis: defence before a panel
How you'll learn
Training is 100% online on the SEIUM campus, with downloadable material, recorded classes and an assigned technical tutor. There are no fixed timetables: you progress at your own pace within each intake, so the programme is compatible with work.
Each module combines theory, guided reading of the original specification and applied exercises. The working software is Yocto Project, Buildroot, U-Boot, QEMU, GDB and Lauterbach TRACE32, in free, academic or evaluation versions. Exercises are based on real procedures for building a custom Linux distribution, porting a BSP to a new board and debugging kernel drivers. Assessment is continuous per module, plus the final Master's Thesis.
Standards covered: Yocto Project Reference Manual, IEEE 1003.1 POSIX, Devicetree Specification, UEFI Specification, IEC 62443-4-1, OpenChain ISO/IEC 5230, ISO/IEC 17960 and GNU GPL v2.
Build it end to end
Your final project follows the real engineering workflow, step by step, reviewed by your tutor.
Where this takes you
Requirements
- University degree in engineering, science or architecture, or equivalent demonstrable professional experience.
- An internet connection and a computer able to run the programme software.
- English sufficient to read technical standards.
Ready to start?
Send your application today. Our admissions team replies within 72 hours with your study plan and funding options.
Frequently asked questions
The programme totals 1,900 hours over 12–14 months. You set your own pace within each intake, and your tutor helps you plan the workload around your job.
You work with Yocto Project, Buildroot, U-Boot, QEMU, GDB and Lauterbach TRACE32, using free, academic or evaluation versions. Your tutor indicates the free alternative wherever one exists.
A SEIUM Institute diploma, awarded on passing the continuous assessment and the Master's Thesis. It is SEIUM's own qualification, not an official state degree; its recognition depends on the programme completed and the regulations of each country.
Yes. Modules passed in a course or postgraduate diploma in the same area are recognised in the higher programme. Ask about the recognition policy when you enrol.
A university degree in engineering, science or architecture (or equivalent professional experience), a computer able to run the software and English sufficient to read technical standards.
Start dates are set by SEIUM's faculty for each intake. Our admissions team will confirm the next available date when you apply.
Related programmes
Master’s in Hardware, PCB and Reliability Engineering
Online master's programme of 1,900 hours in hardware, PCB and reliability engineering. 12 modules covering hardware product development, schematic and PCB design to IPC-2221B, signal and…
Master’s in RF, Antennas and Communications Engineering
Online master's programme of 1,900 hours in RF, antennas and communications engineering: 12 modules covering propagation, transmission lines and microwave networks, antenna theory and arrays, RF…
Master’s in Industrial Protocols Engineering
Online master's programme of 1,900 hours in industrial protocols engineering, structured in 12 modules covering Modbus, Profibus and Profinet, EtherNet/IP and CIP, EtherCAT, CAN and CANopen,…
More in Electronics, Embedded Systems & Telecom
All Electronics, Embedded Systems & Telecom programmes → · How to apply · Fees & financing · Scholarships