From owner-freebsd-stable@FreeBSD.ORG Fri Feb 13 02:28:39 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3499F1065672 for ; Fri, 13 Feb 2009 02:28:39 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.delphij.net (delphij-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:2c9::2]) by mx1.freebsd.org (Postfix) with ESMTP id A44798FC1D for ; Fri, 13 Feb 2009 02:28:38 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [211.166.10.233]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tarsier.delphij.net (Postfix) with ESMTPS id B700F28448 for ; Fri, 13 Feb 2009 10:28:37 +0800 (CST) Received: from localhost (tarsier.geekcn.org [211.166.10.233]) by tarsier.geekcn.org (Postfix) with ESMTP id 598F3EC6E17; Fri, 13 Feb 2009 10:28:37 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([211.166.10.233]) by localhost (mail.geekcn.org [211.166.10.233]) (amavisd-new, port 10024) with ESMTP id NQ157nlQdsrV; Fri, 13 Feb 2009 10:28:32 +0800 (CST) Received: from charlie.delphij.net (adsl-76-237-33-62.dsl.pltn13.sbcglobal.net [76.237.33.62]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTPSA id C7D5EEC6ADF; Fri, 13 Feb 2009 10:28:30 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type:content-transfer-encoding; b=UW7CCqaLoU5wqGeTPesbqu73au0K5X18bd7efqXysZA4ZCZMCnKD0lwQXPkYC6AzR LfzAaBdpaoLnjXRQ5eG5g== Message-ID: <4994DACC.1040801@delphij.net> Date: Thu, 12 Feb 2009 18:28:28 -0800 From: Xin LI Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.19 (X11/20090202) MIME-Version: 1.0 To: Karl Denninger References: <4994CD7B.7040302@denninger.net> <4994D603.2060406@delphij.net> <4994D931.4060508@denninger.net> In-Reply-To: <4994D931.4060508@denninger.net> X-Enigmail-Version: 0.95.7 OpenPGP: id=18EDEBA0; url=http://www.delphij.net/delphij.asc Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-stable@freebsd.org Subject: Re: Upgrade from 32-bit to AMD-64? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Feb 2009 02:28:39 -0000 -----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 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 http://www.delphij.net/ FreeBSD - The Power to Serve! -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (FreeBSD) iEYEARECAAYFAkmU2swACgkQi+vbBBjt66CvjwCggpu439Rif7SzKnrOjpTFtCH1 CwUAnjRflrkmlrLlJvhCEJq5kUk8nPGd =rwVa -----END PGP SIGNATURE-----