[ previous ] [ next ] [ threads ]
 
 From:  "Bruce B. Lacey" <Bruce at BLacey dot com>
 To:  m0n0wall at lists dot m0n0 dot ch
 Subject:  net4801 tftpd Access Violation (plea for help)
 Date:  Sun, 28 Mar 2004 16:56:31 -0800
Hello,

I have read the Hackers guide for both m0n0wall and m0n0BSD, searched 
google, FreeBSD.org and the m0n0wall mail archives and can't figure out 
what is going on so I am resorting to a plea for help you all.

I am trying to boot a Soekris 4801 box using pxe with tftp from a 
FreeBSD 4.9 server however attempts by m0n0wall to access files after a 
successful load of pxeboot fails with Access Violations.

I compiled pxeboot using the LOADER_TFTP_SUPPORT=yes.  Sniffing the 
traffic during boot shows that the pxeboot is trying to load using tftp 
but it fails with Access Violations after loading pxeboot.

Apparently the pxeboot process is trying to load files with an absolute 
path at root such as /boot/loader.  If I try to access these files 
using a tftp client, it fails however if I try it with a relative path 
such as boot/loader it works fine.

Below is the configuration information and the syslog errors that I am 
receiving.

Any ideas?

Thanks in advance,
Bruce

===========================
RELEVANT inetd.conf information

tftp    dgram   udp     wait    nobody  /usr/libexec/tftpd      tftpd 
-l /usr/data/tftpboot

RELEVANT dhcpd.conf information

host m0n0wall {
         hardware ethernet 00:00:24:c1:ca:34;
         fixed-address m0n0wall.home;
         filename "pxeboot";
         next-server fireball.home;
         option root-path "/usr/data/tftpboot";
}
===========================
RELEVANT /usr/data/tftpboot directory

fireball# ls -lr /usr/data/tftpboot/
total 11488
-rwxr-xr-x  1 root  wheel    157696 Mar 28 15:42 pxeboot
-rwxr-xr-x  1 root  wheel  10485760 Mar 28 13:14 mfsroot.bin
-rwxr-xr-x  1 root  wheel   1019379 Mar 28 14:16 kernel.gz
drwxr-xr-x  3 root  wheel       512 Mar 28 13:29 boot
fireball# ls -lR /usr/data/tftpboot/
total 11488
drwxr-xr-x  3 root  wheel       512 Mar 28 13:29 boot
-rwxr-xr-x  1 root  wheel   1019379 Mar 28 14:16 kernel.gz
-rwxr-xr-x  1 root  wheel  10485760 Mar 28 13:14 mfsroot.bin
-rwxr-xr-x  1 root  wheel    157696 Mar 28 15:42 pxeboot

/usr/data/tftpboot/boot:
total 204
drwxr-xr-x  2 root  wheel     512 Mar 28 13:29 defaults
-r-xr-xr-x  1 root  wheel  155648 Mar 26 13:51 loader
-r--r--r--  1 root  wheel    9237 Mar 26 13:51 loader.4th
-r-xr-xr-x  1 root  wheel      85 Mar 28 13:29 loader.conf
-rwxr-xr-x  1 root  wheel      44 Mar 28 16:19 loader.rc
-r--r--r--  1 root  wheel   25121 Mar 26 13:51 support.4th

/usr/data/tftpboot/boot/defaults:
total 12
-r--r--r--  1 root  wheel  11074 Mar 26 13:51 loader.conf

===========================
RELEVANT loader.conf and loader.rc contents

# cat /usr/data/tftpboot/boot/loader.conf
rootfs_load="YES"
rootfs_name="mfsroot.bin"
rootfs_type="mfs_root"
autoboot_delay=1

# cat /usr/data/tftpboot/boot/loader.rc
include /boot/loader.4th
start

===========================
RELEVANT net4801 boot information

comBIOS ver. 1.23  20031216  Copyright (C) 2000-2003 Soekris 
Engineering.

