# Freebsd-update wrong kernel version



## jensenet (Jun 5, 2014)

I was running 8.4-RELEASE-p9 kernel and did a freebsd-update() `fetch` and `install` during which it correctly showed:


```
...
The following files will be updated as part of updating to 8.4-RELEASE-p12:
/boot/kernel/if_fxp.ko
/boot/kernel/if_fxp.ko.symbols
...
```

However, after reboot it now says:  8.4-RELEASE-p11.

What's wrong here?


----------



## jensenet (Jun 5, 2014)

I've always built from source; I tried the binary. I guess maybe this is the answer?


```
The updates distributed by freebsd-update do not always involve the kernel. It is not necessary to rebuild a custom kernel if the kernel sources have not been modified by freebsd-update install. However, freebsd-update will always update /usr/src/sys/conf/newvers.sh. The current patch level, as indicated by the -p number reported by uname -r, is obtained from this file. Rebuilding a custom kernel, even if nothing else changed, allows uname to accurately report the current patch level of the system. This is particularly helpful when maintaining multiple systems, as it allows for a quick assessment of the updates installed in each one.
```

Is this what most do -- build the kernel -- if the kernel DOESN'T change to maintain the right version? It would seem there's an easier way?


----------



## junovitch@ (Jun 6, 2014)

Hello. This is part of why freebsd-version() was introduced in 10.0+, to show the actual version even after upgrades where the kernel was not updated.  Keep in mind that this is really just a  purely cosmetic thing.The `uname` output doesn't mean the system is out of date.


----------



## kjpetrie (Jun 6, 2014)

I'm getting the same problem with 9.1-RELEASE-p15. It simply won't take; even after a reboot I'm still on p14. 

Looks as if the update system is thoroughly broken.


----------



## junovitch@ (Jun 6, 2014)

No. 9.1-RELEASE-p15 did not update the kernel. It will not update the kernel version displayed by `uname` and as I just said this is why freebsd-version() was introduced, to get rid of some of the confusion when an update does not update the kernel. This is just the way the update system works, it only provides files that have actually changed. What you are seeing is purely cosmetic.


----------

