Hi guys,
I'm trying to add FreeBSD 10.0 to our internal PXE network install server but I'm failing miserably.
I've configured the pxelinux.cfg file in this way:
It's not working due to the fact that pxeboot needs an NFS server to continue the boot process. The main problem is how to set this option. I'm aware of the DHCP root-path option. But I can't setup it globally, it should be passed through PXELINUX or must be a way to only server this option from DHCP when a FreeBSD PXE requests this info.
Googling I've found this:
Unfortunately wasn't useful since FreeBSD pxeboot still looks for the NFS server in the root path and ignores the option.
Thanks in advance,
I'm trying to add FreeBSD 10.0 to our internal PXE network install server but I'm failing miserably.
I've configured the pxelinux.cfg file in this way:
Code:
#FreeBSD 10.0 RELEASE amd64
label 1
menu label ^1. FreeBSD 10.0 AMD64
pxe http://stormwind.if.ufrj.br/freebsd/10.0/amd64/boot/pxeboot
It's not working due to the fact that pxeboot needs an NFS server to continue the boot process. The main problem is how to set this option. I'm aware of the DHCP root-path option. But I can't setup it globally, it should be passed through PXELINUX or must be a way to only server this option from DHCP when a FreeBSD PXE requests this info.
Googling I've found this:
Code:
# FreeBSD sys/nfs/bootp_subr.c bootpc_init()
option space FreeBSD;
option FreeBSD.root-opts code 130 = string; # root mount options "rsize=8192,wsize=8192,intr,soft,noconn,tcp"
option FreeBSD.cookie code 134 = string; # sysctl kern.bootp_cookie
# root-path and swap-path are expanded using: %H -> hostname %I -> IP address
# Kernel request:
# Vendor-Class Option 60
# "FreeBSD:amd64:8.0-CURRENT"
# "FreeBSD:i386:5.2-CURRENT"
# 012345678901234567890
# ostype:MACHINE:osrelease
class "FreeBSD" {
match if substring (option vendor-class-identifier,0,7) = "FreeBSD";
log(info,concat("FreeBSD kernel: ",option vendor-class-identifier)); # fatal/error/info/debug
site-option-space "FreeBSD";
option FreeBSD.root-opts "nolockd"; # RO root. Równoważne boot.nfsroot.options="nolockd" ?
if substring (option vendor-class-identifier,8,4) = "i386" { # 32bit
option root-path "stormwind.if.ufrj.br:/srv/tftp/freebsd"; # volt:/nfs/freebsd/i386/8.x
} elsif substring (option vendor-class-identifier,8,5) = "amd64" { # 64bit
option root-path "stormwind.if.ufrj.br:/srv/tftp/freebsd"; # volt - OK
} else {
log (info, "unknown arch?");
option root-path "194.29.146.3:/JAKA-ARCH?";
}
}
Unfortunately wasn't useful since FreeBSD pxeboot still looks for the NFS server in the root path and ignores the option.
Thanks in advance,