Upgrade from 32-bit to AMD-64?

Karl Denninger karl at denninger.net
Thu Feb 12 18:21:38 PST 2009


Xin LI wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi, Karl,
>
> Karl Denninger wrote:
>   
>> I have a machine that can run either (proved, I can boot the AMD-64
>> release disk)
>>
>> Can I SOURCE UPGRADE from one to the other?  That is, is it possible to
>> do a "make buildworld", "make buildkernel" and then "make installkernel"
>> and wind up with AMD64 instead of the 32-bit code?
>>
>> Or must I reinstall?
>>
>> It APPEARS I can run most 32-bit code on a 64-bit system.  Not all
>> works, but most does.
>>     
>
> This is sort of "doable" but "highly recommend you not to do that"
> thing.  The simplest way to do 32-bit to 64-bit upgrade would be to
> backup your data, install from scratch, then restore data; mixing 32-bit
> and 64-bit stuff together, especially without 32-bit stuff moved to the
> right place, is among the most terrible mess you wanted to avoid.
>
> Online "upgrade" can be done if you have your 64-bit world/kernel built
> and installed into a separate directory (i.e. make world kernel
> DESTDIR=/path/to/a/temp/place), then drop into single user mode, then
> tar then pipe to another tar to extract the whole thing to /, but this
> is really a "foot, gun, shoot" thing.
>
> Cheers,
> - --
> Xin LI <delphij at delphij.net>	http://www.delphij.net/
>
>   
Hmmmm.... I was thinking something like this (I have the cvsup tree on 
the machine)

1. Compile into /usr/robj for amd64 (if I can figure out how to get make 
to do it - the obvious, MACHINE_ARCH=amd64, does not work - it barfs.)

2. Intentionally break the mirror (just in case) from the controller; 
I've now got a clean bootable drive if something goes wrong.

3. "make installkernel" (install new amd64 kernel)

4. Reboot

Now, the question - will the 32-bit executables RUN under the 64-bit 
kernel under single-user so I can "make installworld"?

Or do I get screwed instantly when I reboot?

-- 
--
Karl Denninger
karl at denninger.net




More information about the freebsd-stable mailing list