You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
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 <kbd>[stable/14][2]</kbd> (for now).
[2]: https://cgit.freebsd.org/src/log/?h=stable/14