unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#52680: installer error
@ 2021-12-20 13:22 Florian Hoertlehner
  2021-12-27  8:23 ` Mathieu Othacehe
  0 siblings, 1 reply; 6+ messages in thread
From: Florian Hoertlehner @ 2021-12-20 13:22 UTC (permalink / raw)
  To: 52680


[-- Attachment #1.1: Type: text/plain, Size: 293 bytes --]

I did burn a fresh installer qcow2 image and then ran the installer at
digital ocean.
I selected entire disk, and gpt.
The attached error then came up after I did enter all the settings.
Unfortunately I cannot grab the text; the virtual console I am runing it in
does not allow me to do that.

[-- Attachment #1.2: Type: text/html, Size: 465 bytes --]

[-- Attachment #2: installer.png --]
[-- Type: image/png, Size: 160402 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#52680: installer error
  2021-12-20 13:22 bug#52680: installer error Florian Hoertlehner
@ 2021-12-27  8:23 ` Mathieu Othacehe
  2021-12-27 12:45   ` Mathieu Othacehe
  0 siblings, 1 reply; 6+ messages in thread
From: Mathieu Othacehe @ 2021-12-27  8:23 UTC (permalink / raw)
  To: Florian Hoertlehner; +Cc: 52680


Hello Florian,

> I did burn a fresh installer qcow2 image and then ran the installer at digital ocean.

Thanks for the report. You mean that you ran the following command?

--8<---------------cut here---------------start------------->8---
guix system image -t qcow2 gnu/system/install.scm
--8<---------------cut here---------------end--------------->8---

I'll try to reproduce it.

Thanks,

Mathieu




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#52680: installer error
  2021-12-27  8:23 ` Mathieu Othacehe
@ 2021-12-27 12:45   ` Mathieu Othacehe
  2021-12-27 16:25     ` Josselin Poiret via Bug reports for GNU Guix
  0 siblings, 1 reply; 6+ messages in thread
From: Mathieu Othacehe @ 2021-12-27 12:45 UTC (permalink / raw)
  To: Florian Hoertlehner; +Cc: 52680

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


Hey,

> guix system image -t qcow2 gnu/system/install.scm

So, I produced a qcow2 installation image this way, imported it in
DigitalOcean, then created a droplet out of it.

The qcow2 image is resized to the droplet disk image size, 25GiB in my
case, and appears as vda disk. There is also an empty vdb disk. In the
installer partitioning page, vda is hidden as this is the installation
device but vdb appears.

Trying to proceed with vdb fails and leads to the backtrace you sent
us. Two things here:

1. We should hide vdb as it is an empty drive, maybe by requiring a
minimal available space. Josselin, what do you think about it?

2. As the qcow2 installation image is also the main VM drive, it will be
hard to install Guix System this way. You might prefer to generate a
complete disk-image that suit your needs and use it directly on
DigitalOcean, as described here:
https://othacehe.org/hosting-a-blog-using-only-scheme.html.

Thanks,

Mathieu

[-- Attachment #2: Screenshot from 2021-12-27 13-31-53.png --]
[-- Type: image/png, Size: 26778 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#52680: installer error
  2021-12-27 12:45   ` Mathieu Othacehe
@ 2021-12-27 16:25     ` Josselin Poiret via Bug reports for GNU Guix
  2021-12-27 18:18       ` Mathieu Othacehe
  0 siblings, 1 reply; 6+ messages in thread
From: Josselin Poiret via Bug reports for GNU Guix @ 2021-12-27 16:25 UTC (permalink / raw)
  To: Mathieu Othacehe, Florian Hoertlehner; +Cc: 52680

Hello Matthieu and Florian,
Mathieu Othacehe <othacehe@gnu.org> writes:

> 1. We should hide vdb as it is an empty drive, maybe by requiring a
> minimal available space. Josselin, what do you think about it?

Looks good to me.
I think we should also gracefully handle formatting commands (and maybe
others) failures, as mkfs should properly report why it's failing (and
this would have been a great hint here).  I'll try looking into it.

-- 
Josselin Poiret




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#52680: installer error
  2021-12-27 16:25     ` Josselin Poiret via Bug reports for GNU Guix
@ 2021-12-27 18:18       ` Mathieu Othacehe
  2022-02-02 16:37         ` Mathieu Othacehe
  0 siblings, 1 reply; 6+ messages in thread
From: Mathieu Othacehe @ 2021-12-27 18:18 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: Florian Hoertlehner, 52680

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


Hey,

>> 1. We should hide vdb as it is an empty drive, maybe by requiring a
>> minimal available space. Josselin, what do you think about it?
>
> Looks good to me.

Here's an attached patch. It seems to work fine, but I am still running
the system tests.

WDYT?

Thanks,

Mathieu

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-installer-Ignore-small-devices.patch --]
[-- Type: text/x-patch, Size: 5066 bytes --]

From d7cc04a71b477d8527b901a66704b28b4e618e04 Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe <othacehe@gnu.org>
Date: Mon, 27 Dec 2021 19:12:54 +0100
Subject: [PATCH 1/1] installer: Ignore small devices.

Filter the devices that are smaller than 10GiB in the device selection list.

* gnu/installer/parted.scm (%min-device-size): New variable.
(non-install-devices): Rename it ...
(eligible-devices): ... this way. Filter the install device as well as the
small devices.
* gnu/installer/newt/partition.scm (run-partitioning-page): Adapt it.
---
 gnu/installer/newt/partition.scm |  9 +++---
 gnu/installer/parted.scm         | 47 +++++++++++++++++++++++---------
 2 files changed, 39 insertions(+), 17 deletions(-)

diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 70c11ed8ad..ccc7686906 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -83,7 +83,8 @@ (define (device-items)
          devices))
 
   (let* ((result (run-listbox-selection-page
-                  #:info-text (G_ "Please select a disk.")
+                  #:info-text (G_ "Please select a \
+disk.  The installation device as well as the small devices are filtered.")
                   #:title (G_ "Disk")
                   #:listbox-items (device-items)
                   #:listbox-item->text cdr
@@ -792,13 +793,13 @@ (define (run-page devices)
            result-user-partitions)))))
 
   (init-parted)
