unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
To: Andy Tai <atai@atai.org>
Cc: help-guix@gnu.org
Subject: Re: Guix on 32-bit x86 systems
Date: Sun, 17 Apr 2022 03:14:40 +0200	[thread overview]
Message-ID: <20220417031440.055ba642@primary_laptop> (raw)
In-Reply-To: <CAJsg1E_L2yGTub+Xeh9QgX-0jusXYRURX_p+z-mQy7u3eVc8Zw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3763 bytes --]

On Tue, 5 Apr 2022 14:43:57 -0700
Andy Tai <atai@atai.org> wrote:

> Hi, I wonder do people recommend running Guix as the primary OS on
> 32-bit x86 systems?  I have some old 32-bit 80x86 (Pentium) PCs that
> were running Fedora and of course Fedora had dropped support for
> 32-bit x86 some time ago.
> 
> I am curious how would Guix work on such hardware.   These old PCs may
> have memory of 4 GB or less.  Would that be an issue for running Guix
> as Guix tries to build software from sources and the build  process
> may not be possible on systems without much RAM.    Thanks for info on
> this
I'm still (mostly) using Parabola i686 on my main computer.

From time to time I boot on Guix, do the updates and try to
configure more things and/or do tests and/or fix things.

When I boot on Guix, I've also a script to chroot in Parabola. So at
least I can still use software that is not packaged in Guix yet, but
I'd prefer having everything integrated like in my Parabola
installation.

And I share some configuration and the home between the two systems to
keep them in sync.

Here's the chroot script:
> #!/bin/sh
> # GPLv3+
> root="/path/to/parabola-i686/mount/directory"
> username=gnutoo
> 
> for d in dev dev/pts dev/shm etc/machine-id proc sys tmp/.X11-unix ;
> do
>     mount | grep " on ${root}/$d" > /dev/null || \
>     mount -o bind /$d ${root}/$d 
> done
> 
> if [ -f ${XAUTHORITY} ] ; then
>     mount | grep " on ${root}/${XAUTHORITY}" > /dev/null || \
> 	    mount -o bind ${XAUTHORITY} ${root}/${XAUTHORITY}
> fi
> 
> chroot "${root}" /bin/bash --login -c \
> 	"sudo XAUTHORITY=${XAUTHORITY} DISPLAY=${DISPLAY} -i -u
> ${username};"

It enables to run graphical applications, and sound probably works too
but I can't use udisksctl in that chroot yet as it expects to talk to a
deamon that is only launched in Guix.

One of the issue I found with Guix on i686 that x86_64 doesn't have is
that the per process address space is limited to 3GiB on GNU/Linux with
an i686 kernel (even with pae and 8GiB of RAM). And it's limited to
4GiB with an x86_64 kenrel and a 32bit userspace.

The issue I had with that is that rust doesn't compile yet under 3GiB
of RAM (but I managed at some point to make it compile under 4GiB with
some help of the people working on mrustc) though. So it might be
possible (with some work) to fix that to get substitute as the
substitute servers have 64bit kenrels, but yet not being able to
compile them yourself on i686.

Though for now for some applications you can remove the depedency on
rust by using the older librsvg that isn't written in rust, however gdm
won't work without rust, so now I use sddm. And some software isn't
available (like iceweasel), so I use the Parabola chroot for that, but
I mainly use it to read the Guix manual offline, so at some point I
might find another browser that is fast enough to do text search in the
complete manual.

But at the end of the day it's more other limitations that are probably
also present in the x86_64 Guix that are preventing me from using Guix
as my main operating system. 

For instance right now I need to launch seatd manually in a screen
before being able to launch sway through sddm as seatd service support
has not been merged yet.

Once booted and logged and so on I can do almost everything I do in
Parabola (as I also have a Parabola chroot) but I often need extra
steps to do many of these things (like using the chroot, or doing the
network setup by hand, etc).

So my main usage of Guix is usually for other things like unit testing
/ integration testing of a library I work on, working arround software
not working or missing in Parabola i686, etc.

Denis.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      parent reply	other threads:[~2022-04-17 14:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-05 21:43 Guix on 32-bit x86 systems Andy Tai
2022-04-06 20:20 ` raingloom
2022-04-12  0:23   ` raingloom
2022-04-17  1:14 ` Denis 'GNUtoo' Carikli [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220417031440.055ba642@primary_laptop \
    --to=gnutoo@cyberdimension.org \
    --cc=atai@atai.org \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).