Training Courses offered by DENX Software Engineering:
All courses are held at the DENX office in Gröbenzell (near Munich) in Germany.
Normally the courses are in German language. Courses in English are available on request.
Please see
below for customized courses.
Course 1: Embedded Linux Internals (5 days)
Prerequisites
In order for the training to be optimal for all attendees, the following
pre-requisites should be fulfilled.
- Basic familiarity with using a GNU/Linux system as an end user
- Basic familiarity with a command line shell
- Basic C programming knowledge
If you intend to bring a laptop to the training (which is possible)
it should have a GNU/Linux system running on it with at least the following
packages installed:
- NFS server
- xinetd and tftp server
- kermit (usually called ckermit as a package)
- wireshark, the network analyzer
- ddd, the graphical debugger
- git versioning system
Day 1:
Environment Setup + Host Linux Setup
This is basically the installation of our
ELDK (cross toolchain + NFS
root filesystem) but
every concept needed to fully understand this
will be presented, i. e.
- Basic shell concepts needed for ELDK usage
- Concept of UNIX daemons
- (TCP/IP knowledge to understand internet servers)
- The internet superserver
- NFS and its usage
- Detailed look at the Linux filesystem hierarchy
- Introduction to UNIX/Linux startup
Day 2:
Linux on the target
- Connecting to the target for the first time in U-Boot
- The power of U-Boot and its command line
- Configurations of U-Boot
- Compiling the Linux kernel
- Kernel make infrastructure
- Kernel config options
- Kernel command line
- Booting the target into Linux / ELDK rootfs for the first time
- Using our native tools in the ELDK
Day 3:
- Native debugging of simple application
- "Cross-debugging" of applications with gdbserver
- Using the BDI2000 as a "gdbserver" to debug U-Boot
- Using the BDI2000 as a "gdbserver" to debug the Linux kernel
- Overview of Linux architecture and source code structure at a very
detailed level
Day 4:
- Introduction to U-Boot Linux bootstrap and Linux startup
- Revisiting the UNIX file API to see what character drivers have to
be implemented. (open/close, read/write, lseek, ioctl, mmap)
- Taking a look at existing drivers to see how this works
- Discussing a character driver framework implementing all "kernel
hooks"
Day 5:
- Debugging a Linux character driver with the BDI2000
- How to start a new U-Boot port (most problems to solve here will
be needed for the Linux porting)
- Glue between U-Boot and Linux
- Linux parts to adapt when porting to new hardware
Online Resources
Customized Courses:
All courses can be customized upon customer's request.
Please feel free to assemble your own training course according to your project's special
needs - you can either chose from our
standard agenda
or bring up your own topics.
Just let us know what you need.