I'm a little surprised that their solution for installation is to replace Android. I would think dual-booting would be easier to get developers to commit their own devices for testing.
Is dual-booting not possible/really difficult on the Nexus 7?
There's no real boot framework on mobile devices the way there is for PCs. Android boxes have traditionally had the ability to boot into one of two kernel+initrd environments: "recovery" and "system", and that's it. The hardware OEMs make this framework work via whatever tricks they want to play, and then ship.
Obviously a second stage bootloader could be written, but it's going to be highly hardware-specific -- one for the OMAP4-based Galaxy Nexus wouldn't work with the Tegra3-based Nexus 7, etc...
Could you at least write a rebooter that would rewrite /boot and then have two "partitions"? You could go into Ubuntu and choose "reboot into Android" and it would rewrite /boot and then restart the device?
I wonder how the bootloader for the Touchpad works. It had the functionality I describe though I have no idea how it was implemented.
Yes, you could do that. On all the devices I've played with the kernel+initrd image is a standard format and exposed as a single partition. You'd just dd your new one over it and reboot. But this would be fragile, to say the least.
Comments
I'm a little surprised that their solution for installation is to replace Android. I would think dual-booting would be easier to get developers to commit their own devices for testing.
Is dual-booting not possible/really difficult on the Nexus 7?
There's no real boot framework on mobile devices the way there is for PCs. Android boxes have traditionally had the ability to boot into one of two kernel+initrd environments: "recovery" and "system", and that's it. The hardware OEMs make this framework work via whatever tricks they want to play, and then ship.
Obviously a second stage bootloader could be written, but it's going to be highly hardware-specific -- one for the OMAP4-based Galaxy Nexus wouldn't work with the Tegra3-based Nexus 7, etc...
Could you at least write a rebooter that would rewrite /boot and then have two "partitions"? You could go into Ubuntu and choose "reboot into Android" and it would rewrite /boot and then restart the device?
I wonder how the bootloader for the Touchpad works. It had the functionality I describe though I have no idea how it was implemented.
Yes, you could do that. On all the devices I've played with the kernel+initrd image is a standard format and exposed as a single partition. You'd just dd your new one over it and reboot. But this would be fragile, to say the least.
There's no real existing support for dual-booting on the N7 I'm aware of; and the effort to do so would likely be better spent on Ubuntu-ARM itself.
At least the Nexus 7 is a cheap platform. I'm almost tempted to get one if I can stay away from Android (and the related Google dependence/data leak).
The other advantage is that it could help people fully commit rather than switching backwards and forwards.