> 1. We have a widespread piece of hardware.
> 2. We prepare a Replicant microsd card for that specific hardware.
> 3. We, somehow, modify the device's internal memory, so that we can
choose to boot either the original/almost intact vendor-provided android
from internal memory, or free and customized Replicant from microsd.

In most cases, you cannot decide where the bootloader should boot from.
I know that on the Nexus S, it boots from NAND first and the only way of
changing the boot order is to move some resistors on the board. It then
can boot from UART (perhaps MMC too) but you still need a signed binary.
There is however a possibility to chainload u-boot (with a proprietary
and signed BL1) and then make it boot from MMC or NAND.

On most Android phones, the best we found to do multi-boot is to use the
recovery partition with a kernel that will mount partitions not from
NAND, but from the sdcard. For instance, you'd have Android on NAND and
GNU/Linux on sdcard, with the Android kernel on the boot partition and
the GNU/Linux kernel on the recovery partition. Most devices have a key
combination to boot directly to recovery, so that would work.

Then you could also flash u-boot on kernel and make it load the kernel
from somewhere else, that could make it do multi-boot as well.

-- 
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution

Website: http://www.replicant.us/
Redmine: http://redmine.replicant.us/

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Replicant mailing list
Replicant@lists.osuosl.org
http://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to