Changes

Jump to: navigation, search
no edit summary
[[Category:FreeBSD]]
 
== Introduction ==
cat <<EOF >/tmp/make.conf
# Build and install only FCTARGET kernel.and GENERIC kernels # /boot/GENERIC FCTARGET will be updated installed by freebsd-update(8)default. KERNCONF=FCTARGETGENERIC EOF
sudo install -g staff -o aram /tmp/make.conf /etc
== Create /usr/obj Exclude the kernels from freebsd-update(8) ==
Assuming you have ZFSMake sure /etc/freebsd-update.conf doesn't list the kernels:
Components src world == Set permissions to build as user ==  sudo zfs create zroot/usr/obj# assuming you have ZFS
sudo chown aram:staff /usr/obj
== Build and install the kernels ==
Build the kernelkernels:
cd /usr/src
# builds FCTARGETand GENERIC
make buildkernel -j24
Install the kernelkernels:
# installs install FCTARGETinto /boot/kernel (default) and GENERIC into /boot/GENERIC
sudo make -j24 installkernel
 
If you need to build generic for whatever reason:
 
make buildkernel -j24 KERNCONF=GENERIC
sudo make -j24 installkernel KERNCONF=GENERIC INSTKERNNAME=GENERIC
== Load isp(4) driver firmware in /etc/loader.conf ==
As root:
sudo su -
echo isp_load="YES" >> /boot/loader.conf
echo ispfw_load="YES" >> /boot/loader.conf
 
isp(4) is already compiled into the kernel, no need to load it.
== Reboot and test ==
sudo reboot
 
== Update ==
 
When updating to the same RELEASE, run freebsd-update(8) to get new source and binaries, then recompile the kernels and reboot.
 
You can't upgrade to a newer RELEASE without rebuilding the newer kernel first.
== References ==
* [https://www.freebsd.org/doc/handbook/kernelconfig-building.html FreeBSD Handbook: Building and Installing a Custom Kernel]
* [https://www.freebsd.org/doc/handbook/updating-upgrading-freebsdupdate.html#freebsd-update-custom-kernel-9x FreeBSD Handbook: 23.2.3.1. Custom Kernels with FreeBSD 9.X and Later]
* [https://www.freebsd.org/cgi/man.cgi?query=make.conf&sektion=5&apropos=0&manpath=FreeBSD+11.2-RELEASE+and+Ports make.conf(5)]
* [https://www.freebsd.org/cgi/man.cgi?query=src.conf&sektion=5&apropos=0&manpath=FreeBSD+11.2-RELEASE+and+Ports src.conf(5)]
* [https://www.freebsd.org/cgi/man.cgi?build(7) build(7)]
* [https://www.freebsd.org/cgi/man.cgi?query=isp&apropos=0&sektion=4&manpath=FreeBSD+811.12-RELEASE &arch=default&format=html isp(4)]

Navigation menu