Roland Smith wrote:
On Wed, Jul 16, 2008 at 11:20:13PM +0100, Chris Rees wrote:
2008/7/14 Sorin P�nca <[EMAIL PROTECTED]>:
I'm sorry for my late response, I was on vacation.
I think this was the case (although I thought we have only amd64 machines).
Is there a way to recover from this situation by ssh access only?

Thank you!
Sorin.

Chris Rees wrote:
Date: Mon, 23 Jun 2008 18:43:04 +0300
From: Sorin P?nca <[EMAIL PROTECTED]>

Hello people!
I recently upgraded a amd64 machine from FreeBSD-6.2-RELEASE-p11 to
FreeBSD-7.0-RELEASE-p2 using the tutorial found at

http://www.daemonology.net/blog/2007-11-11-freebsd-major-version-upgrade.html
All went well with the base system.
I don't want to patronise, but are you sure you were running
FreeBSD/amd64-6.2 before? Looks kinda like you've tried to upgrade
from 6.2/i386 to 7.0/amd64. In case you have, you can't do that.

Check you haven't disabled and processor-specific extensions in your
BIOS, like SSE, that would also create problems if you have optimised
your ports.

Chris

I thought devel/linuxthreads was using some old library so I tried to
rebuild it:

# cd ../../devel/linuxthreads && make install clean # portupgrade -f
wouldn't do anything
===>  linuxthreads-2.2.3_23 is only for i386, while you are running
amd64.
*** Error code 1

Stop in /usr/ports/devel/linuxthreads.


Any ideas what to do next?
Thank you!

Sorin.
If I understand you correctly, you want to revert to FreeBSD/i386; in
which case I'd advise that you are *extremely* careful, and make sure
that everything important is recompiled in i386; FreeBSD/amd64 can run
binaries from FreeBSD/i386, but not vice-versa.

I *think* that you should be ok running a source update (csup sources,
make buildworld installworld kernel) with arch as i386, then reboot,
pkg_delete -f portupgrade\*, pkg_add -r portupgrade, portupgrade -faP
etc

Installworld is supposed to be done after a reboot, in this case
(cross-build) you'll have a 32-bit kernel stuck with a 64-bit
userland. That won't work.

If you do the installworld before the reboot with a cross-buils, it will
be the other way around. I'm not sure if the installworld will even
complete; every system binary that is replaced will be of the wrong
architecture.

Don't take my word for it, it is beyond my expertise, I've
deliberately made it obtuse; get someone with more knowledge to
elucidate :P

If you have a spare partition, you could install the new kernel and
userland there, and then switch partitions. If that's not an option,
make backups of your data and re-install with the i386 version. It's
quicker and probably less painfull. :)

For changing architectures you'll also have to remove all ports/packages
and re-compile/install them for the new architecture. But you should do
that anyway when going from 6.x to 7.


Roland

Actually I want to run on amd64 architecture on that system (let's call it system0). And recently I had a similar system running FreeBSD-6.2 (amd64 - I'm sure about this one; let's call it system1) and tried to upgrade it to FreeBSD-7.0. To my surprise I had the same errors with missing PIC flag for libpthread.

While for system0 I was able to fix the issue by installing devel/pth and symlinking the binary in proper locations, I experimented a little with system1 until I rendered it unusable.

My question now is: what happend to the second system? Why did the upgrade fail on this one? Unfortunatly I had to reinstall it ASAP using a FreeBSD CD, because system1 is a production system and I really can't investigate further.

I still have other four systems waiting to be upgraded from 6.1 or 6.2 to 7.0 or 7.1 and even they are production, they are replaceable. So I might have the chance to experiment on them, if you think this issue should be chased down.

Sorin.
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to