Subject: bug#36783: Guix graphical installation failure on all drives with size > 1 TiB

From: Danny Milosavljevic <[email-masked]>
Date: Wed, 24 Jul 2019 14:56:52 +0200

Hi,

using the Guix graphical installation method, one cannot install Guix on a drive
with more than 1 TiB.  (symptom: "null pointer dereference" in mkpart)

The reason is a bug in guile-parted.

An example is to use the "separate /home" option with a 2 TiB disk.

The fix that lets me install is:

(for https://gitlab.com/mothacehe/guile-parted.git master)

diff --git a/parted/unit.scm b/parted/unit.scm
index 6818b7e..68862a8 100644
--- a/parted/unit.scm
+++ b/parted/unit.scm
@@ -147,7 +147,7 @@
                          out-range)))
       (if (return-int->bool result)
           (values (car
-                   (parse-c-struct c-sector (list int)))
+                   (parse-c-struct c-sector (list sector-type)))
                   (pointer->geometry
                    (dereference-pointer out-range)))
           (values #f #f)))))

However, even after that, disk-print, if used, prints nonsensical (negative)
values for "free" (but installation succeeds).

That bug prevents graphical installation on any drive bigger than 1 TiB.
Let's make a bugfix Guix release shortly.