Important: This add-on is no longer necessary.

The Xillinux distribution now available for download (version 1.1) runs the "rich kernel" by default. If in doubt, type "uname -r" on Xillinux' shell prompt to determine the effective version.

Xillinux 1.0 users who want to stick to their existing installation may extend their kernel's capabilities using this deprecated patch.

What it is

Soon after the release of Xillinux 1.0, it turned out that some people out there want to take advantage of certain features of the Linux kernel, that go beyond the classic setting for an embedded system. Since Xillinux' original Linux kernel was compiled with a rather thin set of features, a "rich kernel" was set up. It's compiled from exactly the same kernel sources, only configured to support as many features as possible (using kernel modules where possible).

The package consists of a Linux kernel and a set of kernel modules.

The package is easy to install for whoever is fairly familiar with the UNIX command line interface. Nothing is overwritten on installation, so it's also easy to uninstall it, if desired.

Who should use this

As mentioned above, only Xillinux 1.0 users, to begin with.

If a USB device isn't recognized, a file system type, a network functionality or some other operating system related feature fails due to what appears to be lack of kernel support, the "rick kernel" may very well solve the problem.

This kernel extension will become the mainline kernel in the next Xillinux release.

Comments and suggestions are welcome, in particular regarding what is missing or superfluous. The "rich" kernel was intentionally configured with several features with no apparent use, in particular when the functionality is implemented as a kernel module.

Note: The patch was updated on November 23rd 2012 to allow kernel module compilation against the "rich" version (kernel headers were added). Those who have installed the older version may repeat the installation, which will harmlessly overwrite some files and add others. There is no need to "uninstall" anything first.

Installation

  • Download the patch tarball: xillinux-rich-patch.tar.gz
  • Boot Xillinux and make this file available to the Linux system running on it (e.g. put it on a USB stick, and mount it)
  • Uncompress the tarball from the root directory as follows:
# cd /
# tar -xzf /path/to/xillinux-rich-patch.tar.gz

This will install kernel related files in the /boot directory and kernel modules in /lib/modules/3.3.0-xillinux-1.0-rich+/.

  • Mount the SD card's first partition (which is booted from):
# mount /dev/mmcblk0p1 /mnt/
  • Copy the Linux kernel image to become the one booted from, after moving the existing kernel aside for backup:
# mv /mnt/zImage /mnt/old-zImage
# cp /boot/vmlinuz-3.3.0-xillinux-1.0-rich /mnt/zImage
  • Unmount the partition
# umount /mnt
  • Those who care about formalities, may want to change the symbolic link of /boot/vmlinuz to point at /boot/vmlinuz-3.3.0-xillinux-1.0-rich, even though this has no functional significance.
  • Shutdown and restart. The new kernel should now have booted:
# uname -r
3.3.0-xillinux-1.0-rich+

Reverting

To go back to the original kernel, simply move old-zImage to zImage in the SD card's first partition. All files generated while uncompressing the tarball can be removed, if the original kernel image is going to be used permanently.