PXE / Netboot rpi3 recalbox
i was wondering if someone could shed some light on where im going wrong :)
i have a dsikless/usbless/mmcless rpi3 booting from pxe, which works like a dream on rasbian. however when i try to make it boot recalbox im unable to get the root to mount.
the pi boots takes the bootcode.bin, cmdline.txt,config.txt, kernel and intird.gz from the tftp server and the pi boots as far as trying to mount /boot_root. however whatever i try im unable to get it to mount.
i have tried to put the /boot dir in a nfs share and point the cmdline at the nfs i.e
however this still does not work. has anybody had recal box work from pxe?
@chris-maughan this is my cmdline.txt that does not work
root=/dev/nfs nfsroot=//192.168.1.15:/nfs/client1 rw ip=dhcp rootwait elevator=deadline fastboot noswap
obviosly in my nfs share is the /boot files which contains the files "initrd.gz linux overlay recalbox"
@chris-maughan Never tried netbooting recalbox for many reasons (not easy to set up, requires quite some skills, complicated to debug, etc ...)
what do you call
/boot_root? Is the kernel loaded at least ?
I'm not sure we compiled NFS support in the kernel, to be honnest. It should be on its default value ... And remember the current recalbox is a 4.1 kernel
Ahhh i may have to recompile the kernel then. I thought nfs was default in 4.1?
I have done pxe a few times im a linux user not winBlows ;)
/boot_root is the readonly recalbox file in the boot dir... im playing more today so ill post back if i get her running
@chris-maughan Do you get any kernel error message when it should mount / ? The kernel option is the first error i thought of, but as I said, it's a vanilla 4.1 kernel (almost : just changed 2-3 options + patched some usbhid, so nothing linked to NFS)
Just say unable to mount none on /boot_root.. ill have a look at the kernel later
@chris-maughan we had a notice from NOOBS dev regarding the USB boot process, but haven't tried nor made anything inside recalbox to make it work. Other concerns to take care of before
Regarding the boot process, it's all based no the cmdline file : the
root=specifies the device to be mounted as /, nothing more. Recalbox is made of 3 partitions : /, /boot and /recalbox/share. The latter is mounted during the init process depending on an external device, a network share or the internal SD.
@substring ok thanks, ill play some more
@chris-maughan i've quickly read through https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md how does the fstab look line on your nfs server ?
my nfs mount is not mounted in fstab on the server :/ its a real directory shared via /etc/exports
@substring yer i tried to fudge it a little with rasbian but of course this is not rasbian. ill have to extract the image and have some more play time :)
@chris-maughan If you ever succeed and feel like contributing to the wiki, i'd gladly review and test it ;)
@ Substring ok coool. so at present netboot on the pi3 is a little hit and miss.
heres my fstab on the recalbox share
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs mode=1777 0 0
tmpfs /var tmpfs mode=1777 0 0
tmpfs /run tmpfs mode=1777 0 0
sysfs /sys sysfs defaults 0 0
sometimes it takes the kernel sometimes it doesnt and then restarts the dhcp process then fails.
so far i have extracted the squashfs recalbox file to my nfs/root so in effect if/when i get it to weork the rootfs will be a shared folder on a server rather than a ram disk, soon as i get some time ill have another stab at it, but at the moment im at work.
the reasoning behind me trying to do this. i would like to have multiple rpi3 running my recal box build but i want them to be exactly the same build. i know i could just copy the image to other cards but this is more fun/interesting ;)