Embedded Linux Jumpstart
Embedded Linux is all the rage these days, and for good reasons: it’s powerful, portable, and Free. That makes Linux the right choice for many kinds of embedded systems, but it doesn’t make Linux easy to adapt for use in your next embedded design.
Embedded Linux Jumpstarttm to the rescue! This multi-day workshop goes over the nuts and volts of getting Linux running in an embedded system. Soak up useful and relevant information on how to port and use embedded Linux on embedded hardware, then try it yourself on hardware that is yours to keep at the end of class.
You won’t find an embedded Linux course of this depth and breadth anywhere else. Bill Gatliff is a seasoned embedded developer, instructor and author on a variety of important embedded Linux subjects. As a result, each course presentation and lab exercise is concise, enlightening, and filled with immediately useful information that you will put to work on your own embedded projects as soon as you get home.
Here is a recent table of contents from the course manual.
Free and Open Source Licenses
- Free vs. Open Source, and what the differences mean
- Reviews of the GPL, LGPL, BSD and other popular licenses
- How license terms affect application design
Building and Installing an Embedded Linux Toolchain
- From scratch, for Linux, Mac OS X and Win32 hosts
- Using commercial toolchains like MicroCross X-Tools
Building and Installing an Embedded Linux Kernel
- The bootloader startup process
- The kernel startup process
- Enabling and disabling kernel features
Building and Installing an Embedded Linux Runtime Environment
- Building and installing GNU libc and other essential system utilities
- Setting up a root directory structure
- Providing a root filesystem
Linux Kernel Debugging
- Debugging using JTAG adapters
- Debugging via kdb
Linux Device Drivers and Interrupt Handlers
- How Linux manages interrupts
- Properly configuring existing device drivers
- Implementing your own character, block and USB device drivers
- Using loadable modules for device drivers
- Debugging Linux device drivers and interrupt handlers
Embedded Linux Applications
- Shared libraries vs. static linking
- Security in embedded Linux systems
- Debugging embedded Linux applications
Device Management
- To login, or not login
- Internet-based device management
- Embedded webservers and email
Embedded Linux Jumpstart uses Cogent CSB6xx single-board computers. The Cogent CSB637 is an AT91RM9200-powered system, the CSB625 uses a PXA255. Both boards offer 64 MB SDRAM, Ethernet, USB, Compact Flash, SD/MMC, GPIO and VGA out.
Other single board computers are available by special request. Send me an email for more information. Students are also encouraged to bring their own hardware, to use with lab exercises as time permits.
This advanced workshop is ideal for embedded developers who are evaluating or using Linux in an embedded application. The course materials presume familiarity with the C programming language, and an understanding of the basics of operating system and embedded system operation. Prior experience with the GNU toolchain, or training via Embedded GNU Jumpstart is helpful but not required. Prior Linux experience in non-embedded environments is encouraged, but not required.
Each student must provide their own laptop computer. The computer must have either a recent Linux distribution (RHEL/Fedora, Debian, Mandrake, etc.), Mac OS X, or a Win32 operating system (WinNT or Win2000 only; required for stable operation with Cygwin) installed before class begins. Course activities will require one available DB9 serial port, one 10/100T ethernet port, approximately 600MB of free disk space, and a Pentium-III/400MHz/128MB performance level or better. Students are strongly encouraged to bring their OS installation CDs to class.
If you don’t see your question answered here, please feel free to send me an email.
Why do I have to bring my own computer?
Put simply, how else are you going to take your new GNU toolchain, embedded Linux kernel, and other course materials home with you at the end of class?
This course offers a unique combination of intensive, embedded Linux training and take-home hardware that you won’t find anywhere else. The goal is to for the student to be a proficient embedded Linux developer and user in one week, and to carry that knowledge back home after class is over. Bringing and using your own computer is the best way to meet that objective.
Why is this course so much cheaper than other, apparently similar offerings?
Bill Gatliff is an individual, freelance embedded developer. He is not a multinational corporation with an overhead of hundreds of engineers to support. In addition, an emphasis has been placed on controlling the cost of every aspect of the course, in order to bring quality GNU training to developers who don’t have deep pockets to spend out of.
This course is all about free software. Why is it so expensive?
Actually, the course is about Free (speech) software, not free (gratis) software.
Linux is a powerful and flexible operating system, but it takes more than a few minutes to learn to apply that power and flexibility to your own embedded development needs. The most cost effective way to get started is by working under the direction of an experienced and competent teacher for a week, instead of trying to gain the knowledge yourself over a period of weeks or, in most cases, months.