When you reach the console prompt, you can try regular Unix commands but also the graphical demo:

run_demo

FAQ / Troubleshooting

Q: I get Could not initialize SDL - exiting when I try to run qemu.

That’s a qemu issue (qemu used the SDL library). Check that you can start graphical applications from your terminal (try xeyes or xterm for example). You may also need to check that you have name servers listed in /etc/resolv.conf. Anyway, you will find solutions for this issue on the Internet.

Screenshots

How to rebuild this demo

You can rebuild or upgrade the (Vanilla) kernel by using the given kernel configuration file.

The configuration file expects to find an initramfs source directory in ../rootfs, whichyou can create by extracting the contents of the rootfs.tar.7z archive.

Of course, you can make changes to this root filesystem!

Tools and optimization techniques used in this demo

Software and development tools

The demo was built using Scratchbox, a fantastic development tool that makes cross-compiling transparent!

The demo includes BusyBox 1.4.1, an toolbox implementing most UNIX commands in a few hundreds of KB. In our case, BusyBox includes the most common commands (like a vi implementation), and only sizes 192 KB!

The root filesystem is shipped within the Linux kernel image, using the initramfs technique, which makes the kernel simpler and saves a dramatic amount of RAM (compared to an init ramdisk).

The demo is interfaced by DirectFB example programs (version 0.9.25, with DirectFB 1.0.0-rc4), which demonstrate the amazing capabilities of this library, created to meet the needs of embedded systems.

Size optimization techniques

The below optimization techniques were used to reduce the filesystem size from 74 MB to 3.3 MB (before compression in the Linux kernel image):

Techniques to reduce boot time

Use the Preset Loops per Jiffy technique to disable delay loop calculation, by feeding the kernel with a value measured in an earlier boot (lpj setting, which you may update according to the speed of your own workstation).