trying Qi

Andy Green andy at openmoko.com
Fri Jan 30 13:42:02 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Somebody in the thread at some point said:
| Hi Andy,
|
| | This can be done way better than a bootloader ever can with a chopped
| | down Linux kernel and tiny rootfs on the framebuffer / display and
| | touchpanel.
|
| Any pointers for making a tiny rootfs (Ramdisk)? Do you have
| any pre-built ramdisk available anywhere ?

You don't need an initrd to get started.

Initrd means that the bootloader must read the whole filesystem from SD
before starting Linux; if your filesystem has a lot of jpgs or whatever
which you only show at certain times, it's a disadvantage to have to
read through them all (compressed or not) before your kernel starts.

A little rootfs will be more efficient in that kind of case, Linux
starts immediately and then it just reads what it needs as it needs it
from the rootfs.  Initrd is also an abnormal situation for updating, you
have to update the whole thing in one hit.

If you're interested to do one then I would first try to get it working
in a normal rootfs.  Some of the things that need sorting is you
probably want to use framebuffer directly and not X, then you want a
light library like maybe SDL.

When it does something you can make a 10MB or less ext3 partition on SD
and populate it with just the pieces you need from the working version
filesystem.

You won't need udev, just a canned /dev with the devices you need.

And for speed, you might want to remove a large amount of config options
on the kernel build, for example the whole networking layer and drivers,
WLAN, USB, etc to get the kernel under 1MB.

You can also discard sysvinit so your app is "init".

- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iEYEARECAAYFAkmC9ZoACgkQOjLpvpq7dMrZ4ACeNunWZTAz7Uuxvf5x3YiTYbxS
xN4An2Y0SUb6gKaIHjabLdDYKJDTsnD3
=3KeT
-----END PGP SIGNATURE-----



More information about the openmoko-kernel mailing list