net4801

0128 Mbyte Memory                        CPU Geode 266 Mhz


PXE-M00: BootManage UNDI, PXE-2.0 (build 082)

Slot   Vend Dev  ClassRev Cmd  Stat CL LT HT  Base1    Base2   Int
-------------------------------------------------------------------
0:00:0 1078 0001 06000000 0107 0280 00 00 00 00000000 00000000 00
0:06:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0000000 10
0:07:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0001000 10
0:08:0 100B 0020 02000000 0107 0290 00 3F 00 0000E301 A0002000 10
0:18:2 100B 0502 01018001 0005 0280 00 00 00 00000000 00000000 00
0:19:0 0E11 A0F8 0C031008 0117 0280 08 38 00 A0003000 00000000 11

  1 Seconds to automatic boot.   Press Ctrl-P for entering Monitor.

BootManage UNDI, PXE-2.0 (build 082)
BootManage PXE-2.0 PROM 1.0, NATSEC 1.0, SDK 3.0/082 (OEM52)
Copyright (C) 1989,2000 bootix Technology GmbH, D-41466 Neuss.
PXE Software Copyright (C) 1997, 1998, 1999, 2000 Intel Corporation.
Licensed to National Semiconductor

CLIENT MAC ADDR: XX XX XX XX XX XX
CLIENT IP: 192.168.0.200  MASK: 255.255.255.0  DHCP IP: 192.168.0.1
GATEWAY IP: 192.168.0.1
PXE Loader 1.00

Building the boot loader arguments
Relocating the loader and the BTX
Starting the BTX loader

  PXE version 2.1, real mode entry point @9e79:0106
  BIOS 577kB/130048kB available memory
  PXE-M00: BootManage UNDI, PXE-2.0 (build 082)
  FreeBSD/i386 bootstrap loader, Revision 0.8
  blacey at fireball dot home, Sun Mar 28 15:42:38 PST 2004
  pxe_open: server addr: 192.168.0.1
  pxe_open: server path: /usr/data/tftpboot
  pxe_open: gateway ip:  192.168.0.1
  hit [Enter] to boot immediately, or any other key for command prompt.
  booting [kernel]...
  can't load 'kernel'
  can't load 'kernel.old'

===========================
RELEVANT syslog information from tftp host

