Upgrading obsolete system

We have a system that is old and broken and every attempt to update fails -- but everything else including webserver and fileserver works. It is running 8.3-STABLE. We have other servers running 9.3. Could we
  1. get the source for 8.4-STABLE to an external disk on a 9.3 machine,
  2. make buildworld and make buildkernel on the 9.3 machine and
  3. move the disk to the 8.3 machine and then make installkernel and installworld?
Would we then have a consistent up-to-date 8.4 machine on the broken server? The question is whether we can build an 8.4 system on a 9.3 machine by downloading 8.4 source and using buildkernel and buildworld.

If that would work, then we could work on updating ports and so on.
 
If you regard your system as broken while still having access to your data, just backup your data and system/server configuration. Make a clean install of a supported FreeBSD version of your choice. Restore your data and configurations. Fix the new system to your needs and you are done.
 
If you regard your system as broken while still having access to your data, just backup your data and system/server configuration. Make a clean install of a supported FreeBSD version of your choice. Restore your data and configurations. Fix the new system to your needs and you are done.

We know some of the web apps will not work with recent PHP versions. So it would help if we could fix the OS, then get to work on the ports and apps. I don't know how to make a clean install but save the old ports so we can untangle this spaghetti.
 
A clean installation is an installation on sanitized or otherwise emptied or new media.

What about telling us which PHP version you are running on that server and what those ports/apps are?
 
A clean installation is an installation on sanitized or otherwise emptied or new media.

What about telling us which PHP version you are running on that server and what those ports/apps are?

The old server is running apps that were written by a developer who was here for PHP 5.2. The reason the machine is so obsolete is that someone tried to update the ports years ago, broke the apps, downgraded and no one has touched it since.
 
You could mount the disk from the old server to the new system and then do the following after make buildworld buildkernel with the 8.4 sources. This assumes that the disk from the old server is mounted at /mnt:

Code:
make -C /usr/src installworld installkernel DESTDIR=/mnt
mergemaster -D /mnt -Ui
make -C /usr/src delete-old delete-old-libs DESTDIR=/mnt

That would take care of the OS upgrade to 8.4 and leave the installed ports untouched. The mergemaster(8) step might be quite daunting because I think the CVS to SVN transition happened after 8.3 and the step might prompt about just about every single file.
 
You could mount the disk from the old server to the new system and then do the following after make buildworld buildkernel with the 8.4 sources. This assumes that the disk from the old server is mounted at /mnt:

Code:
make -C /usr/src installworld installkernel DESTDIR=/mnt
mergemaster -D /mnt -Ui
make -C /usr/src delete-old delete-old-libs DESTDIR=/mnt

That would take care of the OS upgrade to 8.4 and leave the installed ports untouched. The mergemaster(8) step might be quite daunting because I think the CVS to SVN transition happened after 8.3 and the step might prompt about just about every single file.
You could mount the disk from the old server to the new system and then do the following after make buildworld buildkernel with the 8.4 sources. This assumes that the disk from the old server is mounted at /mnt:

Code:
make -C /usr/src installworld installkernel DESTDIR=/mnt
mergemaster -D /mnt -Ui
make -C /usr/src delete-old delete-old-libs DESTDIR=/mnt

That would take care of the OS upgrade to 8.4 and leave the installed ports untouched. The mergemaster(8) step might be quite daunting because I think the CVS to SVN transition happened after 8.3 and the step might prompt about just about every single file.

That's great, thanks. The "disk" on the old system is an internal RAID array. I was wondering about going the other way: mount a usb disk on a 9.3 system; put the sources on the usb disk and build; move the usb disk to the old system and install.

I suppose I could install a fresh 8.4 system on a usb disk, boot the old system off the usb disk, and install the new os on the old system as you describe above.
 
Back
Top