This post by Free and Open Source Software Knowledge Base shows us how to build and install a custom kernel in FreeBSD-10.
Go to the kernel source directory which contains the configurations.
Create a folder named kernel in the home directory of root user i.e. /root.
Create a soft link in the /usr/src/sys/amd64/conf named “MYKERNEL” which links to /root/kernels/MYKERNEL file.
cp GENERIC /root/kernels/MYKERNEL
ln -s /root/kernels/MYKERNEL
Goto the folder created above.
Edit the file “MYKERNEL” and make the following change. This line helps us to create the new kernel which is a combination of a generic kernel and the extra features added. The following line includes the features available in a generic kernel
The other additional lines specify the features to be added in the kernel to be created.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
options SCHED_ULE # ULE scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options TCP_OFFLOAD # TCP offload
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options QUOTA # Enable disk quotas for UFS
options MD_ROOT # MD is a potential root device
To build a file which contains all available options, run the following commands.
Goto the main source folder.
Build and Install the new kernel with reference from the file “MYKERNEL”.
make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL
Now reboot the machine to boot into the new kernel you just created now.
Original post: https://fosskb.wordpress.com/2014/11/20/building-and-installing-custom-kernel-in-freebsd-10/