# Upgrade from 9.1-RELEASE to 9.2-RELEASE stuck on 9.1-RELEASE



## efeldhusen (Oct 5, 2013)

I have a server that was/is running 9.1-RELEASE that I tried to upgrade to 9.2-RELEASE. I missed the step of updating to the latest 9.1 patches by doing 

```
freebsd-update fetch 
freebsd-update install
```

I went right to 

```
freebsd-update upgrade -r 9.2-RELEASE
freebsd-update install
reboot
freebsd-update install
reboot again
```

But my system still comes up as 9.1-RELEASE. Any suggestions on the steps to fix my goof?

Eric Feldhusen


----------



## ShelLuser (Oct 5, 2013)

It heavily depends on quite some things. Although it is indeed advised to first update to the latest patch release before doing the actual upgrade I don't think it should matter too much.

The first things coming to my mind are if you're using a customized kernel (one you compiled yourself)? Also; have you by any chance made any chances to /etc/freebsd-update.conf?


----------



## youngunix (Oct 6, 2013)

Assuming you don't have a custom kernel, and `uname -a` indicates 9.1-RELEASE instead of 9.2-RELEASE, do the following again:
`freebsd-update fetch`
`freebsd-update install`

Then:

`freebsd-update -r 9.2-RELEASE upgrade`
`freebsd-update install`
`reboot`
`freebsd-update install`
`reboot`


----------



## efeldhusen (Oct 6, 2013)

I did have a custom kernel when this system was a 9.0-RELEASE for creating an IPsec VPN. I've been running the generic 9.1-RELEASE kernel since upgrading to 9.1-RELEASE, but apparently the upgrade to 9.2-RELEASE picked up the issue and choked on the error. 

I went with upgrading from sources, but when I walk through the steps

```
cd /usr/src
make buildworld
make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC
reboot
mergemaster -p
make installworld
make delete-old
mergemaster
reboot
make delete-old-libs
```

I get the following error at `mergemaster -p`

```
[root@server src 12:01 AM]#mergemaster -p

*** Creating the temporary root environment in /var/tmp/temproot
 *** /var/tmp/temproot ready for use
 *** Creating and populating directory structure in /var/tmp/temproot

/usr/bin/install: Undefined symbol "gid_from_group"

  *** FATAL ERROR: Cannot copy files to the temproot environment

[root@server src 12:01 AM]#
```
I found this forum issue - http://forums.freebsd.org/showthread.php?t=41779 - and if I do `truss install -d -g wheel ~/testdirectory` I find this error in the output:

```
lstat("/usr/local/etc/libmap.d",0x7fffffffb9a0)     ERR#2 'No such file or directory'
```
Any suggestions?


----------



## ShelLuser (Oct 6, 2013)

The first thing which comes to mind is that you should have run `mergemaster` _before_ running `make delete-old`. I have no idea how much impact this could have, I'm tempted to say none but I don't know for sure.

Right; what happens if you reboot back into the old (previous) kernel? Do so using single user mode because you're basically running an old kernel on a new world. But does mergemaster run without any errors then?

Also; is there any way for you to share the full output of that truss session? I can say that the message you shared here is quite normal; when I run the install command I also get several "_no such file or directory_" messages in my truss output where install is looking for files in /usr/local which aren't there.


----------



## tzoi516 (Oct 6, 2013)

ShelLuser said:
			
		

> It heavily depends on quite some things. Although it is indeed advised to first update to the latest patch release before doing the actual upgrade I don't think it should matter too much.



That was the issue I encountered on one of my test systems. Reimaged, applied all patches, and then upgraded - `uname` gave me the correct version after.


----------



## SirDice (Oct 7, 2013)

efeldhusen said:
			
		

> ```
> make buildkernel KERNCONF=GENERIC
> make installkernel KERNCONF=GENERIC
> ```


Unless you had set KERNCONF in /etc/make.conf to something else there's no need to specify GENERIC. It's the default.


----------



## rustyx (Mar 12, 2014)

*Re: Upgrade from 9.1-RELEASE to 9.2-RELEASE stuck on 9.1-REL*

Are you sure this command works correctly?

`freebsd-update upgrade -r 9.2-RELEASE`

I think the right command is `freebsd-update -r 9.2-RELEASE upgrade`


----------

