Free GNU/Linux live CD for embedded Linux systems and Linux device drivers developers.
Caution: KernelKit discontinued!
Though KernelKit can still be useful is several situations, we are no longer maintaining it. In our training sessions, we are using the original Ubuntu distribution instead. Here are the main reasons:
- KernelKit was based on Knoppix, which was a mix of Debian unstable and testing. After a few months of use, it was getting very difficult to add new packages without making huge upgrades to the whole system, potentially breaking already installed packages.
- Rather than giving a custom GNU/Linux distribution to our customers, we prefer to show them what packages to install in a standard distribution. That’s much closer to what happens in real life.
- Knoppix releases are unpredictable and not frequent enough.
Description
|
KernelKit is a Knoppix GNU/Linux derivative targetting the development of Linux kernel and drivers, as well as Free Sofware embedded systems. It was used in our Embedded Linux Training sessions. Differences with standard Knoppix GNU/Linux:
Usefulness
2 kinds of deliverables
|
![]() |
Screenshots
- Boot screen
- Booting
- KDE splashscreen
- Welcome screen
- Using the Dillo browser
- Using the e3vi editor
- Running ARM Linux on a pxa Lubbock board with the SkyEye emulator: booting, running a graphical application
- Using the e3vi editor
Downloads
Once more, we don’t maintain KernelKit any more. We just make the last release available.
- KernelKit 0.6.1, Jun. 1, 2007 (based on Knoppix 5.1.1):
Live CD: http, md5sum, signature
tool versions, Knoppix sources, Debian sources, KernelKit sources - gLabels CD labels: avery
Applications available in KernelKit
Compiling and cross-compiling
- uClibc toolchains: cross-compiling toolchains for all the following architectures: arm, armeb, i386, ppc, m68k, mips, mipsel and sh4!
- sstrip: a “super strip” program to strip an ELF executable to the very strict minimum.
Booting
- Grub, LILO: bootloaders for i386 systems
- mkimage: kernel and initrd image postprocessor for the U-Boot bootloader.
- tftp-hpa: tftp server for targets booting from the network.
- syslinux: a x86 bootloader from network and removable devices.
System and device information
Kernel development / version control systems
- git: the new kernel source management system.
- cogito: a git front-end.
- gitk: a tcl/tk revision tree visualizer.
- Mercurial: a Source Control Management system for distributed projects. Compatible with git.
- Ketchup: a tool for updating or switching between versions of the Linux kernel source.
- sparse: a static type checker for Linux kernel sources.
- Monotone: a version control system.
Emulation
- QEMU: a cpu and system emulator for several platforms. Great to experiment with i386 or ppc embedded systems.
- SkyEye. An emulator for several popular ARM boards.
- GXemul: a CPU and system emulator, supporting mainly MIPS, ARM, and PPC platforms.
Performance analysis
- Linux Trace Toolkit”: user space tools for analyzing system performance. Note that you can only analyse results so far, and not produce data, as the current KernelKit kernel doesn’t have support yet for LTT.
- Valgrind: memory debugger and performance analysis tool for x86 Linux.
- KCacheGrind: profile data visualization tool.
System development and analysis
- ddd, insight, KDbg: graphical front-ends to debuggers.
- hexedit, khexedit, biew: binary file viewers and editors.
- calcc: a command line calculator for 32 and 64 bit numbers. Very useful for hexadecimal conversions!
- clink: compacts directories by replacing duplicate files by symbolic links.
- finddup: a tool to find duplicate files.
- dupmerge: replaces duplicate files by hard links.
Lightweight applications for embedded systems
- Dillo: a very light and fast web browser.
- e3: a microscopic editor supporting several interface types (vi, emacs…).
Source management
- KDevelop: Integrated Development Environment for Unix/X11. Can be used to create Linux kernel modules.
- cscope: source code indexer, can be used with the Linux kernel.
- kscope: graphical cscope front-end.
Software development
- ccache: a C/C++ compiler cache. Can save a lot of time when you compile the kernel over and over again.
- doxygen: a documentation system.
- ElectricFence: a malloc() buffer-overrun debugger.
- SCons: a Software construction tool. A strong alternative to autoconf / automake / make.
- Splint: static C code checker.
Filesystems
- mtd-tools: tools for creating and handling mtd filesystems: flash_erase, mkfs.jffs2…
- cramfsprogs: tools for the cramfs filesystem
- squashfs-tools: tools for the Squashfs filesystem.
Unix learning help
- fish: the Friendly Interactive SHell makes it much easier to use the Unix command line. The best way to start for beginners.
- vimtutor: part of the vim package. Very nice way to learn vi in 30 minutes!
Misc utilities
- gkermit: a serial communication utility.
- Psyco: a kind of Just In Time compiler for Python. Useful for running the BitBake / OpenEmbedded tool faster.
- xvncviewer: a VNC client. Sometimes useful to display target graphics on the host system.
- 7-zip: the best compression utility. Achieves up to 20% better than bzip2.
Licenses
As a Knoppix GNU/Linux derivative, the CDROM contents are released according to the licenses of each individual software package.
Unlike Knoppix GNU/Linux, KernelKit only ships Free Software packages. This guarantees your freedom to use, (re)distribute, study and modify this software distribution.
The Adelie Penguin picture is Copyrighted by Ron Taylor from R&C Photography. Ron has kindly granted us the right to distribute and modify this photograph, for the only purpose of this Free Software project, and provided the Copyright statement is kept. Many thanks to Ron!
Any other files created specifically for KernelKit are released under the GNU General Public License.
Known issues
Bad screen resolution (KernelKit 0.5.0 and later)
Knoppix 5.0.1 is known to have issues with some graphics cards, in particular the Intel 810 (i810) ones. You get a reduced resolution (640×480).
If this happens, you can try to boot the cdrom with the below boot command line:
knoppix xmodule=i810

