This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Linux System Programming and Introduction to Buildroot

Linux System Programming and Introduction to Buildroot
This course is part of Advanced Embedded Linux Development Specialization

Instructor: Daniel Walkes
24,207 already enrolled
Included with
143 reviews
Recommended experience
What you'll learn
Fundamentals of Linux System Programming, including Processes and Threads.
How to build a custom Linux kernel and root filesystem for an Embedded device.
How to use Buildroot to build a custom Linux Kernel and root filesystem for an Embedded device.
Skills you'll gain
Details to know

Add to your LinkedIn profile
7 assignments
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate

There are 4 modules in this course
In this module, you will learn about Linux shell scripting and System Programming concepts. You will also understand the basics of an Embedded Linux toolchain and setup a cross-compiler.
What's included
17 videos5 readings2 assignments2 peer reviews
In this module, you will learn the basics of File IO for Linux. You will understand the basics of Process Management, process forking, and Linux daemons. You will build your own Linux kernel and root filesystem, boot and run on QEMU.
What's included
11 videos2 readings2 assignments2 peer reviews
In this module, you will learn the basics of Threading and Multi Thread Synchronization in Linux system programming using POSIX. You will also learn about the Buildroot build system and build a QEMU Image using Buildroot.
What's included
10 videos2 readings2 assignments2 peer reviews
In this module, you will learn the fundamentals of signal handling and time management in Linux System Programming. You will learn the basic components of Embedded Linux debugging. You will implement a socket server application and deploy on a QEMU based Embedded System using Buildroot.
What's included
8 videos2 readings1 assignment2 peer reviews
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
Instructor

Offered by
Explore more from Software Development
Status: Free TrialUniversity of Colorado Boulder
Status: Free TrialUniversity of Colorado Boulder
Status: Preview
Status: Free TrialUniversity of Colorado Boulder
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Learner reviews
- 5 stars
62.93%
- 4 stars
20.97%
- 3 stars
6.29%
- 2 stars
2.79%
- 1 star
6.99%
Showing 3 of 143
Reviewed on Feb 5, 2025
It takes time and effort to solve assignments issues more than learning and working on the topic.
Reviewed on Jan 11, 2023
linux system programmingand intro to build root program is very good it helped me lot to learn concept
Reviewed on Nov 24, 2024
A good hands-on course that provides all the Knowledge, and a Little self-study with the resources mentioned in the course can make you a MASTER.

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
System Requirements
You must have access to a computer configured with the following specifications to complete this specialization:
Operating System:
Ubuntu 22.04 (64-bit) is required, but Ubuntu 20.04 (64-bit) may also be used. Other versions of Ubuntu, or other distributions, are not officially supported and may not work properly with assignment instructions.
The build system host must use an x86_64 (amd64) architecture. ARM-based systems are not supported.
Windows Subsystem for Linux (WSL) is not supported for ECEA 5306: Linux Kernel Programming and Introduction to Yocto Project, which includes Linux kernel development and Yocto projects. If you plan to continue to this course, please prepare a dedicated build host or virtual machine.
Memory (RAM):
At least 8 GB RAM is recommended. You may be able to complete assignments with less, but 4 GB or less may cause build failures.
Disk Space:
At least 200 GB of free disk space is recommended.
Hardware Requirements
While hardware is not required to complete ECEA 5305: Linux Systems Programming and Introduction to Buildroot or ECEA 5306: Linux Kernel Programming and Introduction to Yocto Project, the final course in this specialization, ECEA 5307: Linux Embedded System Topics and Projects, will require students to use embedded hardware of their choosing for the final project.
Course logo designed using https://commons.wikimedia.org/wiki/File:Tux.svg lewing@isc.tamu.edu Larry Ewing and The GIMP and used with permission.
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
More questions
Financial aid available,

