diff --git a/content/notes/freebsd/index.md b/content/notes/freebsd/index.md new file mode 100644 index 0000000..73eeca5 --- /dev/null +++ b/content/notes/freebsd/index.md @@ -0,0 +1,107 @@ +--- +title: FreeBSD +date: 2024-08-31T08:35:46+02:00 +#lastmod: +description: +summary: +tags: +- freebsd +- git + +#showDate: false +showReadingTime: false +showWordCount: false +showPagination: false +#showAuthor: false +showBreadcrumbs: true + +feed_exclude: true +# site_exclude: true + +draft: true + +--- + +## Tracking FreeBSD STABLE + +A quick checklist. Read along [on the FreeBSD website][1] for further information. + +[1]: https://docs.freebsd.org/en/books/handbook/cutting-edge/#stable + +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 + ~~~console + $ doas git -C /usr/src pull + ~~~ + +2. Check `/usr/src/UPDATING` + +3. Go to `/usr/src` + ~~~console + $ cd /usr/src + ~~~ + +4. Compile world + ~~~console + $ doas make -j8 buildworld + ~~~ + +5. Compile and install kernel + ~~~console + $ doas make -j8 kernel + ~~~ + + This is equivalent to `make -j8 buildkernel installkernel`. + +6. Reboot + ~~~console + $ shutdown -r now + ~~~ + +7. Update config files + ~~~console + $ 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` + ~~~console + $ cd /usr/src + ~~~ + +9. Install world + ~~~console + $ doas make installworld + ~~~ + +10. Update config files (after world installation) + ~~~console + $ 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 + ~~~console + $ shutdown -r now + ~~~ + +System is up to date, following the branch [stable/14][2] (for now). + +[2]: https://cgit.freebsd.org/src/log/?h=stable/14