From owner-freebsd-doc Mon Mar 13 19:35:25 1995 Return-Path: doc-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id TAA08124 for doc-outgoing; Mon, 13 Mar 1995 19:35:25 -0800 Received: from victor.innovus.com (victor.innovus.com [192.75.186.54]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id TAA08099 for ; Mon, 13 Mar 1995 19:35:18 -0800 Received: (from martin@localhost) by victor.innovus.com (8.6.9/8.6.9) id WAA01362; Mon, 13 Mar 1995 22:41:52 -0500 From: Martin Renters Message-Id: <199503140341.WAA01362@victor.innovus.com> Subject: Re: diskless and OSF/1 on DEC Alpha's To: sjlai@broncho.ct.monash.edu.au Date: Mon, 13 Mar 1995 22:41:51 -0500 (EST) Cc: doc@freebsd.org 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 X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 5188 Sender: doc-owner@freebsd.org Precedence: bulk > > 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 - print/set client's IP address server - print/set bootp/tftp server address netmask - print/set netmask hostname - print/set hostname kernel - print/set kernel name rootfs - print/set rootfilesystem swapfs - print/set swapfilesystem swapsize - 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