[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Initializing a 64bit system using guix on a 32bit OS
From: |
Alex Kost |
Subject: |
Re: Initializing a 64bit system using guix on a 32bit OS |
Date: |
Sun, 24 May 2015 21:46:32 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Ludovic Courtès (2015-05-22 16:28 +0300) wrote:
> Alex Kost <address@hidden> 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 ‘guix system init’, 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 ‘guix-daemon’ services uses ‘guix-x86_64’.
> (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’ll get the x86_64 kernel and Guix from hydra.gnu.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 ‘guix system
> reconfigure’ 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!!
--
Alex