Diskless Workstation Boot - kernel.diskless can't parse file...

K Anderson freebsduser at attbi.com
Mon Apr 21 17:34:36 PDT 2003

Nathan Kinkade wrote:
> On Mon, Apr 21, 2003 at 02:12:05PM -0700, K Anderson wrote:
>>I'm interested in checking out the diskless workstation stuff but I am 
>>finding the documentation sorely lacking.
>>I have the dhcp server configured but I am at a point where the 
>>etherboot floppy connects, gets the assigned IP address and other 
>>information then gets stuck with the following error
>>Loading can't parse file name 
>>I think it might have to do with the tag kernel but the command to make 
>>the tagged kernel doesn't exist.
>>So I'm looking for someone to lead me to the holly grail of diskless 
>>workstations so I can check it out.
>>Really good instructions are greatly appreciated.
>>I'm using Etherboot 5.0.8 from ports.
> First, FreeBSD does not need a tagged kernel like Linux, so do not tag
> or attempt to tag the kernel.  What sort of path do you have to
> kernel.diskless in your dhcpd.conf file?  Are you using nfs or tftp?
> I've got a diskless terminal going here with 4.8.  I used nfs across the
> board so that I don't have to enable tftpd, and thence inetd.  Here
> would be some useful information for me to know:
> 1) your dhcpd.conf file
> 2) options you selected when building your etherboot image
> 3) nfs or tftpd
> I may not be able to help, even with these, but possibly I'll see
> something??
> Nathan

Ok, no tagged kernel. :) Thanks. Oh, I'm using a laptop, it has boot 
from NIC and it works, but the problem with that is it says img is to 
large for low memory. So that's why I went to etherboot.

1) here's the dhcp.conf lines (etherboot reports getting an IP):
host bailey {
  hardware ethernet 00:0b:db:13:90:ab;
  filename "kernel.diskless";
  option root-path "";

2) Options for etherboot? I just typed make in /usr/ports/net/etherboot 
without any options.

3) I used tftpd to get the kernel. tftpd is /tftpboot
This I finally figured out when I kept getting file not found errors. 
hehehe. So I just tftp'd to the localhost and doh! it was right, file 
wasn't found. I had the wrong path all over the place.

NETBOOT kernel is
machine         i386
cpu             I586_CPU
ident           NETBOOT
maxusers        2

#makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug 

options         MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
options         INET6                   #IPv6 communications protocols
options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep 
options         SOFTUPDATES             #Enable FFS soft updates support
options         UFS_DIRHASH             #Improve performance on big 
options         MFS                     #Memory Filesystem
options         MD_ROOT                 #MD is a potential root device
options         NFS                     #Network Filesystem
options         NFS_ROOT                #NFS usable as root device, NFS 
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP 
options         SCSI_DELAY=15000        #Delay (in ms) before probing SCSI

device          isa
device          eisa
device          pci

# Floppy drives
device          fdc0    at isa? port IO_FD1 irq 6 drq 2
device          fd0     at fdc0 drive 0
device          fd1     at fdc0 drive 1
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device         fdc0

# ATA and ATAPI devices
#device         ata0    at isa? port IO_WD1 irq 14
#device         ata1    at isa? port IO_WD2 irq 15
#device         ata
#device         atadisk                 # ATA disk drives
#device         atapicd                 # ATAPI CDROM drives
#device         atapifd                 # ATAPI floppy drives
#device         atapist                 # ATAPI tape drives
#options        ATA_STATIC_ID           #Static device numbering

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1 flags 0x1
device          psm0    at atkbdc? irq 12

device          vga0    at isa?

# splash screen/screen saver
#pseudo-device  splash

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? flags 0x100

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device         vt0     at isa?
#options        XSERVER                 # support for X server on a vt 
#options        FAT_CURSOR              # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT 
#options        PCVT_SCANSET=2          # IBM keyboards are non-std

device          agp             # support several AGP chipsets

# Floating point support - do not disable.
device          npx0    at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device          apm0    at nexus? disable flags 0x20 # Advanced Power 

# PCCARD (PCMCIA) support
device          card
device          pcic0   at isa? irq 0 port 0x3e0 iomem 0xd0000
device          pcic1   at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# Serial (COM) ports
#device         sio0    at isa? port IO_COM1 flags 0x10 irq 4
#device         sio1    at isa? port IO_COM2 irq 3
#device         sio2    at isa? disable port IO_COM3 irq 5
#device         sio3    at isa? disable port IO_COM4 irq 9

# Parallel port
#device         ppc0    at isa? irq 7
#device         ppbus           # Parallel port bus (required)
#device         lpt             # Printer
#device         plip            # TCP/IP over parallel
#device         ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device   loop            # Network loopback
pseudo-device   ether           # Ethernet support
pseudo-device   pty             # Pseudo-ttys (telnet etc)
pseudo-device   md              # Memory "disks"
#pseudo-device  gif             # IPv6 and IPv4 tunneling
#pseudo-device  faith   1       # IPv6-to-IPv4 relaying (translation)

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
#pseudo-device  bpf             #Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          usb             # USB Bus (required)
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
device          uscanner        # Scanners
device          urio            # Diamond Rio MP3 Player
# USB Ethernet, requires mii
device          aue             # ADMtek USB ethernet
device          cue             # CATC USB ethernet
device          kue             # Kawasaki LSI USB ethernet

# Kernel BOOTP support

options         BOOTP           # Use BOOTP to obtain IP address/hostname
options         BOOTP_NFSROOT   # NFS mount root filesystem using BOOTP info
options         BOOTP_NFSV3     # Use NFS v3 to NFS mount root
options         BOOTP_COMPAT    # Workaround for broken bootp daemons.
options         BOOTP_WIRED_TO=xl0 # Use interface fxp0 for BOOTP

More information about the freebsd-questions mailing list