[ipxe-devel] adding command line function to ipxe - extend ipxe

Robin Smidsrød robin at smidsrod.no
Sun Apr 22 13:32:21 UTC 2012


I just tried booting the LiveAndroid 0.3 iso found at
http://code.google.com/p/live-android/, and it didn't work with sanboot,
as the initrd seems to just forcibly mount the CD directly from
/dev/block/sr0.

If you unpack the ramdisk in that ISO with zcat ramdisk | cpio -i you'll
notice how the boot system is set up by looking at init.rc.

AFAICT, there is no support for mounting anything from the network. Then
again, Android is not really designed for always-on-networking, so it
doesn't come as a surprise.

If anyone has anything else to share, please post here:
http://forum.ipxe.org/showthread.php?tid=432

-- Robin

On 22.04.2012 14:37, Robin Smidsrød wrote:
> If the Android installer is anything like another Linux distribution, it
> boots with a kernel+initrd, which in turn contains all the required
> files to bootstrap the installer. If it does, you should be able to boot
> Android with an iPXE script similar to this, named android_installer.ipxe:
> 
> #!ipxe
> 
> kernel http://my.boot.server/path/to/android/installer/kernel
> initrd http://my.boot.server/path/to/android/installer/initrd
> imgargs kernel whatever kernel cmdline params required here
> boot
> 
> You create a text file like this somewhere on a webserver (or TFTP
> server if you so prefer).
> 
> If you want to boot that file from a PXE-enabled boot ROM you need to
> set up you DHCP server to give out the right info, namely the "filename"
> option in your DHCP server, somewhat like this for ISC DHCPD:
> 
> if exists user-class and option user-class = "iPXE" {
>       filename "http://my.boot.server/android_installer.ipxe";
> } else {
>       filename "undionly.kpxe";
> }
> 
> This is called "chainloading", and is explained here:
> http://ipxe.org/howto/chainloading.
> 
> Starting up iPXE on the Android device might be a bit tricky if it
> doesn't have a PXE-supported option ROM, but if it supports booting from
> USB you should be able to put iPXE on a bootable USB stick by following
> the instructions here: http://ipxe.org/download
> 
> Once you've booted the USB stick you need to press Ctrl-B and type in
> the following commands:
> 
> dhcp
> chain http://my.boot.server/android_installer.ipxe
> 
> This of course only works on x86-compatible hardware, as iPXE does not
> support ARM.
> 
> Hope this helps. Please do tell us if this works for you.
> 
> -- Robin
> 
> On 21.04.2012 22:25, Levy, O wrote:
>> Thanks for your reply. I have to be able to install android(x86) directly from ipxe and I'm not sure how; any thoughts?
>> I thought if I add "install" command to ipxe then I can load the image, then its installer.
>>
>> -----Original Message-----
>> From: ipxe-devel-bounces at lists.ipxe.org [mailto:ipxe-devel-bounces at lists.ipxe.org] On Behalf Of Robin Smidsrød
>> Sent: Tuesday, April 10, 2012 2:28 AM
>> To: ipxe-devel at lists.ipxe.org
>> Subject: Re: [ipxe-devel] adding command line function to ipxe - extend ipxe
>>
>> On 09.04.2012 22:14, Levy, O wrote:
>>> I’d like to extend ipxe command line, local copy, to enable for 
>>> example android install on ipxe client.
>>>
>>> What would be the best way to add command line function.
>>
>> Why would you need to extend iPXE to boot Android? Isn't Android started by booting a Linux kernel? If so, I don't see why Android couldn't be booted in the same way as any other Linux OS.
>>
>> Could you please describe a bit more in detail how you're planning to boot Android over the network? I'm personally interested in being able to boot Android over the network on x86.
>>
>> Or are you trying to boot an ARM device over the network?
>>
>> -- Robin
>> _______________________________________________
>> ipxe-devel mailing list
>> ipxe-devel at lists.ipxe.org
>> https://lists.ipxe.org/mailman/listinfo/ipxe-devel
> 
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo/ipxe-devel




More information about the ipxe-devel mailing list