Date: Mon, 13 Mar 1995 22:41:51 -0500 (EST) From: Martin Renters <martin@victor.innovus.com> To: sjlai@broncho.ct.monash.edu.au Cc: doc@freebsd.org Subject: Re: diskless and OSF/1 on DEC Alpha's Message-ID: <199503140341.WAA01362@victor.innovus.com> In-Reply-To: <9503131948.AA06608@broncho.ct.monash.edu.au> from "sjlai@broncho.ct.monash.edu.au" at Mar 14, 95 05:48:34 am
index | next in thread | previous in thread | raw e-mail
>
> Hi there,
>
> Just a point which may save effort for those trying to boot a diskless
> using a DEC Alpha as the server. It doesn't work.
>
> The problem seems to be caused by DEC's use of 32(?) bit major/minor
> device numbers vs. FreeBSD's 16 bit versions. This may be a problem
> for other 64-bit OS's as well (haven't tried any others yet).
>
> The solution for us was to use a FreeBSD machine as the server !!
>
HP9000s have the same problem. The fix on those machines is to do a
MAKEDEV on FreeBSD machine on an NFS mounted /dev. This generates good
device files, although they look wierd on the HP9000. The Diskless.FAQ
I wrote addressed this problem but it seems to have been deleted from
/usr/src/share/FAQ. I have appended it below.
Martin
Setting up a Diskless FreeBSD system
====================================
netboot.com/netboot.rom allow you to boot your FreeBSD machine over the
network and run FreeBSD without having a disk on your client. Under 2.0
it is now possible to have local swap. Swapping over NFS is also still
supported.
The list of supported Ethernet cards:
Western Digital/SMC 8003, 8013, 8216 and compatibles
NE1000/NE2000 and compatibles (requires recompile)
Setup Instructions
------------------
- Find a machine that will be your server. This machine will require
enough disk space to hold the FreeBSD 2.0 binaries and have bootp, tftp
and NFS services available.
tested machines:
HP9000/8xx running HP-UX 9.04 or later (pre 9.04 doesn't work)
Sun/Solaries 2.3. (you may need to get bootp)
- Set up a bootp server to provide the client with IP, gateway, netmask
sample entry:
diskless:\
:ht=ether:\
:ha=0000c01f848a:\
:sm=255.255.255.0:\
:hn:\
:ds=192.1.2.3:\
:ip=192.1.2.4:\
:gw=192.1.2.5:\
:vm=rfc1048:
- Set up a TFTP server (on same machine as bootp server) to provide
booting information to client. The name of this file is cfg.X.X.X.X
(or /tftpboot/cfg.X.X.X.X, it will try both) where X.X.X.X is the
IP address of the client. The contents of this file can be any valid
netboot commands. Under 2.0, netboot has the following commands:
help - print help list
ip <X.X.X.X> - print/set client's IP address
server <X.X.X.X> - print/set bootp/tftp server address
netmask <X.X.X.X> - print/set netmask
hostname <name> - print/set hostname
kernel <name> - print/set kernel name
rootfs <ip:/fs> - print/set rootfilesystem
swapfs <ip:/fs> - print/set swapfilesystem
swapsize <size> - set diskless swapsize in Kbytes
diskboot - boot from disk
autoboot - continue boot process
A typical completely diskless cfg file might contain:
rootfs 192.1.2.3:/rootfs/myclient
swapfs 192.1.2.3:/swapfs
swapsize 20000
hostname myclient.mydomain
A cfg file for a machine with local swap might contain:
rootfs 192.1.2.3:/rootfs/myclient
hostname myclient.mydomain
- Ensure that your NFS server has exported the root (and swap if applicable)
filesystems to your client, and that the client has root access to these
filesystems
A typical /etc/exports file might look like:
(FreeBSD)
/rootfs/myclient -maproot=0:0 myclient.mydomain
/swapfs -maproot=0:0 myclient.mydomain
(HP-UX)
/rootfs/myclient -root=myclient.mydomain
/swapfs -root=myclient.mydomain
- If you are swapping over NFS (completely diskless configuration) create a
swap file for your client using touch. If your 'swapfs' command
has the argument /swapfs as in the example above, the swapfile for myclient
will be called /swapfs/swap.X.X.X.X where X.X.X.X is the client's IP addr.
eg: # touch /swapfs/swap.192.1.2.4
- Unpack the root filesystem in the directory the client will use for its
root filesystem (/rootfs/myclient in the example above).
*** On HP-UX systems: The server should be running HP-UX 9.04 or
later for HP9000/800 series machines. Prior versions don't allow
the creation of device files over NFS.
*** When extracting /dev in /rootfs/myclient, beware that some systems
(HPUX) will not create device files that FreeBSD is happy with.
You may have to go to single user mode on the first bootup
(press control-c during the bootup phase), cd /dev and do a
"sh ./MAKEDEV all" from the client to fix this.
- Run netboot.com on the client or make an EPROM from the netboot.rom file
Using Shared / and /usr filesystems
-----------------------------------
At present there isn't an officially sanctioned way of doing this, although
I have been using a shared /usr filesystem and individual / filesystems for
each client. If anyone has any suggestions on how to do this cleanly, please
let me and/or the core group know.
Compiling netboot for specific setups
-------------------------------------
Netboot can be compiled to support NE1000/2000 cards by changing the
configuration in /sys/i386/boot/netboot/Makefile. See the comments
at the top of this file.
Martin Renters martin@innovus.com
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503140341.WAA01362>
