0

I have a raspberry pi 3B and I am trying to enable network boot from the ROM so that I can load firmware, uboot, kernel, etc. over the network and I don't have to use SD card.

So I ensured that the network boot is ON for my Pi :

$ vcgencmd otp_dump | grep 17:
17:3020000a

I removed the SD card and powered on my pi. I also started tcpdump tracing. I can see that the Pi did send DHCP request and got the IP address in response from my dhcp server.

23:17:06.894031 IP (tos 0x0, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 350)
    0.0.0.0.bootpc > 255.255.255.255.bootps: [no cksum] BOOTP/DHCP, Request from b8:27:eb:64:24:7d (oui Unknown), length 322, xid 0x26f30339, Flags [none] (0x0000)
      Client-Ethernet-Address b8:27:eb:64:24:7d (oui Unknown)
      Vendor-rfc1048 Extensions
        Magic Cookie 0x63825363
        DHCP-Message (53), length 1: Discover
        Parameter-Request (55), length 14:
          Vendor-Option (43), Vendor-Class (60), BF (67), Unknown (128)
          Unknown (129), Unknown (130), Unknown (131), Unknown (132)
          Unknown (133), Unknown (134), Unknown (135), TFTP (66)
          Subnet-Mask (1), Default-Gateway (3)
        ARCH (93), length 2: 0
        NDI (94), length 3: 1.2.1
        GUID (97), length 17: 0.125.36.100.85.125.36.100.85.125.36.100.85.125.36.100.85
        Vendor-Class (60), length 32: "PXEClient:Arch:00000:UNDI:002001"
23:17:06.894417 IP (tos 0xc0, ttl 64, id 44357, offset 0, flags [none], proto UDP (17), length 328)
    archlinux.bootps > 10.0.0.25.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x26f30339, Flags [none] (0x0000)
      Your-IP 10.0.0.25
      Server-IP archlinux
      Client-Ethernet-Address b8:27:eb:64:24:7d (oui Unknown)
      Vendor-rfc1048 Extensions
        Magic Cookie 0x63825363
        DHCP-Message (53), length 1: Offer
        Server-ID (54), length 4: archlinux
        Lease-Time (51), length 4: 43200
        RN (58), length 4: 21600
        RB (59), length 4: 37800
        Subnet-Mask (1), length 4: 255.255.255.0
        BR (28), length 4: 10.0.0.255
        Default-Gateway (3), length 4: archlinux
23:17:12.066457 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.25 tell archlinux, length 28
23:17:12.279908 IP (tos 0x0, ttl 64, id 8889, offset 0, flags [DF], proto TCP (6), length 52)
    archlinux.1002 > 10.0.0.25.35909: Flags [.], cksum 0xf308 (correct), seq 76, ack 29, win 502, options [nop,nop,TS val 1802562369 ecr 1857719806], length 0
23:17:13.079905 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.25 tell archlinux, length 28
23:17:14.093226 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.0.25 tell archlinux, length 28

Beyond this I do not see any activity on the serial console or the tcpdump logs. Pi did not request for any files. As per this article here, I should have seen following logs :

12:48:52.659077 IP (tos 0x0, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 49)
    192.168.97.100.49153 > paula.tftp: [no cksum]  21 RRQ "bootcode.bin" octet

12:49:03.471670 IP (tos 0x0, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 48) 192.168.97.100.49154 > paula.tftp: [no cksum] 20 RRQ "bootsig.bin" octet

But I don't see any such file request logs in my case, which indicates that the Pi is not requesting for any files, hence could be the reason for no boot from Pi. What could be wrong here and how to proceed? Please guide.

InsaneCoder
  • 123
  • 5

0 Answers0