KERNEL CUSTOM BUILD
Major INFO! TAKE ALWAYS the GENERIC FILE of the LAST RELEASE AS Template to copy it to CUSTOM cause much Changes done there!
Current:
1. Make Backup of the System Disk (dd = disk dump) , boot o a FreeBSD Stick and mount a USB Drive
2. Use a copy of the current updated "GENERIC" Kernel Config File !! (located /usr/src/sys/amd64-or-i386/GENERIC)
3. If you want to upgrade to 9.0 use GENERIC-File of FreeBSD 9.0 !!! path /usr/src/sys/i386/conf/GENERIC make a copy named "CUSTOM" and edit it to modify
4. Download the current sources of the Base System wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/9.0-RELEASE/src.txz
5. Extract it to /usr/src with
tar -C / -xvzf src.txz
6. cp GENERIC to custom
cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/custom
7. Edit custom and change "Desciption" inside "GENERIC" to "CUSTOM", delete lines of unwanted modules, save and exit CUSTOM file. 8. Rebuild world with:
cd /usr/src make -s buildworld
9. Build Custom Kernel
make -s buildkernel KERNCONF=custom
10. Install Custom Kernel
make -s installkernel
11. Reboot to Single Mode or Remote via SSH disable most uneeded services at /etc/rc.conf with "#", but not SSH !!!
12. Install World
mergemaster -p make -s installworld mergemaster -FiU
13. enable services at /etc/rc.conf remove "#" and Reboot the FreeBSD Server
14. TEST THE SYSTEM + DO SECURITY CHECKS! (sockstat -4 / -6 = open Ports)
15. Backup with tar /usr/ports and /usr/src to a tar archive for each folder! Prevents you from broken SVN Tree Updates!!
Remark: If you have a Multi CORE CPU System you often read Tuning Tips on setting "-j5" after the make Option! Don't use it on Production Systems it can break the Build Process cause the Maintainer / Developers of the Pakets SET the correct Settings for successful and clean builds!! Often Users asked me why the "build world" breaks or the "port build" breaks!
Make Process runs safe on normal Mode, cause it prevent the build processes from blocking access each other or on Library Files!!! Give the System to compile clean and safe..