Skip to main content
  1. Notes/

FreeBSD

·

Some basic and random information about FreeBSD.

What I miss on FreeBSD #

Currently, I run stable/14 on my X1 Carbon Gen7 laptop. I do not run this as a daily driver but I insert the BSD disk from time to time to see if things work better or not.

  • stable wifi drivers (I use wifibox for now but I’d love to ditch the virtual linux network card)
  • ranger quits whenever a key is pressed (haven’t found an alternative to ranger combined with ueberzug as a command line file explorer (that can preview images))
  • generally speaking, the boot time and overall responsiveness is a bit slower than on a linux based os
  • I never got the scrolling in Neomutt working within Alacritty
  • Any sound on the internal speaker sounds like crap. The headphone jack plays fine sounds and music, just the internal speaker is a pain to set up and I never found a good solution that actually plays nice audio.

Tracking FreeBSD STABLE #

A quick checklist. Read along on the FreeBSD website for further information.

As for my understanding only source updates are possible on the STABLE branch, but I still use pkg to install pre-compiled packages – I will find out if that breaks things.

  1. Update sources

    $ doas git -C /usr/src pull
    
  2. Check /usr/src/UPDATING

  3. Go to /usr/src

    $ cd /usr/src
    
  4. Compile world

    $ doas make -j8 buildworld
    
  5. Compile and install kernel

    $ doas make -j8 kernel
    

    This is equivalent to make -j8 buildkernel installkernel.

  6. Reboot

    $ shutdown -r now
    
  7. Update config files

    $ doas etcupdate -p
    

    -p short explained:

    Enable “pre-world” mode. Only merge changes to files that are necessary to successfully run ‘make installworld’ or ‘make installkernel’.

  8. Again, go to /usr/src

    $ cd /usr/src
    
  9. Install world

    $ doas make installworld
    
  10. Update config files (after world installation)

    $ doas etcupdate -B
    

    -B explained:

    Do not build generated files in a private object tree. Instead, reuse the generated files from a previously built object tree that matches the source tree. This can be useful to avoid gratuitous conflicts in sendmail(8) configuration files when bootstrapping. It can also be useful for building a tarball that matches a specific world build.

  11. Another one, reboot

    $ shutdown -r now
    

System is up to date, following the branch stable/14 (for now).