Method
Flexible
Term
WINTER
Units
3.0 QUARTER UNITS
Cost
$750

Skills you will gain

  • Explain the basics of designing embedded Linux
  • Master the requirements to setup a Linux cross development environment
  • Use GNU tool chain to compile Linux Kernel and applications code
  • Develop and download applications to run on an embedded Linux target system
  • Describe the steps to write, compile and load/unload Linux Kernel modules
  • Summarize the Linux File System and initramfs (Initial RAM File System)

Course Description


This course covers the fundamentals of building and installing a custom embedded Linux for an ARM processor platform, and provides hands-on experience for creating cross-platform environments using the GNU tools. Basic concepts for designing, testing, and customizing embedded Linux will be covered, including how the Linux scheduler is implemented, and how to write Linux kernel modules and remotely debug embedded Linux applications.

Topics

  • An overview of embedded and real-time systems
  • Creating a cross-compiler
  • Linux device tree usage
  • Building and configuring a custom Linux kernel
  • Building and debugging Linux application source code using a GDB debugger
  • Writing kernel modules and user applications for embedded Linux using C language
  • Linux sysfs interface for GPIO
  • The basics of POSIX threads and the RTAI (real-time application interface) environment

Note(s):

To do projects, students are expected to have access to Debian Linux on their computers. Options include Virtual Box, LiveCD, disk partition or separate drive. Instructor will not cover the Linux installation topic in class. For students needing help with Linux, "Introduction to Linux" is recommended. Students should come prepared with knowledge of the suggested prerequisites.

This course requires students to purchase a board (approx. $50, not included in the tuition) to complete the assignments. Students may either use Raspberry PI 2 Model B or Raspberry PI 3 Model B (details to be discussed in class). Students are expected to use their own Linux-based computers to do the programming project.


Prerequisites / Skills Needed

Working knowledge of C programming language and UNIX/Linux operating-system internals. Advanced C programming recommended.

  • Flexible Attend in person or via Zoom at scheduled times.
Schedule
Date
Start Time
End Time
Meeting Type
Location
Thu, 01-08-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-08-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-15-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-15-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-22-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-22-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-29-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 01-29-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-05-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-05-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-12-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-12-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-19-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-19-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-26-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 02-26-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 03-05-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 03-05-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 03-12-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 03-12-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 03-19-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Thu, 03-19-2026
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
 

This class meets simultaneously in a classroom and remotely via Zoom. Students are expected to attend and participate in the course, either in-person or remotely, during the days and times that are specified on the course schedule. Students attending remotely are also strongly encouraged to have their cameras on to get the most out of the remote learning experience. Students attending the class in-person are expected to bring a laptop to each class meeting.

One “no meeting” TBA. To see all meeting dates, click "Full Schedule" below.

You will be granted access in Canvas to your course site and course materials approximately 24 hours prior to the published start date of the course.

Recommended Text:
Embedded Linux Primer: A Practical Real-World Approach, 2nd Edition, Christopher Hallinan, Prentice Hall, 2010, ISBN-10: 0137017839, ISBN-13: 978-0137017836.

Demo