# Boneheaded 9.0-R update / recovery problem



## johnsalomon (Mar 3, 2012)

Hi,

I'm in the process of attempting to upgrade from 8.2 to 9.0, I somehow managed to screw up a whole slew of things - missing libraries, broken buildworlds, thoroughly borked device entries, etc.  I have spent an inordinate amount of time trying to recover it, to no avail.  This is an i386 system with no floppy or CD/DVD drive.

I can boot my system via USB from the FreeBSD-9.0-RELEASE-i386-memstick image.  I can mount the system's filesystems under /mnt, and get a network connection and NFS mount the entire 9.0 DVD release.

I would like to do essentially a binary upgrade onto the existing filesystems (mounted under /mnt) from the DVD.  I.e. leave the filesystems intact, leave all the subdirectories (e.g. /usr/local, /users/, etc.) intact that shouldn't be affected by the upgrade, but update kernel, libraries, etc.

I can't figure out how to upgrade from the DVD because for some reason all the filenames are in all capital letters.

I can't run freebsd-update because 
	
	



```
Cannot upgrade from 9.0-RELEASE to itself
```

I can't do a fresh install on top of the existing partitions from the installer because I run into a checksum error when it attempts to verify the base system packages. 

Can someone please give me a hint as to what I should be running or copying where?  

Thanks!


----------



## wblock@ (Mar 4, 2012)

If the network works, get the FreeBSD 9 source and build/install from source.

Another option might be to install to a spare hard drive and copy the libraries and binaries from there.


----------



## johnsalomon (Mar 4, 2012)

Hi,

I spent about a week trying to build from source with no success - make buildworld kept failing; every time I applied one patch I got another error.  That's why I grew frustrated and decided to try the binary upgrade route eventually.

I may try the spare hard drive route, thanks.  

Is there no way to directly unpack the base system to the original filesystems I have been able to mount?


----------



## wblock@ (Mar 4, 2012)

johnsalomon said:
			
		

> Hi,
> 
> I spent about a week trying to build from source with no success - make buildworld kept failing; every time I applied one patch I got another error.  That's why I grew frustrated and decided to try the binary upgrade route eventually.



I don't know the story there, but manual patching is not part of a standard update.  I would suggest using csup to update to 9-stable (Upgrading FreeBSD To -STABLE, use tag=RELENG_9 in the supfile) and then building (Building FreeBSD World And Kernel: The Short Form).



> I may try the spare hard drive route, thanks.
> 
> Is there no way to directly unpack the base system to the original filesystems I have been able to mount?



See the man page for bsdinstall(8).  The distextract target should do that, but setup of paths and variables will have to be done first.


----------



## johnsalomon (Mar 4, 2012)

Hi,



			
				wblock@ said:
			
		

> I don't know the story there, but manual patching is not part of a standard update.  I would suggest using csup to update to 9-stable (Upgrading FreeBSD To -STABLE, use tag=RELENG_9 in the supfile) and then building (Building FreeBSD World And Kernel: The Short Form).



I had updated to the latest 9.0-RELEASE source tree but the builds still weren't working.  I tried grabbing the source tree again after this and ran into even stranger build errors (I didn't even bother writing them down anymore, as I am pretty sure they're the result of something badly wonky with my setup rather than something wrong in 9.0-R.)

I obviously did something wrong during the update process, but was not able to track down what the hell it was, and each subsequent step screwed things up more.  

Just for giggles, after your suggestion I then tried just nuking the entire source tree and manually downloading the whole thing via ftp.  So far it appears to be building, knock on wood.



> See the man page for bsdinstall(8).  The distextract target should do that, but setup of paths and variables will have to be done first.



If the *make buildworld* does not do the trick, I'll try that next, thank you for the tips.

I've been running FreeBSD since 1998 and I swear, I've never had this much pain in a major version upgrade


----------

