FreeBSD's recent config changes

Config(8) has undergone some changes that effect how a kernel is
built.  Here is the new way to config/build a kernel. It's a rough
outline. Config is still undergoing some change, more information will
follow. This should be enough to get you going.

Read this carefully, from beginning to end.  If you don't understand
any part of it, then you must either stop, or try again to understand
it.  You can shoot yourself in the foot if you aren't careful and know
what you are doing.  Backups are critical, and it wouldn't hurt to do
a full level 0 of the system just in case.
	
(0) *** BACKUP ****

    At least copy /boot, /modules, and a working kernel. The config
    changes, if not done correctly, can cause your machine to not boot.
    You've been warned. Once again:

    *** BACKUP ***

(1) Update /usr/sbin/config.
    (1a) cd src/usr.sbin/config
    (1b) make cleandir obj depend && make all install

(2) Update /boot/loader.conf
    (2a) cd src/sys/boot; make obj depend all install

[ (1) and (2) can be done with a buildworld/installworld. ]

(3) Update your kernel config files
    (3a) cd src/sys/i386/conf
    (3b) perl gethints.pl < YOURKERNELCONFIGFILE >/boot/device.hints
    (3c) edit YOURKERNELCONFIGFILE
         change *ALL* "device foo yada, yada, yada" lines to "device foo".
         For example, the floppy controller:

         device          fdc0    at isa? port IO_FD1 irq 6 drq 2
    =>   device          fdc
 
         see sys/i386/conf/GENERIC for examples. Note that if you
         have static limited devices, like le, and need to specify
         more than one, you'll need to specify more units. For
         example, "device le0 ..." and "device le1 ...":
 
         device le 2

(4) Did you back up?
    Do you know what you are doing?
    Do you understand everything so far?

(5) Config and build the new kernel
    (5a) cd sys/i386/conf
    (5b) config YOURKERNELCONFIGFILE
    (5c) make depend all install

(6) Reboot the machine
    (6a) reboot
    (6b) pray to ${diety} for divine mercy
    (6c) watch it work :-)