# Manual upgrade from 8.2 to 8.3



## ygg (Nov 18, 2012)

I've been running 8.2 and apply security patches per the Handbook with no problem. I recently decided to upgrade to 8.3 and ran into some trouble.

I've built kernel and world, and installed the kernel with no problems. When rebooting into Single User mode to install world though I hit a snag. In the past with the SA's I've been able to boot Single User, run `zfs mount zroot`, mergemaster, and install world (per the Handbook). Now however I'm getting a message stating "Cannot mount zroot: legacy mountpoint. Use mount(1M) to mount this filesystem".

Any thoughts on how to proceed?

I'm running root on GPT with the rest of the filesystem on ZFS across 4 disks.


----------



## ygg (Nov 18, 2012)

Giving up on single user mode for now, I'm able to `make installworld` to a point:


```
===> libexec/bootpd/tools/bootpef (install)
install -s -o root -g wheel -m 555   bootpef /usr/sbin
*** Error code 70

Stop in /usr/src/libexec/bootpd/tools/bootpef.
*** Error code 1

Stop in /usr/src/libexec/bootpd/tools.
*** Error code 1

Stop in /usr/src/libexec/bootpd.
*** Error code 1

Stop in /usr/src/libexec.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
```

So this seems to be another path potentially leading to success, but I'm unsure how to work around this current obstacle. If anyone's run into it and found a way past I'd love to hear how. Securelevel is running at -1.


----------



## jb_fvwm2 (Nov 18, 2012)

I've had eventual luck 
	
	



```
make -k installworld ...
```
 but it also involved another good install from which to rsync/del/copy stuff.


----------



## ygg (Nov 18, 2012)

jb_fvwm2 said:
			
		

> I've had eventual luck
> 
> 
> 
> ...



...gives me essentially the same error message, unfortunately.


----------



## jb_fvwm2 (Nov 19, 2012)

```
cd /usr/src/libexec/bootpd
make && make install 
# that works right now, here...  
cd /usr/src
make -DNO_CLEAN -DNOCLEAN installworld
```

I also had done stuff like that.  A fix in this instance?
Or other similar steps, then the above, then the installworld.


----------



## ygg (Nov 19, 2012)

jb_fvwm2 said:
			
		

> ```
> cd /usr/src/libexec/bootpd
> make && make install
> # that works right now, here...
> ...



Still hitting the snag with /usr/sbin/bootpef, unfortunately. I'm unfamiliar with the file, but I can't seem to do anything to it with the system live (I tried moving/renaming it).


----------



## SirDice (Nov 19, 2012)

Just boot normally. I usually skip the step to reboot to single user mode.

Just:

```
make buildworld
make buildkernel
make installkernel
make installworld
mergemaster
reboot
```


----------



## ygg (Nov 19, 2012)

Well now I feel silly. Out of frustration I went back to Single User and tried `zfs mount -a` and was able to mount zroot no problem. Still getting errors, but I'm starting the build over per the Handbook so hopefully that'll clear things up. Thanks for your input, jb_fvwm2.


----------



## ygg (Nov 19, 2012)

SirDice said:
			
		

> Just boot normally. I usually skip the step to reboot to single user mode.
> 
> Just:
> 
> ...



I was getting those bootpef error messages from a normal boot. Single user's given me some progress though so I'm back there, rebuilding, and optimistic.


----------



## kpa (Nov 19, 2012)

I use this procedure to update my ZFS on root system:


```
cd /usr/src
make buildworld
make buildkernel
make installkernel
shutdown -r now
<boot in single user mode>
adjkerntz -i
mount -u /
zfs mount -a
mergemaster -Ui -p
cd /usr/src
make installworld
mergemaster -Ui
make delete-old
make delete-old-libs
reboot
```

The mount -u / is what remounts the root filesystem as read/write and zfs mount -a then mounts all ZFS filesystems.


----------



## ygg (Nov 19, 2012)

kpa said:
			
		

> I use this procedure to update my ZFS on root system:
> 
> 
> ```
> ...



Thanks for that. For some reason `zfs mount zroot` (what I'd been trying earlier) and `zfs mount -a` are not semantic equivalents, despite zroot being the sole zvolume on my system. Go figure. 

Unfortunately I find myself back at the bootpef error message. I was hoping it was a byproduct not operating under single-user mode but apparently it's not.

Google reveals only one other mention of bootpef during make installworld and in that case the fellow had forgotten to turn off securelevel.


----------



## ygg (Nov 20, 2012)

On a hunch I went back and cleared the schg flag from /bin, /bin/*, /sbin, /sbin/*, and others and tried again. I was able to make it a bit further along in the installworld process but was still cut short with error. I'm going through the filesystem and trying to undo any and all modifications I'd made to it as a work-around, so we'll see how that goes. Worst-case I'll install from scratch and try again with a clean system.


----------



## ygg (Nov 21, 2012)

For the record, the current error message reads as follows:


```
===> include (install)
creating osreldate.h from newvers.sh
dirname not found
*** Error code 127

Stop in /usr/src/include.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
```

I've only managed to find one other mention of that particular error message, and it happens to be in Greg Lehey's Diary: http://www.lemis.com/grog/diary-apr2011.php?topics=c#D15-2


----------



## ygg (Dec 5, 2012)

Out of frustration I resorted to the last measure of a clean install. I was afraid that I'd forgotten to record other filesystem changes and that they were causing the error so I figured it would be the easiest way to be sure.

There was one mention of this error message on the questions mailing list that I'd missed earlier. In it the theory that file dates were causing the error message was discussed. Prior to reinstallation I ran `make -d A installworld` and in the verbose output was given a message supporting that theory: that the error was caused by sys/param.h being newer than osreldate.h, so it seems safe to say that was the cause. 

In retrospect though it seems strange. If that really was the case it makes little sense that a clean install would fix things. I built off of the exact same code so it stands to reason that error message should have presented itself again were the dates truly the cause. So I'm not entirely certain, unfortunately.

At any rate, the problem has been resolved. For future readers struggling with a similar problem I'd suggest fiddling with the date-stamps to see if it resolves the error. Thanks, all.


----------

