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.

111 lines
2.2 KiB

---
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
---
Some basic and random information about FreeBSD.
## 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