Qi is a boot manager. It is designed to replace uBoot. But Qi will be simpler and faster.
Qi's concept is it leaves everything possible to Linux, that includes even the video init. Therefore Qi does NOT provide a boot menu.
The primary NOR uBoot menu on Freerunner (GTA02) (Aux first, power second, wait for menu) still works. The NAND uBoot (Power first, aux second, wait for menu) is replaced with Qi. There will be no output on screen from Qi expect the kernel booting shortly after.
Neo 1973 (GTA01) has no NOR flash. Therefore it jumps directly into Qi. There is no fallback bootmenu and no DFU-Mode.
Qi will boot from any kernel named uImage-GTA0[123...].bin in the /boot folder in the root of an ext2 or ext3 partition on the uSD card.
Failing to find a kernel in the SD card, Qi will boot from the kernel in NAND (if the kernel works of course, see below). Failing to find a valid kernel, Qi perform a memory test. It means that one can either move kernels out of the way to get the memory test, or make an SD Card just with normal Qi on it and no kernels to get a memory test.
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.
[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.