Note: the materials for training with the Beagle Board are no longer available, and would be significantly out of date anyway. We advise you to check our Embedded Linux System Development and Linux Kernel and Driver Development training courses for up-to-date instructions that work on cheaper boards, which are still available on the market today. And if you still have an old Beagle board, it will be an interesting exercise to adapt our current labs to run them on such hardware.
We were asked to customize our embedded Linux training session with specific labs on OMAP 3530 hardware. After a successful delivery on the customer site, using Beagle boards, here are our training materials, released as usual under the terms of the Creative Commons Attribution-ShareAlike 3.0 license:
If you are the happy owner of such a board (both attractive and cheap), or are interested in getting one, you can get valuable embedded Linux experience by reading our lecture materials and by taking our practical labs.
Here’s what you would practise with if you decide to take our labs:
- Build a cross-compiling toolchain with crosstool-NG
- Compile U-boot and the X-loader and install it on MMC and flash storage.
- Manipulate Linux kernel sources and apply source patches
- Configure, compile and boot a Linux kernel for an emulated PC target
- Configure, cross-compile and boot a Linux kernel on your Beagle Board
- Build a tiny filesystem from scratch, based on BusyBox, and with a web server interface. Practice with NFS booting.
- Put your filesystem on MMC storage, replacing NFS. Practice with SquashFS.
- Put your filesystem on internal NAND flash storage. Practice with JFFS2 too.
- Manually cross-compile libraries (zlib, libpng, libjpeg, FreeType and DirectFB) and a DirectFB examples, getting familiar with the tricks required to cross-compile components provided by the community.
- Build the same kind of graphical system automatically with Buildroot.
- Compile your own application against existing libraries. Debug a target application with strace, ltrace and gdbserver running on the target.
- Do experiments with the rt-preempt patches. Measure scheduling latency improvements.
- Implement hotplugging with mdev, BusyBox’s lightweight alternative to udev.
Note that the labs were tested with Rev. C boards, but are also supposed to work fine with Rev. B ones. You may also be able to reuse some of our instructions with other boards with a TI OMAP3 processor.
Of course, if you like the materials, you can also ask your company to order such a training session from us. We will be delighted to come to your place and spend time with you and your colleagues.