DELETEME **This image has still not been heavily tested, so use it at your own risk and DON'T forget to make backup before testing it.** DELETEME ====== MultiBoot Image ====== MultiBoot is a minimalistic self containing linux system designed to solely fit inside the Recovery partition of the AC100. It offers a multiboot menu thanks to [[http://kexecboot.org|KexecBoot]] project using a modified 2.6.38 kernel. This kernel supports the kexec syscall, so any linux distro can virtually be booted with this MultiBoot image, including Android. ===== Installation ===== ==== Where to install ? ==== Although MultiBoot can just be installed in place of the main kernel, but can also be installed on the recovery partition. Please note that booting a different system through the recovery menu is only supported on the bootloader provided by Android 2.1. If you have upgraded your AC100 to Android 2.2 prior to install linux, it's highly advisable to downgrade your AC100 to Android 2.1 (you do have backups, [[backups|don"t you ?]]) ==== Download ==== Official MultiBoot release 1 image is available from there: http://www.pkg.fr/chrome/site/multiboot-r1.img ==== Using nvflash ==== ==== From a working AC100 system ==== Check that your sos partition is /dev/mmcblk0p1 with: abootimg -i /dev/mmcblk0p1 And install it with: dd if=multiboot-r1.img of=/dev/mmcblk0p1 ===== Usage ===== Create a /boot subfolder in any MMC partition. To try it, you can just use any SD Card large enought to contain a kernel image and an initrd: 8Mb can be enought but more is better ;) When booting, Kexecboot will scan all available partition for a /boot subfolder. Create a config file named boot.cfg. You may just used the example from: https://gitorious.org/~tequila/ac100/tequilas-ac100-multiboot/blobs/master/config/boot.cfg In that example, zImage kernel and initrd.img initramfs are in the same folder than boot.cfg. The path for KERNEL and INITRD lines are from the base of the used partition. Check eventually the [[kexecboot.org/documentation|KexecBoot documentation]]. Boot your device on multiboot, wait few seconds, select the kernel you want with the arrow keys, than press Enter. ===== Tips and Tricks ===== ===== Sources ===== MultiBoot sources are hosted on gitorious: http://gitorious.org/~tequila/ac100/tequilas-ac100-multiboot Retrieve git repository: $ git clone git://gitorious.org/~tequila/ac100/tequilas-ac100-multiboot.git Built it: $ cd tequilas-ac100-multiboot $ ./build_all ===== Technical details ===== Essentially, kernel is modified to not disable D-cache during machine_kexec call. In the kernel configuration, it is important to disable SMP and THUMBEE to have kexec syscall working.