Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
android-x86 pxe boot
2018-07-08, 20:31
Post: #1
android-x86 pxe boot
Hello all,
this is my first post , i am badly in need for help Confused

I want to network boot android-x86 using iPXE. So far i have done the following

1. i have recompiled the android kernel adding nfs , pnp, ethernet , sunrpc etc related supports.
2. Built the final image successfully
3. tested the ISO in virtual box by live cd mode . it works okay

but i am stuck at pxe booting it.
At my server side laptop i have hosted the build output folder of the android-x86 over NFS . Here all the kernel,initrd, ramdisk, system.sfs images & other folders like root ,system etc are residing.

At my client side laptop during the pxe boot , kernel & initrd gets downloaded and the OS seems starts booting as many log prints but the booting gets stuck at "detecting android-x86 ....." . i know that android-x86 has 2 stage booting mechanism and it seems it is stuck at the 2nd stage , maybe it is unable find the ramdisk.img . here is my script ..
------------------------------------------------------------------------------------------------------------
#!ipxe
iPXE> set server_ip 192.168.0.105
iPXE> set nfs_path /home/ayx/android-x86/out/target/product/x86_64
iPXE> kernel nfs://${server_ip}${nfs_path}/kernel || read void
iPXE> initrd nfs://${server_ip}${nfs_path}/initrd.img || read void

iPXE> imgargs kernel root=/dev/nfs rw ip=dhcp androidboot.hardware=android_x86_64 netboot=nfs nfsroot=${server_ip}:${nfs_path},nolock,wsize=1024,rsize=1024 initrd=initrd.img ROOT=${server_ip}:${nfs_path}

boot || read void
-----------------------------------------------------------------------------------------------------------

How can i load the ramdisk.img over nfs using iPXE ? or how can i properly boot android-x86 using iPXE ?
i will be very grateful to your help
Find all posts by this user
Quote this message in a reply
2018-07-09, 15:59
Post: #2
RE: android-x86 pxe boot
Check some of your booting requirements: I don't see that you downloaded ramdisk.img:

Code:
iPXE> set server_ip 192.168.0.105
iPXE> set nfs_path /home/ayx/android-x86/out/target/product/x86_64
iPXE> kernel nfs://${server_ip}${nfs_path}/kernel || read void
iPXE> initrd nfs://${server_ip}${nfs_path}/initrd.img || read void
iPXE> initrd nfs://${server_ip}${nfs_path}/ramdisk.img || read void

iPXE> imgargs kernel root=/dev/nfs rw ip=dhcp androidboot.hardware=android_x86_64 netboot=nfs nfsroot=${server_ip}:${nfs_path},nolock,wsize=1024,rsize=1024 initrd=initrd.img ROOT=${server_ip}:${nfs_path}

try adding another initrd argument in the kernel commandline:

initrd=initrd.img initrd=ramdisk.img

~or~

initrd=initrd.img,ramdisk.img

"Thus far, you have been adrift within the sheltered harbor of my patience..."
Find all posts by this user
Quote this message in a reply
2018-07-10, 18:47
Post: #3
RE: android-x86 pxe boot
Hello @MultimediaMan thanks a lot .. yes you are right i was not downloading the ramdisk.img .
after downloading it the "detecting android ...." stage got solved .. here is my iPXE script

Code:
#!ipxe

echo Hi, trying to boot androidx86
dhcp
set server_ip 192.168.0.103
set nfs_path /home/ayx/android-x86/out/target/product/x86_64
kernel nfs://${server_ip}${nfs_path}/kernel || read void
initrd nfs://${server_ip}${nfs_path}/initrd.img || read void
initrd nfs://${server_ip}${nfs_path}/ramdisk.img || read void
imgargs kernel root=/dev/nfs rw ip=dhcp androidboot.hardware=android_x86_64 netboot=nfs nfsroot=${server_ip}:${nfs_path},nolock,wsize=4096,rsize=4096 initrd=initrd.img,ramdisk.img ROOT=${server_ip}:${nfs_path}
boot || read void
echo Booting

but now i have got a new problem ... the booting gets failed by showing "/system/bin not found" .. actually there are several system paths shown not to be found . in the end the booting is stuck at showing "binder 1756:1756 transaction failed ..... "

do i need to modify the init script or code at the source and build again ?.maybe the rootfs is failing to get mount over nfs ?

thanks for the help.
Find all posts by this user
Quote this message in a reply
2018-12-15, 07:39
Post: #4
RE: android-x86 pxe boot
(2018-07-10 18:47)ayx Wrote:  Hello @MultimediaMan thanks a lot .. yes you are right i was not downloading the ramdisk.img .
after downloading it the "detecting android ...." stage got solved .. here is my iPXE script

Code:
#!ipxe

echo Hi, trying to boot androidx86
dhcp
set server_ip 192.168.0.103
set nfs_path /home/ayx/android-x86/out/target/product/x86_64
kernel nfs://${server_ip}${nfs_path}/kernel || read void
initrd nfs://${server_ip}${nfs_path}/initrd.img || read void
initrd nfs://${server_ip}${nfs_path}/ramdisk.img || read void
imgargs kernel root=/dev/nfs rw ip=dhcp androidboot.hardware=android_x86_64 netboot=nfs nfsroot=${server_ip}:${nfs_path},nolock,wsize=4096,rsize=4096 initrd=initrd.img,ramdisk.img ROOT=${server_ip}:${nfs_path}
boot || read void
echo Booting

but now i have got a new problem ... the booting gets failed by showing "/system/bin not found" .. actually there are several system paths shown not to be found . in the end the booting is stuck at showing "binder 1756:1756 transaction failed ..... "

do i need to modify the init script or code at the source and build again ?.maybe the rootfs is failing to get mount over nfs ?

thanks for the help.

I am also facing same issue "binder 1756:1756 transaction failed ..... ".
can you please help me if issue is solved for you.

Regards,
Sk shahul.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)