# Upgrade FreeBSD 10.0 with Custom Kernel



## phenixer (Jul 24, 2019)

Greetings.
Subject


```
10.0-STABLE FreeBSD 10.0-STABLE # 3 r262601: Fri Feb 28 11:09:25 MSK 2014 admin @ router1.: / Usr / obj / usr / src / sys / ROUTER amd64
```

The kernel is assembled custom, not Generic (with nuclear nat, ipfw ....).
There was a question about updating the bind service (named-DNS).
At the moment there is a version of bind


```
bind99-9.9.5
```

The current bind version is 9.14.
Naturally, the OS version is old, you can’t update bind separately (a lot of dependencies), a message about the "Unsupported system" appears.
Therefore, *the question is how it is better (safe, correct, without big problems) to be updated:*
1. try to upgrade the bind package to the current OS without raising the OS release? (this option did not start - an error occurred while updating the pkg itself)
2. to raise the OS version?
    2.1. via freebsd-update (with rebuilding the kernel and the world)
    2.2. from source (also with rebuilding the kernel and the world)
3. deploy a fresh server with Freebsd 12, rebuild the kernel / world, "somehow import" configs from the old system?
P.S. option 2.1. It was tried - the update "3rd party software" does not start after a reboot, also because of pkg.
All sorts of posts and handbook about updating Freebsd with the custom kernel are read.
P.P.S. All manipulations are performed on a test server from a fresh backup (dump / restore)


----------



## SirDice (Jul 24, 2019)

You're running a -STABLE version, that automatically means that you cannot use freebsd-update(8) to update the system. And updating the system is a must, the entire 10 branch has been End-of-Life since October 2018 and is not supported any more.

I suggest you do a source upgrade to 10.3-RELEASE and reconsider using the GENERIC kernel. From that point onward you can use freebsd-update(8) to keep the base system updated. With a supported and up to date base OS you can also easily update your packages.


----------



## phenixer (Jul 24, 2019)

Thanks for reply.
I know about 'STABLE' issue and `freebsd-update`- it is resolved by commands

```
setenv UNAME_r "10.0-RELEASE"
freebsd-update -r 10.3-RELEASE upgrade
```

"source upgrade" - ok, I will try this.

But I have some difficulties after upgrade to 10.3 via GENERIC kernel.
After upgrading I should execute

```
freebsd-update install
```
and after it update all packages via

```
portmaster -af
```
1. So should I update packages on GENERIC kernel or {build/install custom kernel and only after booting custom kernel update all packages}?
2. How can I build new custom kernel with all settings from previous working kernel?


----------



## SirDice (Jul 25, 2019)

1) Kernel is irrelevant for packages/ports
2) Use modules and keep GENERIC


----------