-  (let* ((non-install-devices (non-install-devices))
-         (user-partitions (run-page non-install-devices))
+  (let* ((eligible-devices (eligible-devices))
+         (user-partitions (run-page eligible-devices))
          (user-partitions-with-pass (prompt-luks-passwords
                                      user-partitions))
          (form (draw-formatting-page user-partitions)))
     ;; Make sure the disks are not in use before proceeding to formatting.
-    (free-parted non-install-devices)
+    (free-parted eligible-devices)
     (format-user-partitions user-partitions-with-pass)
     (syslog "formatted ~a user partitions~%"
             (length user-partitions-with-pass))
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 289cd660fd..77902599d6 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -81,7 +81,7 @@ (define-module (gnu installer parted)
 
             with-delay-device-in-use?
             force-device-sync
-            non-install-devices
+            eligible-devices
             partition-user-type
             user-fs-type-name
             partition-filesystem-user-type
@@ -356,28 +356,49 @@ (define (installer-root-partition-path)
              (and=> (uuid root)
                     find-partition-by-uuid)))))
 
-(define (non-install-devices)
-  "Return all the available devices, except the install device."
+;; Minimal installation device size.
+(define %min-device-size
+  (* 10 GIBIBYTE-SIZE)) ;10GiB
+
+(define (eligible-devices)
+  "Return all the available device except the install device and the devices
+with are smaller than %MIN-DEVICE-SIZE."
 
   (define the-installer-root-partition-path
     (installer-root-partition-path))
 
+  (define (small-device? device)
+    (let ((length (device-length device))
+          (sector-size (device-sector-size device)))
+      (and (< (* length sector-size) %min-device-size)
+           (syslog "~a is not eligible because it is smaller than ~a.~%"
+                   (device-path device)
+                   (unit-format-custom-byte device
+                                            %min-device-size
+                                            UNIT-GIGABYTE)))))
+
   ;; Read partition table of device and compare each path to the one
   ;; we're booting from to determine if it is the installation
   ;; device.
   (define (installation-device? device)
     ;; When using CDROM based installation, the root partition path may be the
     ;; device path.
-    (or (string=? the-installer-root-partition-path
-                  (device-path device))
-        (let ((disk (disk-new device)))
-          (and disk
-               (any (lambda (partition)
-                      (string=? the-installer-root-partition-path
-                                (partition-get-path partition)))
-                    (disk-partitions disk))))))
-
-  (remove installation-device? (devices)))
+    (and (or (string=? the-installer-root-partition-path
+                       (device-path device))
+             (let ((disk (disk-new device)))
+               (and disk
+                    (any (lambda (partition)
+                           (string=? the-installer-root-partition-path
+                                     (partition-get-path partition)))
+                         (disk-partitions disk)))))
+         (syslog "~a is not eligible because it is the installation device.~%"
+                 (device-path device))))
+
+  (remove
+   (lambda (device)
+     (or (installation-device? device)
+         (small-device? device)))
+   (devices)))
 
 \f
 ;;
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#52680: installer error
  2021-12-27 18:18       ` Mathieu Othacehe
@ 2022-02-02 16:37         ` Mathieu Othacehe
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Othacehe @ 2022-02-02 16:37 UTC (permalink / raw)
  To: Josselin Poiret; +Cc: 52680-done, Florian Hoertlehner


Pushed, thanks.

Mathieu




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-02-02 17:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-20 13:22 bug#52680: installer error Florian Hoertlehner
2021-12-27  8:23 ` Mathieu Othacehe
2021-12-27 12:45   ` Mathieu Othacehe
2021-12-27 16:25     ` Josselin Poiret via Bug reports for GNU Guix
2021-12-27 18:18       ` Mathieu Othacehe
2022-02-02 16:37         ` Mathieu Othacehe

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).