Re: Source level upgrade from 4.9 to CURRENT..

From: krad <kraduk_at_googlemail.com>
Date: Thu, 17 Sep 2009 21:49:18 +0100
2009/9/17 Ruben de Groot <fbsd-current_at_bzerk.org>

> On Thu, Sep 17, 2009 at 10:11:51AM +1000, Andrew Reilly typed:
> > On Wed, Sep 16, 2009 at 04:31:14PM -0700, Doug Barton wrote:
> > > There are also the issues of CPU horesepower and quantity of RAM that
> > > are potential problems on hardware that is at minimum 6 years old.
> > > Everything about this project shouts DANGER WILL ROBINSON!!! to me.
> >
> > Oh, I don't know.  I'm running 7-STABLE (February vintage: it's
> > too slow to rebuild very often) on an old P-III/500 box with
> > 512M of RAM.  Works beautifully for what I'm asking of it (not
> > much).  That box probably started with something of the 3- or
> > 4- vintage and upgraded continuously in place.  I do remember
> > giving it a new disk drive when I did the step to UFS2, though.
>
> I run FreeBSD 8.0 on a soekris 100 Mhz "i586" with 64 MB. Smoothly.
>
> Ruben
>
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>


I have missed a chunk of this thread so sorry if im repeating whats already
been said.

I have done quite a few upgrades from 4x to current successfully. The reason
I did this rather than a full reinstall was the boxes didnt have cds, didnt
boot usb, and i dont have floppies anymore. Anyway this is what i found the
most reliable way of doing it

1. back it all up
2. download base and kernels distro directories
3. "./install.sh generic" in the kernels dir
4. chflags noschg /kernel
5. mv /kernel /kernel.old
6. ln /boot/kernel/kernel /kernel
7. Reboot to single user
8. mv /etc/ etc.old
9. cd to base dir and "./install.sh" (overwrite it all) (you usually get a
few errors but ignore them)
10. copy relevent bits from /etc.old to /etc

You might be able to get away with it but I always do a make world and
kernel at this point. To doubly make sure everything is there and installed
correctly

now for the local packages you have two options: rebuild or install
compatibility libraries

I usually go for rebuild

1.mv /usr/local /usr/local.old
2. mv /var/db/pkg /var/db/pkg.old
3.  reinstall
ls /var/db/pkg.old/| while read f; do pkg_info -o $f| tail -2; done  | sed
-e "s/^.*\///" | sort -uls /var/db/pkg/| while read f; do pkg_info -o $f|
tail -2; done  | sed -e "s/^.*\///" | sort -u | while read p; do pkg_add -rv
$p; done
4. copy your configs accross from the /usr/local.old dir

Finally after you have tested and are happy all is ok cleanup

rm -rf /usr/local.old /var/db/pkg.old
cd /usr/src
yes | make delete-old-files  delete-old-libs  delete-old-dirs


Its a bit long winded but does work and you end up with a fairly clean
install. You can speed up the process by doing the buildworld and
buildkernel on another box and nfs exporting /usr/src and obj to the target
system
Received on Thu Sep 17 2009 - 18:49:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:55 UTC