iPXE discussion forum
Has anyone used iPXE to boot off Android? - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Has anyone used iPXE to boot off Android? (/showthread.php?tid=432)



Has anyone used iPXE to boot off Android? - hsuanyeh - 2011-06-26 11:09

It should be very interesting if one can do so...


RE: Has anyone used iPXE to boot off Android? - dominikr - 2011-06-28 15:58

Do you mean running a DHCP/TFTP server on an Android?
You could use dnsmasq for that - a small DHCP/TFTP/DNS server meant for embedded systems. I currently run it on a Linksys WRT54GL Wifi router. Config files, pxelinux stuff and e.g. memtest is on the router itself, Kernels etc on an external server.
If you have shell access to your Android and a working crosscompiler it shouldn't be very complicated.


RE: Has anyone used iPXE to boot off Android? - hsuanyeh - 2011-06-28 17:43

(2011-06-28 15:58)dominikr Wrote:  Do you mean running a DHCP/TFTP server on an Android?
You could use dnsmasq for that - a small DHCP/TFTP/DNS server meant for embedded systems. I currently run it on a Linksys WRT54GL Wifi router. Config files, pxelinux stuff and e.g. memtest is on the router itself, Kernels etc on an external server.
If you have shell access to your Android and a working crosscompiler it shouldn't be very complicated.

I think I did not ask my question properly. I mean booting a mobile device (or virtual machine) into Android without having to install anything on the mobile device (or virtual machine). I know iPXE currently does not support 3G or 4G network chips. But it would be great if one can netboot Android using a virtual machine or emulator...


RE: Has anyone used iPXE to boot off Android? - robinsmidsrod - 2012-04-22 14:42

If you plan on network booting Android with iPXE, I'm assuming you're using x86 hardware, so http://www.android-x86.org/ might be of interest.


RE: Has anyone used iPXE to boot off Android? - mikechan - 2015-02-05 04:28

Not yet.
Android is using bionic libc which is not compatible with glibc which is the open-iscsi compiled with.

Alpine Linux is using musl libc, they immigrate opetn-iscsi into the userland but not yet into kernel root file system. Even the kernel is supporting iscsi, you still need the kernel mount the iscsi drive prior to the OS start.

In order for Android to boot off iscsi, you first have to recode open-iscsi based on bionic libc, then move to its kernel rootfs.

Both musl and bionic are claiming to support booting off NFS root file system which usually is the foundation to boot off iscsi. The actual success demo is hard to be found.


RE: Has anyone used iPXE to boot off Android? - Tal Aloni - 2016-07-05 11:56

1. open-iscsi is partitioned into user and kernel parts,
My Moto G (XT1032) kernel source code includes the kernel part of open-iscsi, and I can successfully select "iSCSI Initiator over TCP/IP" (under "SCSI low-level drivers" during "menuconfig") and successfully build the open-iscsi kernel modules.
it's only the user-mode part that can't be built for Android as-is.

2. Network booting Android is an entirely different story:
Android devices do not have a PXE stack, they have a PBL (primary boot loader, stored in the device ROM) that loads a secondary bootloader from the eMMC which usually loads a third bootloader (ABOOT, which also includes the "fastboot" interface) which then loads the Android kernel (either from the eMMC or from a connected PC using the fastboot interface).

So realistically, you'll only be able to serve the "system" and "data" partitions from an iSCSI target, and it requires building a custom kernel.