1. Track -STABLE: cd /usr/src && cvsup stable-supfile 2. Read and understand /usr/src/UPDATING. 3. Run mergemaster; this should be done by experienced personnel only. 4. If mergemaster did not update /dev, run cd /dev && sh MAKDEV all 5. Ensure that /etc/make.conf does not build unnecessary stuff (such as Fortran, Objective C, sendmail, profiling libraries) 6. Verify that fsck_y_enable="YES" is defined in /etc/rc.conf. Otherwise, fsck might wait for console input and halt the boot process. 7. Verify that the kernel config file is up to date and that no new requirements were added which have not been met yet (refer to UPDATING). Constraints: pair1, 11, 12: SMP/APIC_IO can be set; firewall optional. pair2: SMP/APIC_IO MUST NOT be set; firewall MUST be set. Ensure that SMP and APIC_IO are only set, if the machine has multiple processors. A SMP kernel will not boot on an UP machine. "sysctl hw.ncpu" will tell you the number of CPUs. 8. Clean up: rm -rf /usr/obj 9. nohup make buildworld -jX & where X is 10. make buildkernel installkernel KERNCONF=NEWPB1 Adapt kernel config name as necessary. 11. Take a snapshot of the running processes/services: ps ax > /root/pslist-old 12. Reboot. 13. make installworld 14. Reboot. 15. Compare the current process list with the saved one. Ensure that all services which ran before are running now.