1 DRAGONFLY CDROM README FILE
3 This CDROM boots DragonFly BSD. Basically what you get is a full base
4 system on CD with certain critical directories, such as /tmp, remounted
5 read-write using MFS. Your existing hard drive is not effected by
8 NOTE!!! DRAGONFLY IS UNDERGOING DEVELOPMENT AND IS CONSIDERED
9 EXPERIMENTAL! BSD RELATED EXPERIENCE IS RECOMMENDED WHEN USING
12 If you just want to play with DragonFly and not mess with your hard disk,
13 this CDROM boots into a fully operational console-based system, though
14 without swap it should be noted that you are limited by available memory.
16 AUTOMATIC INSTALLATION
18 We are currently developing automatic installation tools. There are none
23 Manual installation of DragonFly onto an HD involve the following sequence
24 of commands. You must be familiar with BSD style UNIX systems to do
25 installations manually. The primary IDE hard drive is typically 'ad0'
26 and DragonFly is typically installed onto the first slice (ad0s1).
27 SCSI disks are named 'da[0-9]'.
30 # This COMPLETELY WIPES and repartitions your hard drive. Sometimes
31 # old boot blocks can interfere with the initialization process, which
32 # is why we zero-out the start of the disk before running fdisk.
34 dd if=/dev/zero of=/dev/ad0 bs=32k count=16
37 # This installs boot blocks onto the HD and verifies their
38 # installation. See note just above the 'reboot' below for
39 # things to try if it does not boot from your HD.
44 # This creates an initial label on the first slice of the HD. If
45 # you have problems booting you could try wiping the first 32 blocks
46 # of the slice with dd and then reinstalling the label
48 # dd if=/dev/zero of=/dev/ad0s1 bs=32k count=16
49 disklabel -B -r -w ad0s1 auto
51 # Edit the label. Create various standard partitions. The typical
54 # ad0s1a 256m This will be your /
55 # ad0s1b 1024m This will be your swap
56 # ad0s1c (leave alone)
57 # ad0s1d 256m This will be your /var
58 # ad0s1e 256m This will be your /tmp
59 # ad0s1f 8192m This will be your /usr (min 4096m)
60 # ad0s1g * All remaining space to your /home
62 # An example disklabel can be found in /etc/disklabel.ad0s1
66 # Newfs (format) the various filesystems. Softupdates is not
67 # normally enabled on the root filesystem.
75 # Mount the filesystems
77 mount /dev/ad0s1a /mnt
82 mount /dev/ad0s1d /mnt/var
83 mount /dev/ad0s1e /mnt/tmp
84 mount /dev/ad0s1f /mnt/usr
85 mount /dev/ad0s1g /mnt/home
87 # Copy the CDRom onto the target. cpdup won't cross mount boundaries
88 # on the source (e.g. the MFS remounts) so it takes a few commands.
95 # Cleanup. Also, with /tmp a partition it is usually reasonable
96 # to make /var/tmp a softlink to /tmp
100 ln -s /tmp /mnt/var/tmp
102 # Edit /mnt/etc/fstab to reflect the new mounts. An example fstab
103 # file based on the above parameters exists as /mnt/etc/fstab.example
104 # which you can rename to /mnt/etc/fstab.
106 mv /mnt/etc/fstab.example /mnt/etc/fstab
109 # save out your disklabel just in case. It's a good idea to save
110 # it to /etc so you can get at it from your backups. You do intend
111 # to backup your system, yah? :-) (this isn't critical but it's a
114 disklabel ad0s1 > /mnt/etc/disklabel.ad0s1
116 Once you've duplicated the CD onto your HD you have to make some edits
117 so the system boots properly from your HD. Primarily you must remove
118 or edit /mnt/boot/loader.conf
120 # Remove /mnt/boot/loader.conf so the kernel does not try to
121 # obtain the root filesystem from the CD, and remove the other
122 # cruft that was sitting on the CD that you don't need on the HD.
124 rm /mnt/boot/loader.conf
129 At this point it should be possible to reboot. The CD may be locked
130 since it is currently mounted. Be careful of the CD drawer closing
131 on you when you open it during the reboot. Remove the CD and allow
132 the system to boot from the HD.
134 WARNING do not just hit reset, the kernel may not have written out
135 all the pending data to your HD. Either unmount the HD partitions
138 WHAT TO TRY IF IT WONT BOOT FROM YOUR HD. There are a couple of things
139 to try. If you can select CHS or LBA mode in your BIOS, try changing the
140 mode to LBA. If that doesn't work boot from the CD again and use
141 boot0cfg to turn on packet mode (boot0cfg -o packet ad0).
145 (remove CD when convenient, be careful of the CD drawer closing on you)
147 Once you have a working HD based system you can clean up /etc/rc.conf
148 to enable things like cron, sendmail, setup your networking, and so
149 forth. If 'ifconfig' does not show your networking device you could
150 try to kldload it from /modules. With a recognized network device
151 you can ifconfig its IP address or, if you have a DHCP server on your
152 network, use 'dhclient <interfacename>' to obtain an IP address from
155 USING CVSUP TO OBTAIN A CVS TREE, PORTS, AND DOING BUILDWORLDS
157 cvsup can be used to obtain the DragonFly cvs repository, the FreeBSD
158 ports tree, and so on and so forth. 'man cvsup' for more information on
159 its capabilities. cvsup is a port (not part of the base system), but
160 it IS included on the CD. The cvsup example files are in
161 /usr/share/examples/cvsup. You will primarily be interested in the
162 DragonFly CVS repository, DragonFly-supfile, and the FreeBSD ports,
163 FreeBSD-ports-supfile. Once you have done the initial cvsup of the
164 blocks of data that you want you may wish to create a cron job to
165 keep it all up to date. However, please do not run an unattended cvsup
166 more then once a day.
168 # get the CVS pository (it is placed in /home/dcvs)
169 cvsup /usr/share/examples/cvsup/DragonFly-supfile
170 # install the source from the CVS hierarchy
172 cvs -R -d /home/dcvs checkout src
173 cvs -R -d /home/dcvs checkout dfports
175 # get the FreeBSD ports tree (it is directly broken out into /usr/ports)
176 cvsup -h cvsup.freebsd.org /usr/share/examples/cvsup/FreeBSD-ports-supfile
178 # buildworld and installworld examples
184 # buildkernel and installkernel examples. Create your own custom kernel
185 # config in /usr/src/sys/i386/conf/<YOURKERNEL> and you can build and
186 # install custom kernels.
188 # WARNING! Always keep a fully working backup kernel in / in case
189 # you blow it. Remember that /kernel.old is overwritten when you
190 # make installkernel. It is usually a good idea to maintain an emergency
191 # kernel as /kernel.GENERIC or /kernel.bak. If all else fails you can
192 # still fall back to booting the CD.
195 make buildkernel KERNCONF=GENERIC
196 make installkernel KERNCONF=GENERIC
198 EMERGENCY RECOVERY FROM THE CD
200 Lets say you blew up your kernel or something else in / and you need to
201 boot the CD to fix it. Remember that you have a fully operational
202 system when booting the CD, but that you have to fsck and mount your
203 hard drive (typically onto /mnt) to get at the contents of your HD.
205 Your HD is typically an IDE hard drive, so the device is typically
206 /dev/ad0. DragonFly is typically on the first slice, which is
207 /dev/ad0s1, and the root partition is always in partition 'a',
208 which is /dev/ad0s1a.
210 # fsck root before trying to mount it.
212 # mount root read-write onto /mnt
213 mount /dev/ad0s1a /mnt
214 # copy files from the CD as appropriate to make it possible to boot
215 # from your HD again. Note that /mnt/kernel may be flags-protected.
216 chflags noschg /mnt/kernel
217 cp /kernel /mnt/kernel
218 cp /modules/* /mnt/modules/
220 If you want to mount other partitions from your HD but have forgotten
221 what they are, simply cat /mnt/etc/fstab after mounting the root
224 $DragonFly: src/nrelease/root/README,v 1.9 2004/01/27 18:28:22 dillon Exp $