Need help with PXEBoot. http://people.freebsd.org/~alfred/pxe/en_US.ISO8859-1/articles/pxe/article.html section 3 Bootstrap Setup # rm -rf /usr/obj/* # cd /usr/src/sys/boot # make ===> ficl Warning: Object directory not changed from original /usr/src/sys/boot/ficl ===> i386 ===> i386/mbr Warning: Object directory not changed from original /usr/src/sys/boot/i386/mbr ===> i386/boot0 Warning: Object directory not changed from original /usr/src/sys/boot/i386/boot0 ===> i386/btx ===> i386/btx/btx Warning: Object directory not changed from original /usr/src/sys/boot/i386/btx/btx ===> i386/btx/btxldr Warning: Object directory not changed from original /usr/src/sys/boot/i386/btx/btxldr ===> i386/btx/lib Warning: Object directory not changed from original /usr/src/sys/boot/i386/btx/lib ===> i386/boot2 Warning: Object directory not changed from original /usr/src/sys/boot/i386/boot2 ===> i386/cdboot Warning: Object directory not changed from original /usr/src/sys/boot/i386/cdboot ===> i386/kgzldr Warning: Object directory not changed from original /usr/src/sys/boot/i386/kgzldr ===> i386/libi386 Warning: Object directory not changed from original /usr/src/sys/boot/i386/libi386 cc -O -pipe -I/usr/src/sys/boot/i386/libi386/../../common -I/usr/src/sys/boot/i386/libi386/../btx/lib -I/usr/src/sys/boot/i386/libi386/../../.. -I. -DCOMPORT=0x3f8 -DCOMSPEED=9600 -I/usr/src/sys/boot/i386/libi386/../../../../lib/libstand/ -DTERM_EMU -mpreferred-stack-boundary=2 -c pxe.c -o pxe.o pxe.c:41: net.h: No such file or directory pxe.c:42: netif.h: No such file or directory pxe.c:43: nfsv2.h: No such file or directory pxe.c:44: iodesc.h: No such file or directory pxe.c:46: bootp.h: No such file or directory pxe.c:84: warning: `struct netif' declared inside parameter list pxe.c:84: warning: its scope is only this definition or declaration, which is probably not what you want. pxe.c:85: warning: `struct netif' declared inside parameter list pxe.c:86: warning: `struct iodesc' declared inside parameter list pxe.c:88: warning: `struct iodesc' declared inside parameter list pxe.c:89: warning: `struct iodesc' declared inside parameter list pxe.c:90: warning: `struct netif' declared inside parameter list pxe.c:100: elements of array `pxe_ifs' have incomplete type pxe.c:102: warning: excess elements in struct initializer pxe.c:102: warning: (near initialization for `pxe_ifs[0]') pxe.c:102: warning: excess elements in struct initializer pxe.c:102: warning: (near initialization for `pxe_ifs[0]') pxe.c:102: invalid use of undefined type `struct netif_stats' pxe.c:102: warning: excess elements in struct initializer pxe.c:102: warning: (near initialization for `pxe_ifs[0]') pxe.c:102: warning: excess elements in struct initializer pxe.c:102: warning: (near initialization for `pxe_ifs[0]') pxe.c:103: invalid use of undefined type `struct netif_dif' pxe.c:105: variable-size type declared outside of any function pxe.c:107: variable `pxenetif' has initializer but incomplete type pxe.c:108: warning: excess elements in struct initializer pxe.c:108: warning: (near initialization for `pxenetif') pxe.c:109: warning: excess elements in struct initializer pxe.c:109: warning: (near initialization for `pxenetif') pxe.c:110: warning: excess elements in struct initializer pxe.c:110: warning: (near initialization for `pxenetif') pxe.c:111: warning: excess elements in struct initializer pxe.c:111: warning: (near initialization for `pxenetif') pxe.c:112: warning: excess elements in struct initializer pxe.c:112: warning: (near initialization for `pxenetif') pxe.c:113: warning: excess elements in struct initializer pxe.c:113: warning: (near initialization for `pxenetif') pxe.c:114: warning: excess elements in struct initializer pxe.c:114: warning: (near initialization for `pxenetif') pxe.c:115: warning: excess elements in struct initializer pxe.c:115: warning: (near initialization for `pxenetif') pxe.c:117: warning: excess elements in struct initializer pxe.c:117: warning: (near initialization for `pxenetif') pxe.c: In function `pxe_open': pxe.c:256: `FNAME_SIZE' undeclared (first use in this function) pxe.c:256: (Each undeclared identifier is reported only once pxe.c:256: for each function it appears in.) pxe.c:276: `rootip' undeclared (first use in this function) pxe.c:283: `BOOTP_PXE' undeclared (first use in this function) pxe.c:286: `rootpath' undeclared (first use in this function) pxe.c:301: `gateip' undeclared (first use in this function) pxe.c:303: `myip' undeclared (first use in this function) pxe.c:303: warning: passing arg 2 of `setenv' makes pointer from integer without a cast pxe.c:304: `netmask' undeclared (first use in this function) pxe.c:304: warning: passing arg 2 of `setenv' makes pointer from integer without a cast pxe.c:305: warning: passing arg 2 of `setenv' makes pointer from integer without a cast pxe.c:310: warning: passing arg 2 of `setenv' makes pointer from integer without a cast pxe.c: In function `pxe_close': pxe.c:339: `rootpath' undeclared (first use in this function) pxe.c: At top level: pxe.c:413: `NFS_FHSIZE' undeclared here (not in a function) pxe.c: In function `pxe_setnfshandle': pxe.c:423: `NFS_FHSIZE' undeclared (first use in this function) pxe.c:423: size of array `buf' has non-integer type pxe.c: At top level: pxe.c:490: warning: `struct netif' declared inside parameter list pxe.c:491: conflicting types for `pxe_netif_match' pxe.c:84: previous declaration of `pxe_netif_match' pxe.c:497: warning: `struct netif' declared inside parameter list pxe.c:498: conflicting types for `pxe_netif_probe' pxe.c:85: previous declaration of `pxe_netif_probe' pxe.c:516: warning: `struct netif' declared inside parameter list pxe.c:517: conflicting types for `pxe_netif_end' pxe.c:90: previous declaration of `pxe_netif_end' pxe.c:528: conflicting types for `pxe_netif_init' pxe.c:86: previous declaration of `pxe_netif_init' pxe.c: In function `pxe_netif_init': pxe.c:531: dereferencing pointer to incomplete type pxe.c:532: dereferencing pointer to incomplete type pxe.c: At top level: pxe.c:537: conflicting types for `pxe_netif_get' pxe.c:88: previous declaration of `pxe_netif_get' pxe.c:543: conflicting types for `pxe_netif_put' pxe.c:89: previous declaration of `pxe_netif_put' pxe.c: In function `sendudp': pxe.c:553: dereferencing pointer to incomplete type pxe.c:554: dereferencing pointer to incomplete type pxe.c:555: dereferencing pointer to incomplete type pxe.c:560: `netmask' undeclared (first use in this function) pxe.c:560: `myip' undeclared (first use in this function) pxe.c:560: dereferencing pointer to incomplete type pxe.c:563: `gateip' undeclared (first use in this function) pxe.c: In function `readudp': pxe.c:589: dereferencing pointer to incomplete type pxe.c:590: dereferencing pointer to incomplete type pxe.c: At top level: pxe.c:105: storage size of `pxe_st' isn't known *** Error code 1 Stop in /usr/src/sys/boot/i386/libi386. *** Error code 1 Stop in /usr/src/sys/boot/i386. *** Error code 1 Stop in /usr/src/sys/boot. # uname -a FreeBSD freebsd-410.xxx.xxx. 4.10-RELEASE FreeBSD 4.10-RELEASE #0: Thu Jul 29 22:50:28 EDT 2004 digit@freebsd-410.xxx.xxx.:/usr/src/sys/compile/MYKERNEL i386 # cat /usr/src/sys/boot/i386/libi386/pxe.c #include <stand.h> #include <string.h> #include <stdarg.h> #include <netinet/in_systm.h> #include <netinet/in.h> #include <netinet/udp.h> #include <net.h> #include <netif.h> #include <nfsv2.h> #include <iodesc.h> #include <bootp.h> #include <bootstrap.h> #include "btxv86.h" #include "pxe.h" ... # find / -name net.h (nothing)