PXE boot with TFTP
Erik Norgaard
norgaard at locolomo.org
Tue Nov 23 05:16:14 PST 2004
Hi,
I am trying to set up a jumpstart server using only dhcp/tftp/ftp to
install. My tftp root is /var/tftp where I have created the boot
directory containing:
-rwxr-xr-x 1 root wheel 512 Nov 21 23:37 boot0
-rwxr-xr-x 1 root wheel 512 Nov 21 23:38 boot1
-rw-r--r-- 1 root wheel 7680 Nov 21 23:38 boot2
-r--r--r-- 1 root wheel 1982 Nov 22 12:14 device.hints
drwxr-xr-x 2 root wheel 512 Nov 22 00:05 kernel
-r-xr-xr-x 1 root wheel 249856 Nov 23 13:19 loader
-rw-r--r-- 1 root wheel 203 Nov 23 13:20 loader.rc
-rw-r--r-- 1 root wheel 33554432 Nov 23 11:56 mfsroot
drwxr-xr-x 2 root wheel 512 Nov 23 13:26 modules
-rw-r--r-- 1 root wheel 251904 Nov 23 13:19 pxeboot
With loader.rc: ==============
# loader.rc: jumpstart
echo Loading Kernel...
load boot/kernel/kernel
load boot/kernel/acpi.ko
echo Booting...
echo \007\007
load -t mfs_root /boot/mfsroot
set vfs.root.mountfrom=ufs:/dev/md0c"
boot
==============================
Things goes well till the booting client tries to load the kernel:
client output=================
PXE Loader 1.00
Building the boot loader arguments
Relocating the loader and the BTX
starting the BTX loader
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
PXE version 2.1, real mode entry point @9e6e:00f6
BIOS 640kB/244672kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
(root at charm, Tue Nov 23 13:18:23 CET 2004)
pxe_open: server addr: 192.168.0.32
pxe_open: server path: /var/tftp
pxe_open: gateway ip: 192.168.0.1
\
can't load 'kernel'
Type '?' for a list of commands, 'help' for more detailed help.
OK
==============================
I don't know where it tries to get the kernel form, I have tried to
specify various paths, absolute and relative in the dhcpd.conf,
currently "root-path 192.168.0.32:/var/tftp", same result. however, I
can then load the kernel manually:
OK load boot/kernel/kernel
this fetches the kernel with tftp as it should. In fact, I can manually
issue all the commands in loader.rc - (it then hangs on "boot" but this
seems to be another story).
Sniffing the network interface, it appears that loader.rc is never
loaded (snort -vCde -i sis0 host 192.168.0.128):
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.697135 0:40:63:D4:89:72 -> 0:C:6E:D:91:BB type:0x800 len:0x48
192.168.0.128:2626 -> 192.168.0.32:69 UDP TTL:20 TOS:0x0 ID:504 IpLen:20
DgmLen:58
Len: 30
../boot/loader.rc.split.octet.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.773480 0:C:6E:D:91:BB -> 0:40:63:D4:89:72 type:0x800 len:0x3F
192.168.0.32:60403 -> 192.168.0.128:2626 UDP TTL:64 TOS:0x0 ID:39618
IpLen:20 DgmLen:49
Len: 21
....Access violation.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.773761 0:40:63:D4:89:72 -> 0:C:6E:D:91:BB type:0x800 len:0x4B
192.168.0.128:2627 -> 192.168.0.32:69 UDP TTL:20 TOS:0x0 ID:505 IpLen:20
DgmLen:61
Len: 33
../boot/loader.rc.gz.split.octet.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.780476 0:C:6E:D:91:BB -> 0:40:63:D4:89:72 type:0x800 len:0x3F
192.168.0.32:60506 -> 192.168.0.128:2627 UDP TTL:64 TOS:0x0 ID:39619
IpLen:20 DgmLen:49
Len: 21
....Access violation.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.780635 0:40:63:D4:89:72 -> 0:C:6E:D:91:BB type:0x800 len:0x45
192.168.0.128:2627 -> 192.168.0.32:69 UDP TTL:20 TOS:0x0 ID:506 IpLen:20
DgmLen:55
Len: 27
../boot/loader.rc.gz.octet.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.791782 0:C:6E:D:91:BB -> 0:40:63:D4:89:72 type:0x800 len:0x3F
192.168.0.32:50585 -> 192.168.0.128:2627 UDP TTL:64 TOS:0x0 ID:39620
IpLen:20 DgmLen:49
Len: 21
....Access violation.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.791939 0:40:63:D4:89:72 -> 0:C:6E:D:91:BB type:0x800 len:0x42
192.168.0.128:2627 -> 192.168.0.32:69 UDP TTL:20 TOS:0x0 ID:507 IpLen:20
DgmLen:52
Len: 24
../boot/loader.rc.octet.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
11/23-14:01:19.799377 0:C:6E:D:91:BB -> 0:40:63:D4:89:72 type:0x800 len:0x3F
192.168.0.32:54534 -> 192.168.0.128:2627 UDP TTL:64 TOS:0x0 ID:39621
IpLen:20 DgmLen:49
Len: 21
....Access violation.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Clearly it tries to fetch loader.rc in various paths, but I don't know
which path on my server it is searching - all files in /var/tftp are
world readable.
Any help would be appreciated, thanks!
Erik
--
Ph: +34.666334818 web: www.locolomo.org
S/MIME Certificate: http://www.locolomo.org/crt/2004071206.crt
Subject ID: A9:76:7A:ED:06:95:2B:8D:48:97:CE:F2:3F:42:C8:F2:22:DE:4C:B9
Fingerprint: 4A:E8:63:38:46:F6:9A:5D:B4:DC:29:41:3F:62:D3:0A:73:25:67:C2
More information about the freebsd-questions
mailing list