5

Looking for a full example that shows how to network boot (and keep running with whatever is baked into the ramdisk image) without any kind of SDcard in the PI.

What I've done up until this point.

Followed the instructions here: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md and got my raspberry pi v3 to network boot and use an NFS share as a root file system.

Now, I am looking at network booting and using a ramdisk rootfs. I have build a minimal initrd image w/ busybox and copied the compressed image into /tftpboot.

ls -la /tftpboot/initrd-3b.img
-rw-r--r-- 1 pi pi 1087650 Feb  7 00:22 /tftpboot/initrd-3b.img

1087650 => 1098A2

I have tried just about every possible combination or the initrd params in config.txt and cmdline.txt.

Setup 1

/tftpboot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 rw ip=dhcp rootwait elevator=deadline loglevel=6 initrd=0x01f00000

/tftpboot/config.txt
initramfs initrd-3b.img 0x01f00000

Outcome 1 I see the DHCP traffic + Pi get the correct IP + I see both the kernel and the initrd being tftpd to the Pi. At around 5 seconds in, it crashes with a Kernel Panic (secondary_start_kernel) from [<0010196c>] (0x10196c)

Setup 2

/tftpboot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 rw ip=dhcp rootwait elevator=deadline loglevel=6 initrd=0x01f00000,0x1098a2

/tftpboot/config.txt
initramfs initrd-3b.img 0x01f00000

Outcome 2 Same, at around 5 seconds in, it crashes with a Kernel Panic (secondary_start_kernel) from [<0010196c>] (0x10196c)

Also attempted to do:

initramfs initrd-3b.img followkernel

but this also does not work.

  • 2
    You've been around StackExchange for some time. I'm confused, as you should already know "I'm looking for a tutorial"-questions are discouraged. – techraf Feb 7 '17 at 1:18
  • @techraf I'm with you here but this does to be a very simple use case and I was expecting this to be documented / explained. I cannot believe I'm the only person that is trying to do this and believe that a pointer to the said example would help immensely. – Mircea Feb 8 '17 at 17:00
  • Here is an example of such an example I've put together at some point in time: stackoverflow.com/questions/9392655/how-to-consume-amazon-swf/… It still receives a lot of traffic and has helped a lot of people. I believe helping someone after he/she explained the problem is more in the spirit of SO. – Mircea Feb 8 '17 at 17:02
2

Your best bet is likely to adapt a "live boot" disto. My Nard SDK being one example. It always run from a ramdisk, even when SD card is present. The development version in Git will have best chances for network boot to work.
http://www.arbetsmyra.dyndns.org/nard/

  • thanks. will give this a shot. Still trying to understand how the network boot process works under the hood - but don't see any harm in using something prebuilt if the understanding is there. – Mircea Feb 8 '17 at 17:03
0

Answering this for future generation of explorers.

2 issues:

  • the size was incorrect
  • the init script used was exiting (finishing)

Both of them made the boot process go horribly wrong.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.