Qi is a replacement for the uBoot bootloader reduced to the core bootloader functions.
GTA02 Hardware is recommended over GTA01, since GTA02 does have a fallback u-boot in nor that provides DFU-Mode. Qi does NOT provide DFU-Mode so GTA01-Users will have no (easy) way to flash their device!
# SD Partition 1 # SD Partition 2 # SD Partition 3 # NAND # Memory Test
Qi's concept is to leave everything possible to Linux, that includes even the video init. Therefore Qi does NOT provide a boot menu. This should rather be implemented by a minimal Kernel, initramfs and menu system. It may be more comfortable for some users and may get them to switch from uboot to Qi. This does not exist yet.
Pressing AUX after powering the device skips the current boot device. Acknowledged by vibrator. TBD properly.
The daily download is a qi-s3cXXXX-andy_somenumber.udfu file at http://people.openmoko.org/andy/ . Use the file appropriate to your device:
The installation should be flashing like;
# dfu-util -a u-boot -R -D qi-s3c6410-andy_8589b40295653557.udfu
git://git.openmoko.org/git/qi.git , http://git.openmoko.org/?p=qi.git;a=summary . One can also just use strings(1) on the .udfu file to get an idea of where Qi currently looks for files.
The latest README file can be found in the git as well:http://git.openmoko.org/?p=qi.git;a=blob;f=README;hb=HEAD
[1] If it's SD Card boot, just create a text file, e.g., for a GTA02 use
/boot/append-GTA02
on the rootfs in question, put in there
console=tty0 loglevel=8
and you'll see the messages on boot. If it's NAND right now you need to edit the default commandline in Qi for gta02.
If you don't specify loglevel=8 in append-GTAXX, and booting fails with a "VFS: Cannot open root device "mmcblk0p1" or unknown-block(2,0)", the SD card needs a little bit more time to initialise.
Put a "rootdelay=" in append-GTAXX like so:
rootdelay=1
Stopwatch results on Qi (error is approx ±1/2 second):
Booting SHR image with uBoot:
Booting identical setup with Qi flashed over uBoot:
So for this particular configuration, it reduced time-to-desktop by about 28%, about 44 seconds. Surprisingly, the later segments of booting (desktop) were also noticeably faster than with uBoot - One would have expected just the fist stages up until init (kernel finished establishing itself) to be faster.