$Id: README,v 1.4 2002/08/09 01:11:48 bsd Exp $ These are the scripts to create a full FreeBSD installation that runs from CD-ROM. This is a complete installation that can do just about anything that a hard-disk based installation can do. I've used this work as the basis for a CD-Rom based firewall, for recovering systems that can no longer boot from the hard-drive, for performing system diagnostics, as well as for a simple, but fast, installer. The installer is included and can be used to install a FreeBSD release that is included on the CD-ROM onto your hard disk. This program is not intended as a complete replacement for sysinstall; it does not offer anywere near the installation options. It can be used, however, to do the equivalent of a full install (no packages) of FreeBSD onto your hard disk and configure the hostname and network interface. Brief instructions for the use of these scripts follows: 1) First, you must do a buildworld from sources: # cd /usr/src && make buildworld This will rebuild your entire system, but won't actually install anything. The result of the build will be in /usr/obj. 2) Install this software. Edit the Makefile and adjust BINDIR and LIBDIR accordingly. If you change LIBDIR, you may need to modify the 'mkcdroot' script and make the same change. # make install 3) Locate an area on your system that can hold at least 200 Megs (400 if you'll be including a Release on the CD), create a subdirectory there. Call that $CDROOT. This directory will be the top level directory of your read-only root installation, and will be the directory that you use for creating your ISO filesystem. 4) Make sure $CDROOT from step 3 exists: # mkdir -p $CDROOT 5) Run the mkcdroot script to create the read-only root area: # mkcdroot -base $CDROOT 6) If you want this CD to contain a FreeBSD release, you need to have previously built a release on your system. Assume your release directory is located at /scratch/release, copy disc1 of the release to /dist of your $CDROOT area: # cd $CDROOT/dist && cp -pr /scratch/release/R/cdrom/disc1/* . 7) Create an ISO of your $CDROOT area: # cd $CDROOT # cd .. # mkisofs -R -b boot/boot.fd -o cdroot.iso $CDROOT 8) Burn cdroot.iso to a CD; it should boot and come up to a login prompt. Login as root (no password by default). You are now running a complete FreeBSD installation from CD-ROM, except for a few filesystems that must be mounted read-write for proper system operation. 9) If you included a FreeBSD release on the CD, and want to install it: # /etc/inst Follow the instructions. If you wish to use the CD for a firewall, or other specialized application, create a floppy disk that contains a UFS filesystem and create a /etc directory on it. Copy the files into the floppy /etc directory that will override those on the CD. When the CD boots, it creates a memory filesystem for /etc. It then looks for a floppy disk that contains a /etc and copies its contents over top of the standard files provided. Only after that occurs, does it continue with the normal system startup. In this way, you can provide your or rc.conf, hosts, master.passwd, etc, everything needed to customize the host and provide application specific functionality.