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

Nathan Kinkade nkinkade at dsl-only.net
Mon Apr 21 21:52:18 PDT 2003


On Mon, Apr 21, 2003 at 05:34:33PM -0700, K Anderson wrote:
> Nathan Kinkade wrote:
> >On Mon, Apr 21, 2003 at 02:12:05PM -0700, K Anderson wrote:
> >
> >>Greetings,
> >>
> >>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 192.168.100.105:kernel.diskless can't parse file name 
> >>kernel.diskless
> >>
> >>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;
>  fixed-address 192.168.100.200;
>  next-server 192.168.100.105;
>  filename "kernel.diskless";
>  option root-path "192.168.100.105:/diskless_root";
> }
> 
> 
> 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.
> 
<snipped kernel config - looks ok>

How about trying NFS over tftp?  I have getting my etherboot ROM images
from rom-o-matic.org.  It is very convenient this way.
Try this: goto http://rom-o-matic.org and link to the 5.0.9 config area.
Then select your network card in the list and also select the output
format as binary-rom.  then click the "Configure" button. The only extra
box that you should need to check is the DOWNLOAD_PROTO_NFS.  I also
prefer the BAR_PROGRESS to the dots - but you haven't got this far in
the boot process yet.  Click "Get ROM" and then install the file that
you download to your NIC.  Then setup NFS on your machine - you are
using NFS for the filesystems anyway, why not just ditch tftp in favor
of NFS all around?  You can probably get NFS going with:

Add a line to your /etc/exports file like:
/tftpboot -ro -maproot=0 -network 192.168.100

Then do:
# nfsd -u -t -n 4
# mountd -r
# portmap

# perl -pi'.bak' -e 's/^tftp/#tftp/' /etc/inetd.conf && killall -HUP inetd

Hopefully, this will export the dir where your kernel is located, launch
the nfs daemon (check /var/log/messages after you do all this), and then
disable tftp ... of course, it is probably easier to just edit
inetd.conf by hand but not nearly as interesting! :)

I also found it very useful to launch the network protocol analyzer
ethereal to see what was going on.  When things were not working it
ethereal made it very clear on which side the problem lay - solving the
problem was a diff. story.

Just for comparison here are snippets from various files:

dhcpd.conf:
  host diskless-100 {
    hardware ethernet 00:90:27:BF:BA:60;
    fixed-address 10.0.0.100;
    next-server 10.0.0.2;
    filename "/usr/home/diskless/kernel";
    option root-path "10.0.0.2:/usr/home/diskless";
  }

/etc/exports:
/usr/home/diskless -ro -maproot=0 -network 10

kernel configs:
options         BOOTP 
options         BOOTP_NFSROOT
options         BOOTP_NFSV3

Let me know what happens,
Nathan

-- 
GPG Public Key ID: 0x4250A04C
gpg --keyserver pgp.mit.edu --recv-keys 4250A04C
http://63.105.21.156/gpg_nkinkade_4250A04C.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20030421/4e2826ae/attachment.bin


More information about the freebsd-questions mailing list