Date: Thu, 12 Feb 2009 20:32:33 -0600 From: Karl Denninger <karl@denninger.net> To: freebsd-stable@freebsd.org Subject: Re: Upgrade from 32-bit to AMD-64? Message-ID: <4994DBC1.2000309@denninger.net> In-Reply-To: <4994DACC.1040801@delphij.net> References: <4994CD7B.7040302@denninger.net> <4994D603.2060406@delphij.net> <4994D931.4060508@denninger.net> <4994DACC.1040801@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------020400020706080708090506 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Xin LI wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Karl Denninger wrote: > >> 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@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"? >> > > Yes as long as you compiled COMPAT_FREEBSD32 you can run 32-bit > executables under a 64-bit kernel, but, you need to be careful since the > dynamic linker would have different name. > >> Or do I get screwed instantly when I reboot? >> > > There is a reason we don't recommend doing that :) > > Cheers, > - -- > Xin LI <delphij@delphij.net> http://www.delphij.net/ > ROFL! Ok, I get it. I'm asking to get hosed as soon as I reboot..... I CAN reload the machine but it would take the machine out of service for MUCH LESS TIME if I could do it this way; a full reload is going to take a couple of hours, where I can do it that way in ~5-10 minutes of downtime. Of course if its going to blow up..... I guess I need to schedule the 2-3 hours of downtime..... the reason for this, by the way, is that I have a dbms app on there that is getting too RAM hungry for its own good (its a Quadcore CPU) and I'm up against the RAM limit for 32-bit code. The board will support more but 32-bit code won't; ergo, the only way to get beyond this is to go to 64-bit. -- -- Karl Denninger karl@denninger.net --------------020400020706080708090506--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4994DBC1.2000309>