Touch based Dual Boot Menu

Petr Vanek vanous at penguin.cz
Tue Mar 10 12:13:26 CET 2009


AG> Not 100% certain but stripping the 64-byte U-Boot header that we add
AG> will certainly devolve it somewhat.
AG> 
AG> | I am not really sure i understand what happens here (build
AG> script): |
AG> | ${CROSS_COMPILE}objcopy -O binary -R .note -R .comment -S
AG> |  $1/arch/arm/boot/compressed/vmlinux $1/linux.bin
AG> 
AG> This is removing the note and comment sections from vmlinux
AG> 
AG> | mkimage -A arm -O linux -T kernel -C none -a $START -e $START
AG> |  -n "OM $PRODUCT $BRANCH""_$HEAD" -d $1/linux.bin
AG> $1/uImage-$PRODUCT.bin
AG> 
AG> This is adding a short U-Boot header in front of the kernel binary,
AG> it has stuff like a datestamp and details about the kernel in it,
AG> together with a short version name.

i have been running my test image for a while now. it is not really
sexy - 7Mb big, i used python-tkinter to run the menu. i can post it
somewhere if people want. the downsides i can see:

- it does require a custom built kernel in each distro (due to zImage
  requirement - if we could strip u-boot headers and make zImage out of
  uImages on the fly this would solve it.
- slow to start (17 secs in this current setup) (could be fixed by C
  skilled programmer which i am not - size would go down, speed up.
- unless we store a config file on nand or do autodetection,
  customization is not easy

upsides:

- i have 5 booting options to choose from (nand+4card partitions
  without having to play with boot_env)
- can run phone by _one_pwr_press_ instead of a pwr-aux combination (qi)
- can choose boot partition easily with one hand

Petr




More information about the devel mailing list