# PXE boot not seeing option root



## pathiaki (Sep 28, 2013)

Hi,

I'm going a little bit crazy here. Is there a complete, unencumbered, known to work, PXE for diskless clients, using NFSv4, isc-dhcpd, etc? I have followed about ten different attempted installs including the Handbook, Howtos, forums, Articles and things on Google. (It's weird, I can't get beyond PXEboot as it won't take the correct server path from DHCP, it just says '/' and not my "<IP>:/diskless/FreeBSD".

Thank you,

P.


----------



## bbzz (Sep 28, 2013)

*dhcpd.conf*


```
subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.1;
  option subnet-mask 255.255.255.0;
  range 192.168.1.2 192.168.1.5;
  next-server 192.168.1.1;
  filename "FreeBSD/install/boot/pxeboot";
  option root-path "192.168.1.1:/b/tftpboot/FreeBSD/install/";
}
```
Where next-server points to the TFTP server (which can be run by inetd). Also, check your firewall. Other than that, not sure where you might be stuck.


----------



## pathiaki (Sep 28, 2013)

*My filestructure dhcpd.conf and tftp declaration*

Thank you for the quick reply....

My filesystem setup:


```
/diskless
  /FreeBSD
    (created with the usual from [FILE]/usr/src[/FILE]:  [CMD]make installworld[/CMD]; [CMD]make installkernel[/CMD], [CMD]make distribution[/CMD])
    /boot/pxeboot (no problem loading this)
  /desktops
```

inetd.conf excerpt


```
tftp    dgram   udp     wait    root    /usr/libexec/tftpd      tftpd -l -s /diskless
```

I've stripped the entire /usr/local/etc/dhcpd.conf file down to:


```
default-lease-time 600;
max-lease-time 7200;
authoritative;

log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {
  option routers 192.168.0.0;
  option subnet-mask 255.255.255.0;
  range 192.168.0.32 192.168.0.63;
  next-server 192.168.0.2;
  filename "FreeBSD/boot/pxeboot";
  option root-path "192.168.0.2:/diskless/FreeBSD/";

  host debsmachine {
  hardware ethernet 78:ac:c0:a7:66:a0;
  fixed-address 192.168.0.32;
  }
}
```

It finds the TFTP service. It loads PXEboot. It starts down the road of pxe_open with the correct server address, incorrect server path, and correct gateway IP. And then it just hangs. I've definitely confused myself by looking at too many examples, so something simple is now hitting me.

Thank you.


----------



## wblock@ (Sep 28, 2013)

pxeboot(8) does NFS by default but can be compiled for TFTP.  Maybe you have the TFTP version?


----------



## pathiaki (Sep 29, 2013)

*Solved:  Do not do ZFS sub-partitioning on Diskless*

Hi,

Well, I found out something bad here.  I had created all of those partitions using ZFS and it created a hierarchy. I exported everything the same, but due to something amiss in PXEboot (and let's face it, it's just a tiny loader fairly unaware) not understanding that, it couldn't find anything below the mountpoint. *shrug*

I'm on my way, however, the caveat is to create a directory, do not use the `zfs` command to create any mountpoint/containers. Just create the parent and use `mkdir` to create all the sub-directories.

I'll be starting up new threads as I go if encountering anything else on 9.2-RC4. :e

Also, it seems that NFSv4 works with this on the server end. I hope it will work on the client side as well. I'd really like to see NFSv4 (.1 someday) working on diskless clients on 1 Gb or better networks.

Thanks to everyone for the help.


----------

