|
|
|
|
---
|
|
|
|
|
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
|
|
|
|
|
|