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