1$Id: README,v 1.4 2002/08/09 01:11:48 bsd Exp $ 2 3These are the scripts to create a full FreeBSD installation that runs 4from CD-ROM. This is a complete installation that can do just about 5anything that a hard-disk based installation can do. I've used this 6work as the basis for a CD-Rom based firewall, for recovering systems 7that can no longer boot from the hard-drive, for performing system 8diagnostics, as well as for a simple, but fast, installer. 9 10The installer is included and can be used to install a FreeBSD release 11that is included on the CD-ROM onto your hard disk. This program is NOT 12intended as a complete replacement for sysinstall/bsdinstall; it does not 13offer anywere near the installation options. But it can be used, however, 14to do the equivalent of a full install (no packages) of FreeBSD, onto your 15hard disk and configure the hostname and network interface. 16 17Brief instructions for the use of these scripts follows: 18 19 1) First, you must do a buildworld from sources: 20 21 # cd /usr/src && make buildworld 22 23 This will rebuild your entire system, but won't actually install 24 anything. The result of the build will be in /usr/obj. 25 26 2) Install this software. Edit the Makefile and adjust BINDIR and 27 LIBDIR accordingly. If you change LIBDIR, you may need to modify 28 the 'mkcdroot' script and make the same change. 29 30 # make install 31 32 3) Locate an area on your system that can hold at least 200 Megs 33 (400 if you'll be including a Release on the CD/DVD), create a 34 subdirectory there. Call that $CDROOT. This directory will be 35 the top level directory of your read-only root installation, and 36 will be the directory that you use for creating your ISO filesystem. 37 38 4) Make sure $CDROOT from step 3 exists: 39 40 # mkdir -p $CDROOT 41 42 5) Run the mkcdroot script to create the read-only root area: 43 44 # mkcdroot -base $CDROOT 45 46 6) If you want this CD to contain a FreeBSD release, you need to 47 have previously built a release on your system. Assume your 48 release directory is located at /scratch/release, copy disc1 of 49 the release to /dist of your $CDROOT area: 50 51 # cd $CDROOT/dist && cp -pr /scratch/release/R/cdrom/disc1/* . 52 53 7) Create an ISO of your $CDROOT area: 54 55 # cd $CDROOT 56 # cd .. 57 # mkisofs -R -b boot/boot.fd -o cdroot.iso $CDROOT 58 59 8) Burn cdroot.iso to a CD, or DVD; it should boot and come up to a 60 login prompt. Login as root (no password by default). You are now 61 running a complete FreeBSD installation from CD-ROM, except for a 62 few filesystems that must be mounted read-write for proper system 63 operation. 64 65 9) If you included a FreeBSD release on the CD, and want to install 66 it: 67 68 # /etc/inst 69 70 Follow the instructions. 71 72If you wish to use the CD/DVD for a firewall, or other specialized 73application, create a floppy disk that contains a UFS filesystem and 74create a /etc directory on it. Copy the files onto the floppy's /etc 75directory that will override those on the CD/DVD. When the CD/DVD boots, 76it creates a memory filesystem for /etc. It then looks for a floppy disk 77that contains a /etc and copies its contents over top of the standard 78files provided. Only after that occurs, does it continue with the normal 79system startup. In this way, you can provide your or rc.conf, hosts, 80master.passwd, etc, everything needed to customize the host and provide 81application specific functionality. 82 83