From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: Re: Initializing a 64bit system using guix on a 32bit OS Date: Sun, 24 May 2015 21:46:32 +0300 Message-ID: <87d21pg6ev.fsf@gmail.com> References: <87siappuix.fsf@gmail.com> <87bnhclp1j.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55568) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ywav7-00068l-Qv for guix-devel@gnu.org; Sun, 24 May 2015 14:46:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ywav4-0005nD-0e for guix-devel@gnu.org; Sun, 24 May 2015 14:46:45 -0400 In-Reply-To: <87bnhclp1j.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 22 May 2015 15:28:24 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Ludovic Court=C3=A8s (2015-05-22 16:28 +0300) wrote: > Alex Kost skribis: [...] >> So I'm wondering is there a way to init a 64-bit system from a 32-bit >> one or perhaps it's just not possible? > > It actually is possible, but a little bit trickier. Mark did it a few > weeks ago, though in a slightly different context. The following should > work: > > 1. Install an i686 GuixSD, simply with =E2=80=98guix system init=E2=80= =99, but use an > x86_64 kernel. To do that, you need to explicitly ask for an > x86_64 kernel and Guix (so that the daemon accepts to build x86_64 > things) in the OS config: > > (define linux-libre-x86_64 > (package (inherit linux-libre) > (arguments `(#:system "x86_64-linux" > ,@(package-arguments linux-libre))))) > > (define guix-x86_64 > (package (inherit guix) > (arguments `(#:system "x86_64-linux" > ,@(package-arguments guix))))) > > (define %my-services > ;; Make sure the =E2=80=98guix-daemon=E2=80=99 services uses =E2= =80=98guix-x86_64=E2=80=99. > (map (lambda (mservice) > (mlet %store-monad ((service mservice)) > (if (memq 'guix-daemon (service-provision service)) > (guix-daemon #:guix guix-x86_64) > (return service)))) > %base-services)) > > (operating-system > ;; ... > (kernel linux-libre-x86_64) > (services %my-services)) > > Normally you=E2=80=99ll get the x86_64 kernel and Guix from hydra.gn= u.org, > so no problem. The rest of the user-land will still be 32-bit. > > 2. Boot into the new system, and from there run =E2=80=98guix system > reconfigure=E2=80=99 with a cleaned up OS config. > > Let us know how it goes! Mark and Ludovic, thank you very much! Eventually I installed a 64-bit system from a 32-bit Guix, based on your notes. Guix is great! Ave Guix!! --=20 Alex