Keeping FreeBSD with custom kernel up to date: freebsd-update no option?

Alexandre axelbsd at ymail.com
Wed Apr 17 08:58:30 UTC 2013


Hi Andreas and Polytropon,

In the case your are tracking -RELEASE branch, you can use freebsd-update
tool to apply binary security patches on your system and upgrade versions
(e.g. 9.0 to 9.1 or 9.x to 10.0 when available).
Freebsd-update tool apply binary updates to your system and GENERIC kernel.
Furthermore, this tool syncs sources (by default). So if you are using
custom kernel, you just have to rebuild and install your custom kernel.
It is recommended to not use SVN to update your system sources if you are
using freebsd-update tool to avoid troubles.

Regards,
Alexandre


On Tue, Apr 16, 2013 at 10:18 PM, Polytropon <freebsd at edvax.de> wrote:

> On Tue, 16 Apr 2013 21:38:16 +0200, andreas scherrer wrote:
> > Dear FreeBSD savvies
> >
> > I am (still) struggling to understand how to keep my FreeBSD system up
> > to date ("world"/system, not ports). I want to "track" RELEASE (not a
> > development branch) and I want to receive security related updates. And
> > I want to run a custom kernel.
>
> Without actually havint tested it, it seems that if you want
> to use freebsd-update (binary updating), you should note this:
>
> In /etc/freebsd-update.conf, you should have the line for what
> to update as "Components src world".
>
> This should prevent overwriting of the kernel, but you need to
> compile your kernel and install it. The component "src" will
> make sure you have the proper kernel sources. I assume a custom
> kernel configuration file in /usr/src/sys/{i386|amd64}/conf/
> is _not_ being overwritten by freebsd-update.
>
> Use the -r option of freebsd-update to specify the correct
> release if required. It should follow -RELEASE-p<N> for the
> currentl patchlevel N (which you intend to follow) normally.
>
>
>
> > From what I understand I cannot use "freebsd-update" in this case
> > because it will invariably either overwrite my custom kernel (if I have
> > "Components kernel" in the config file) or not update the kernel sources
> > in /usr/src/sys (when I do not have "Components kernel" in the config
> > file). See [1].
>
> As far as I read from "man freebsd-update.conf", the "src" component
> will not exclude kernel sources; "kernel" refers to the kernel and
> the modules as binary stuff.
>
> This is the relevant text passage:
>
>         The components are ``src''
>         (source code), ``world'' (non-kernel binaries),
>         and ``kernel''; the sub-components are the indi-
>         vidual distribution sets generated as part of
>         the release process (e.g., ``src/base'',
>         ``src/sys'', ``world/base'', ``world/catpages'',
>         ``kernel/smp'').  Note that prior to
>         FreeBSD 6.1, the ``kernel'' component was dis-
>         tributed as part of ``world/base''.
>
> So "src" will include "src/sys" which is the kernel sources you
> will need to build your custom kernel.
>
>
>
> > This leaves me with the only possibility to use SVN to update /usr/src,
> > right?
>
> No, but it might be the "more advanced" alternative, and it should
> work. Note that in _this_ case, you will also have to rebuild the
> world, so kernel and world are in sync after an update. Refer to
> the comment header of /usr/src/Makefile for the whole process that
> has to be performed after updating (or see in the Handbook: the
> section about updating by source).
>
>
>
> > I have a copy of the SVN sources (for the outdated RELEASE-9.0.0
> > but that's a different story), see below for "svn info"). As I
> > understand [2] I cannot mix freebsd-update and SVN, right?
>
> It could cause trouble. Deciding for _one_ way should be better.
>
>
>
> > So I can run "svn update" in /usr/src whenever I like. But what then? Do
> > I need to rebuild the world and my custom kernel every time I run "svn
> > update" (and there are some updates)?
>
> Yes, or better: As soon as it is required. This depends on _what_
> has been part of the update. For example, kernel updates _can_
> require updates of userland programs or libraries, but it's also
> possible that it's not the case. To be sure, rebuild.
>
>
>
> > I'm on a low powered consumer
> > device and it takes considerable amount of time to build the world and
> > kernel (plus I still don't feel comfortable doing such tasks remotely).
>
> In this case, use freebsd-update as explained at the beginning of
> my message: Update components "world" and "src", leave out "kernel",
> the rebuild the kernel by source and install it. Then reboot.
>
>
>
> > Is this really "the way to do it" or am I missing something?
>
> There are _several_ ways to do it. :-)
>
>
>
> > There are quite some posts, websites and threads out there (see [3] or
> > [4] for example) about this topic but (surprisingly?) I could not (yet)
> > find a conclusive answer.
>
> This is because the answer depends on what you actually want to do
> (follow RELEASE, STABLE, CURRENT), and how you want to do it (binary,
> by source).
>
>
>
>
> --
> Polytropon
> Magdeburg, Germany
> Happy FreeBSD user since 4.0
> Andra moi ennepe, Mousa, ...
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "
> freebsd-questions-unsubscribe at freebsd.org"
>


More information about the freebsd-questions mailing list