(04-05-2018, 05:09 AM)pfeerick Wrote: If you're still around and looking for how to do this... I'm in the process of working on that, and am half-way there
I also have a dnsmasq (proxyDHCP) PXE setup, and have gotten my rock64 to start booting from it.
You basically need the following in your pxe boot menu, and the matching files -
Code:default rock64-kernel-4.4
prompt 0
timeout 3
menu title Boot options
label rock64-kernel-4.4
kernel /Image
initrd /initrd.img
fdt /dtb
append earlycon=uart8250,mmio32,0xff130000 rw root=/dev/nfs nfsroot=${serverip}:/data/rootfs/rock64-1 rootwait init=/sbin/init mtdparts=spi32766.0:32k(system),4064k(loader),3840k(reserved),256k(vendor),4M(uboot),4M(atf)
As I noticed once the rock64 started it's PXE requests that it was requesting via it's MAC, I created it's own config file with menu containing that, so that once I'm done it will have both a boot menu and auto-boot config.
I then created (I'm still trying to piece how this goes together so I can transfer this over to the clusterboard... so could be way off the mark here...)
boot.scr.uimg - empty - Becase uboot keeps looking for it. I suspect it allows for custom uboot commands, so it merely existing allowed things to continue
Image -> /boot/vmlinuz-4.4.114-rockchip-ayufan-193 (ln -s'd from running system but copying would be more better in the long term due to upgrades)
initrd.img -> /boot/initrd.img-4.4.114-rockchip-ayufan-193 (ln -s'd from running system - above applies)
dtb -> /boot/dtb
and it essentially works now... rock64 will pull down the kernel via the network and boots. And it also now pulls down its root filesystem over the network via NFS. After going back and editing the /etc/fstab as distributed and commenting out the /boot mount point which was now completely wrong, it seems to be booting up to a usable system just fine so far.
You can also extract those files from the boot.img contained within any of ayufan's minimal images, etc... just keep unpacking the file
One oddity in my setup so far though... it doesn't get the serverip for the TFTP/PXE server automatically like it should... remains 0.0.0.0, although a laptop and VMs on my desktop boot just fine (so I know dnsmasq IS working)... so I have to set it manually until I manage to lock it into the uboot environment properly or work out why the rock64 is misbehaving - just need to work out how to save it to the SPI since it's also booting from that... that plus the PXE menu doesn't autoselect, but that could be because I have to manually intervene atm... work in progress!
Yes, I am still looking into this. I have put it on the back burner for the time being as I have paid work to be doing!
I was getting CRC failures reading from the TFTP server so I did not know if my TFTP boot server or the uboot were at fault...
I am aiming at using the Digital Rebar Provisioner in the long run to build my machines. (Well worth looking at!) The problem at the moment is that the main images that it uses (sledgehammer etc) are not compiled for Arm64 currently, so it is a 'no go' at the moment. It works brilliantly for amd/intel though!
Please keep me updated with your progress.
EDIT
Decided to try again...
Sometimes I can get it to load files, other times I get a load of 'UDP wrong checksum 00000010 0000ee36' and then a message saying 'TFTP error: 'read udp [::]:37865: i/o timeout' (1)'