💾 Archived View for uscoffings.net › tech › freebsd › freebsd-rebuild.gmi captured on 2023-01-29 at 02:45:26. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
[date: 2018-04-14]
After upgrading my motherboard to a Kaby Lake processor, I have lost accelerated video with FreeBSD-11.1. FreeBSD-12-CURRENT has the Kaby Lake i915 DRM patches. Below are some notes upgrading and then rebuilding the kernel from source.
Before starting any major upgrade, I like to ensure the system is up-to-date, and clean out any junk ports:
# freebsd-update fetch
# freebsd-update install
# portsnap fetch
# portsnap update
# portmaster -ad
# pkg_cutleaves
Now that the system is in a tidy state, let's think about updating to 12-CURRENT. I've been running from binary installs. Switch to building from source:
# portmaster -d devel/subversion
# mv /usr/src /usr/src.bak
# svn checkout https://svn.freebsd.org/base/head /usr/src
Previously my `CPUTYPE` has been `native`, but googling suggests sometimes this causes problems. The most recent explicitly mentioned microarchitecture in `/usr/src/share/mk/bsd.cpu.mk` is `skylake`. So let's go with that:
# vim /etc/make.conf
CPUTYPE?=skylake
Build the kernel:
# cd /usr/src
# make -j4 buildworld
# make -j4 buildkernel
Now install the kernel and reboot:
# make installkernel
# shutdown -r now
Now install the world:
# cd /usr/src
# make installworld
# shutdown -r now
Merge configuration files and clean up:
# mergemaster -Ui
# make check-old
# make delete-old
# make check-old-libs
# make delete-old-libs
# shutdown -r now
It's a good idea to rebuild all ports (`portmaster -afd`) after upgrading the base OS.
# portmaster -afd
# portmaster -d graphics/drm-next-kmod
Load the `i915kms.ko` from `/etc/rc.conf`:
kld_list="/boot/modules/i915kms.ko"
Also proofread `/boot/loader.conf` for any now-extraneous lines. For example, I had a `kern.vt.fb.default_mode` setting which -- now that it was driving two monitors -- was now applying an out-of-range resolution to a monitor.