Mar 28 16:20:15 fireball dhcpd: DHCPOFFER on 192.168.0.200 to 
00:00:24:c1:ca:34 via dc0
Mar 28 16:20:17 fireball dhcpd: DHCPREQUEST for 192.168.0.200 from 
00:00:24:c1:ca:34 via dc0
Mar 28 16:20:17 fireball dhcpd: DHCPACK on 192.168.0.200 to 
00:00:24:c1:ca:34 via dc0
Mar 28 16:20:17 fireball tftpd[54637]: m0n0wall.home: read request for 
/usr/data/tftpboot/pxeboot: success
Mar 28 16:20:21 fireball dhcpd: DHCPDISCOVER from 00:00:24:c1:ca:34 via 
dc0
Mar 28 16:20:21 fireball dhcpd: DHCPOFFER on 192.168.0.200 to 
00:00:24:c1:ca:34 via dc0
Mar 28 16:20:21 fireball dhcpd: DHCPREQUEST for 192.168.0.200 from 
00:00:24:c1:ca:34 via dc0
Mar 28 16:20:21 fireball dhcpd: DHCPACK on 192.168.0.200 to 
00:00:24:c1:ca:34 via dc0
Mar 28 16:20:22 fireball tftpd[54639]: m0n0wall.home: read request for 
/boot/boot.4th.split: Access violation
Mar 28 16:20:23 fireball tftpd[54641]: m0n0wall.home: read request for 
/boot/boot.4th.gz.split: Access violation
Mar 28 16:20:23 fireball tftpd[54643]: m0n0wall.home: read request for 
/boot/boot.4th.gz: Access violation
Mar 28 16:20:23 fireball tftpd[54645]: m0n0wall.home: read request for 
/boot/boot.4th: Access violation
Mar 28 16:20:23 fireball tftpd[54650]: m0n0wall.home: read request for 
/boot/loader.rc.split: Access violation
Mar 28 16:20:23 fireball tftpd[54652]: m0n0wall.home: read request for 
/boot/loader.rc.gz.split: Access violation
Mar 28 16:20:23 fireball tftpd[54654]: m0n0wall.home: read request for 
/boot/loader.rc.gz: Access violation
Mar 28 16:20:23 fireball tftpd[54656]: m0n0wall.home: read request for 
/boot/loader.rc: Access violation
Mar 28 16:20:24 fireball tftpd[54658]: m0n0wall.home: read request for 
/boot/boot.conf.split: Access violation
Mar 28 16:20:24 fireball tftpd[54660]: m0n0wall.home: read request for 
/boot/boot.conf.gz.split: Access violation
Mar 28 16:20:24 fireball tftpd[54662]: m0n0wall.home: read request for 
/boot/boot.conf.gz: Access violation
Mar 28 16:20:24 fireball tftpd[54664]: m0n0wall.home: read request for 
/boot/boot.conf: Access violation
Mar 28 16:20:28 fireball tftpd[54666]: m0n0wall.home: read request for 
/kernel.ko.split: Access violation
Mar 28 16:20:28 fireball tftpd[54668]: m0n0wall.home: read request for 
/kernel.ko.gz.split: Access violation
Mar 28 16:20:28 fireball tftpd[54670]: m0n0wall.home: read request for 
/kernel.ko.gz: Access violation
Mar 28 16:20:28 fireball tftpd[54672]: m0n0wall.home: read request for 
/kernel.ko: Access violation
Mar 28 16:20:28 fireball tftpd[54674]: m0n0wall.home: read request for 
/boot/kernel.ko.split: Access violation
Mar 28 16:20:29 fireball tftpd[54676]: m0n0wall.home: read request for 
/boot/kernel.ko.gz.split: Access violation
Mar 28 16:20:29 fireball tftpd[54678]: m0n0wall.home: read request for 
/boot/kernel.ko.gz: Access violation
Mar 28 16:20:29 fireball tftpd[54680]: m0n0wall.home: read request for 
/boot/kernel.ko: Access violation
Mar 28 16:20:29 fireball tftpd[54682]: m0n0wall.home: read request for 
/modules/kernel.ko.split: Access violation
Mar 28 16:20:29 fireball tftpd[54684]: m0n0wall.home: read request for 
/modules/kernel.ko.gz.split: Access violation
Mar 28 16:20:29 fireball tftpd[54686]: m0n0wall.home: read request for 
/modules/kernel.ko.gz: Access violation
Mar 28 16:20:29 fireball tftpd[54688]: m0n0wall.home: read request for 
/modules/kernel.ko: Access violation
Mar 28 16:20:30 fireball tftpd[54690]: m0n0wall.home: read request for 
/kernel.split: Access violation
Mar 28 16:20:30 fireball tftpd[54692]: m0n0wall.home: read request for 
/kernel.gz.split: Access violation
Mar 28 16:20:30 fireball tftpd[54694]: m0n0wall.home: read request for 
/kernel.gz: Access violation
Mar 28 16:20:30 fireball tftpd[54696]: m0n0wall.home: read request for 
/kernel: Access violation
Mar 28 16:20:31 fireball tftpd[54698]: m0n0wall.home: read request for 
/boot/kernel.split: Access violation
Mar 28 16:20:31 fireball tftpd[54700]: m0n0wall.home: read request for 
/boot/kernel.gz.split: Access violation
Mar 28 16:20:31 fireball tftpd[54702]: m0n0wall.home: read request for 
/boot/kernel.gz: Access violation
Mar 28 16:20:31 fireball tftpd[54704]: m0n0wall.home: read request for 
/boot/kernel: Access violation
Mar 28 16:20:31 fireball tftpd[54706]: m0n0wall.home: read request for 
/modules/kernel.split: Access violation
Mar 28 16:20:32 fireball tftpd[54708]: m0n0wall.home: read request for 
/modules/kernel.gz.split: Access violation
Mar 28 16:20:32 fireball tftpd[54710]: m0n0wall.home: read request for 
/modules/kernel.gz: Access violation
Mar 28 16:20:32 fireball tftpd[54712]: m0n0wall.home: read request for 
/modules/kernel: Access violation
Mar 28 16:20:32 fireball tftpd[54714]: m0n0wall.home: read request for 
/kernel.old.ko.split: Access violation
Mar 28 16:20:33 fireball tftpd[54716]: m0n0wall.home: read request for 
/kernel.old.ko.gz.split: Access violation
Mar 28 16:20:33 fireball tftpd[54718]: m0n0wall.home: read request for 
/kernel.old.ko.gz: Access violation
Mar 28 16:20:33 fireball tftpd[54720]: m0n0wall.home: read request for 
/kernel.old.ko: Access violation
Mar 28 16:20:33 fireball tftpd[54722]: m0n0wall.home: read request for 
/boot/kernel.old.ko.split: Access violation
Mar 28 16:20:33 fireball tftpd[54724]: m0n0wall.home: read request for 
/boot/kernel.old.ko.gz.split: Access violation
Mar 28 16:20:33 fireball tftpd[54726]: m0n0wall.home: read request for 
/boot/kernel.old.ko.gz: Access violation
Mar 28 16:20:33 fireball tftpd[54728]: m0n0wall.home: read request for 
/boot/kernel.old.ko: Access violation
Mar 28 16:20:34 fireball tftpd[54730]: m0n0wall.home: read request for 
/modules/kernel.old.ko.split: Access violation
Mar 28 16:20:34 fireball tftpd[54732]: m0n0wall.home: read request for 
/modules/kernel.old.ko.gz.split: Access violation
Mar 28 16:20:34 fireball tftpd[54734]: m0n0wall.home: read request for 
/modules/kernel.old.ko.gz: Access violation
Mar 28 16:20:34 fireball tftpd[54736]: m0n0wall.home: read request for 
/modules/kernel.old.ko: Access violation
Mar 28 16:20:35 fireball tftpd[54738]: m0n0wall.home: read request for 
/kernel.old.split: Access violation
Mar 28 16:20:35 fireball tftpd[54740]: m0n0wall.home: read request for 
/kernel.old.gz.split: Access violation
Mar 28 16:20:35 fireball tftpd[54742]: m0n0wall.home: read request for 
/kernel.old.gz: Access violation
Mar 28 16:20:35 fireball tftpd[54744]: m0n0wall.home: read request for 
/kernel.old: Access violation
Mar 28 16:20:36 fireball tftpd[54746]: m0n0wall.home: read request for 
/boot/kernel.old.split: Access violation
Mar 28 16:20:36 fireball tftpd[54748]: m0n0wall.home: read request for 
/boot/kernel.old.gz.split: Access violation
Mar 28 16:20:36 fireball tftpd[54750]: m0n0wall.home: read request for 
/boot/kernel.old.gz: Access violation
Mar 28 16:20:36 fireball tftpd[54752]: m0n0wall.home: read request for 
/boot/kernel.old: Access violation
Mar 28 16:20:36 fireball tftpd[54754]: m0n0wall.home: read request for 
/modules/kernel.old.split: Access violation
Mar 28 16:20:36 fireball tftpd[54756]: m0n0wall.home: read request for 
/modules/kernel.old.gz.split: Access violation
Mar 28 16:20:36 fireball tftpd[54758]: m0n0wall.home: read request for 
/modules/kernel.old.gz: Access violation
Mar 28 16:20:36 fireball tftpd[54760]: m0n0wall.home: read request for 
/modules/kernel.old: Access violation