GNU bug report logs -
#57983
Error installing on a Framework Laptop
Previous Next
To reply to this bug, email your comments to 57983 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Wed, 21 Sep 2022 16:47:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Dan Finlay" <dan <at> danfinlay.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Wed, 21 Sep 2022 16:47:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi, I had a problem installing guix on a Framework laptop.
The dump was uploaded as installer-dump-11a1087c.
Are you able to help me?
- Dan
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 06:51:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 57983 <at> debbugs.gnu.org (full text, mbox):
Hello Dan,
Thanks a lot for the bug report.
> The dump was uploaded as installer-dump-11a1087c.
As you are the first one reporting an installer bug using the new dump
mechanism, a small precision:
the dump can be downloaded this way:
--8<---------------cut here---------------start------------->8---
mathieu <at> meije ~$ wget -qO- dump.guix.gnu.org/download/installer-dump-11a1087c | tar xvz
dump.2022-09-21.05.57.10/syslog
dump.2022-09-21.05.57.10/installer-result
dump.2022-09-21.05.57.10/installer-backtrace
dump.2022-09-21.05.57.10/dmesg
--8<---------------cut here---------------end--------------->8---
It looks like the issue is:
--8<---------------cut here---------------start------------->8---
Sep 21 05:45:33 localhost installer[548]: substitute: ^Msubstitute: ^[[Kupdating substitutes from 'https://ci.guix.gnu.org'... 0.0%Backtrace:
Sep 21 05:45:33 localhost installer[548]: substitute: 14 (primitive-load "/gnu/store/hsvz87ld2q231g3pqg62a0bwr4j…")
Sep 21 05:45:33 localhost installer[548]: substitute: In guix/ui.scm:
Sep 21 05:45:33 localhost installer[548]: substitute: 2263:7 13 (run-guix . _)
Sep 21 05:45:33 localhost installer[548]: substitute: 2226:10 12 (run-guix-command _ . _)
Sep 21 05:45:33 localhost installer[548]: substitute: In ice-9/boot-9.scm:
Sep 21 05:45:33 localhost installer[548]: substitute: 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
Sep 21 05:45:33 localhost installer[548]: substitute: 1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
Sep 21 05:45:33 localhost installer[548]: substitute: In guix/scripts/substitute.scm:
Sep 21 05:45:33 localhost installer[548]: substitute: 763:18 9 (_)
Sep 21 05:45:33 localhost installer[548]: substitute: 348:26 8 (process-query #<output: file 4> _ #:cache-urls _ #:acl _)
Sep 21 05:45:33 localhost installer[548]: substitute: In guix/substitutes.scm:
Sep 21 05:45:33 localhost installer[548]: substitute: 365:27 7 (lookup-narinfos/diverse _ _ #<procedure 7f4686537580 …> …)
Sep 21 05:45:33 localhost installer[548]: substitute: 322:31 6 (lookup-narinfos "https://ci.guix.gnu.org" _ # _ # _)
Sep 21 05:45:33 localhost installer[548]: substitute: 245:26 5 (fetch-narinfos _ _ #:open-connection _ # _)
Sep 21 05:45:33 localhost installer[548]: substitute: In ice-9/boot-9.scm:
Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 4 (raise-exception _ #:continuable? _)
Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 3 (raise-exception _ #:continuable? _)
Sep 21 05:45:33 localhost installer[548]: substitute: 1780:13 2 (_ #<&compound-exception components: (#<&error> #<&orig…>)
Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 1 (raise-exception _ #:continuable? _)
Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 0 (raise-exception _ #:continuable? _)
Sep 21 05:45:33 localhost installer[548]: substitute:
Sep 21 05:45:33 localhost installer[548]: substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Sep 21 05:45:33 localhost installer[548]: substitute: In procedure write_wait_fd: unimplemented
Sep 21 05:45:33 localhost installer[548]: guix system: error: `/gnu/store/hsvz87ld2q231g3pqg62a0bwr4jq5rb6-guix-command substitute' died unexpectedly
Sep 21 05:45:33 localhost installer[548]: command ("guix" "system" "init" "--fallback" "/mnt/etc/config.scm" "/mnt") exited with value 1
--8<---------------cut here---------------end--------------->8---
This is an unfixed bug reported here: https://issues.guix.gnu.org/56005
Then the final phase is retried and fails this way:
--8<---------------cut here---------------start------------->8---
Sep 21 05:57:10 localhost vmunix: [ 1295.546730] /dev/mapper/cryptroot: Can't open blockdev
Sep 21 05:57:10 localhost installer[426]: mounting "/dev/mapper/cryptroot" on "/mnt/"
Sep 21 05:57:10 localhost installer[426]: crashing due to uncaught exception: system-error ("mount" "mount ~S on ~S: ~A" ("/dev/mapper/cryptroot" "/mnt/" "No such file or directory") (2))
--8<---------------cut here---------------end--------------->8---
The first issue is most likely transient and you might have better luck
just by retrying. In the meantime I'll try to understand why the final
phase retry fails.
Thanks,
Mathieu
Severity set to 'important' from 'normal'
Request was from
Mathieu Othacehe <mathieu <at> meije.mail-host-address-is-not-set>
to
control <at> debbugs.gnu.org
.
(Thu, 22 Sep 2022 07:20:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 13:14:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 57983 <at> debbugs.gnu.org (full text, mbox):
* gnu/installer/user.scm (<secret>, secret?, make-secret, secret-content): Move
to utils.scm.
* gnu/installer/utils.scm (<secret>, secret?, make-secret, secret-content):
Moved from user.scm.
* gnu/installer/newt/partition.scm (prompt-luks-passwords): Make password a
<secret>.
* gnu/installer/parted.scm (luks-format-and-open): Unwrap secret.
---
gnu/installer/newt/partition.scm | 2 +-
gnu/installer/parted.scm | 4 ++--
gnu/installer/user.scm | 18 ++----------------
gnu/installer/utils.scm | 19 ++++++++++++++++++-
4 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index e7a97810ac..eda34e0461 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -188,7 +188,7 @@ (define (prompt-luks-passwords user-partitions)
(if (string=? password confirmation)
(user-partition
(inherit user-part)
- (crypt-password password))
+ (crypt-password (make-secret password)))
(begin
(run-error-page
(G_ "Password mismatch, please try again.")
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 84fdbe24fb..51ba2bebd6 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -148,7 +148,7 @@ (define-record-type* <user-partition>
(default #f))
(crypt-label user-partition-crypt-label
(default #f))
- (crypt-password user-partition-crypt-password
+ (crypt-password user-partition-crypt-password ; <secret>
(default #f))
(fs-type user-partition-fs-type
(default 'ext4))
@@ -1183,7 +1183,7 @@ (define (luks-format-and-open user-partition)
"Format and open the encrypted partition pointed by USER-PARTITION."
(let* ((file-name (user-partition-file-name user-partition))
(label (user-partition-crypt-label user-partition))
- (password (user-partition-crypt-password user-partition)))
+ (password (secret-content (user-partition-crypt-password user-partition))))
(call-with-luks-key-file
password
(lambda (key-file)
diff --git a/gnu/installer/user.scm b/gnu/installer/user.scm
index 224040530c..2866e4520f 100644
--- a/gnu/installer/user.scm
+++ b/gnu/installer/user.scm
@@ -17,17 +17,13 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu installer user)
+ #:use-module (gnu installer utils)
#:use-module (guix records)
#:use-module (guix read-print)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu)
- #:export (<secret>
- secret?
- make-secret
- secret-content
-
- <user>
+ #:export (<user>
user
make-user
user-name
@@ -38,16 +34,6 @@ (define-module (gnu installer user)
users->configuration))
-(define-record-type <secret>
- (make-secret content)
- secret?
- (content secret-content))
-
-(set-record-type-printer!
- <secret>
- (lambda (secret port)
- (format port "<secret>")))
-
(define-record-type* <user>
user make-user
user?
diff --git a/gnu/installer/utils.scm b/gnu/installer/utils.scm
index fb62fb8896..5fd2e2d425 100644
--- a/gnu/installer/utils.scm
+++ b/gnu/installer/utils.scm
@@ -23,6 +23,8 @@ (define-module (gnu installer utils)
#:use-module (guix build utils)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-9)
+ #:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
@@ -33,7 +35,12 @@ (define-module (gnu installer utils)
#:use-module (ice-9 regex)
#:use-module (ice-9 format)
#:use-module (ice-9 textual-ports)
- #:export (read-lines
+ #:export (<secret>
+ secret?
+ make-secret
+ secret-content
+
+ read-lines
read-all
nearest-exact-integer
read-percentage
@@ -58,6 +65,16 @@ (define-module (gnu installer utils)
with-silent-shepherd))
+(define-record-type <secret>
+ (make-secret content)
+ secret?
+ (content secret-content))
+
+(set-record-type-printer!
+ <secret>
+ (lambda (secret port)
+ (format port "<secret>")))
+
(define* (read-lines #:optional (port (current-input-port)))
"Read lines from PORT and return them as a list."
(let loop ((line (read-line port))
--
2.37.2
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 13:14:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 57983 <at> debbugs.gnu.org (full text, mbox):
* gnu/installer/newt/partition.scm (run-partitioning-page): Do it.
---
gnu/installer/newt/partition.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index eda34e0461..2adb4922b4 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -795,13 +795,13 @@ (define (run-page devices)
(user-partitions (run-page eligible-devices))
(user-partitions-with-pass (prompt-luks-passwords
user-partitions))
- (form (draw-formatting-page user-partitions)))
+ (form (draw-formatting-page user-partitions-with-pass)))
;; Make sure the disks are not in use before proceeding to formatting.
(free-parted eligible-devices)
(format-user-partitions user-partitions-with-pass)
(installer-log-line "formatted ~a user partitions"
(length user-partitions-with-pass))
- (installer-log-line "user-partitions: ~a" user-partitions)
+ (installer-log-line "user-partitions: ~a" user-partitions-with-pass)
(destroy-form-and-pop form)
- user-partitions))
+ user-partitions-with-pass))
--
2.37.2
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 13:14:03 GMT)
Full text and
rfc822 format available.
Message #19 received at 57983 <at> debbugs.gnu.org (full text, mbox):
* gnu/installer/parted.scm (luks-ensure-open): New procedure.
(unmount-user-partitions): Ensure luks devices are open.
---
gnu/installer/parted.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 51ba2bebd6..fcc936a391 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -1194,6 +1194,20 @@ (define (luks-format-and-open user-partition)
((run-command-in-installer) "cryptsetup" "open" "--type" "luks"
"--key-file" key-file file-name label)))))
+(define (luks-ensure-open user-partition)
+ "Ensure partition pointed by USER-PARTITION is opened."
+ (unless (file-exists? (user-partition-upper-file-name user-partition))
+ (let* ((file-name (user-partition-file-name user-partition))
+ (label (user-partition-crypt-label user-partition))
+ (password (secret-content (user-partition-crypt-password user-partition))))
+ (call-with-luks-key-file
+ password
+ (lambda (key-file)
+ (installer-log-line "opening LUKS entry ~s at ~s"
+ label file-name)
+ ((run-command-in-installer) "cryptsetup" "open" "--type" "luks"
+ "--key-file" key-file file-name label))))))
+
(define (luks-close user-partition)
"Close the encrypted partition pointed by USER-PARTITION."
(let ((label (user-partition-crypt-label user-partition)))
@@ -1278,6 +1292,8 @@ (define (mount-user-partitions user-partitions)
(user-fs-type->mount-type fs-type))
(file-name
(user-partition-upper-file-name user-partition)))
+ (when crypt-label
+ (luks-ensure-open user-partition))
(mkdir-p target)
(installer-log-line "mounting ~s on ~s" file-name target)
(mount file-name target mount-type)))
--
2.37.2
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 13:14:03 GMT)
Full text and
rfc822 format available.
Message #22 received at 57983 <at> debbugs.gnu.org (full text, mbox):
* gnu/installer/newt/services.scm (run-console-services-cbt-page): Do it.
---
gnu/installer/newt/services.scm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm
index 9951ad2212..b22024602c 100644
--- a/gnu/installer/newt/services.scm
+++ b/gnu/installer/newt/services.scm
@@ -99,10 +99,8 @@ (define (run-console-services-cbt-page)
#:item->text (compose G_ system-service-name)
#:checkbox-tree-height 5
#:exit-button-callback-procedure
- (lambda ()
- (raise
- (condition
- (&installer-step-abort)))))))
+ (lambda _
+ (abort-to-prompt 'installer-step 'abort)))))
(define (run-network-management-page)
"Run a page to select among several network management methods."
--
2.37.2
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 13:14:03 GMT)
Full text and
rfc822 format available.
Message #25 received at 57983 <at> debbugs.gnu.org (full text, mbox):
Hi both of you,
Here is a fix for the second issue, as well as a little bonus commit for a
mistake that made it past my refactoring.
Best,
Josselin Poiret (4):
installer: Move <secret> to utils and use it for crypt passwords.
installer: Return partitions with crypt password as step result.
installer: Ensure luks devices are open when mounting partitions.
installer: Exit console-services page with abort-to-prompt.
gnu/installer/newt/partition.scm | 8 ++++----
gnu/installer/newt/services.scm | 6 ++----
gnu/installer/parted.scm | 20 ++++++++++++++++++--
gnu/installer/user.scm | 18 ++----------------
gnu/installer/utils.scm | 19 ++++++++++++++++++-
5 files changed, 44 insertions(+), 27 deletions(-)
base-commit: 344405475aebd6bcad60f29fc4ac0b7122a78fd0
--
2.37.2
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 14:36:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 57983 <at> debbugs.gnu.org (full text, mbox):
Hey,
> Here is a fix for the second issue, as well as a little bonus commit for a
> mistake that made it past my refactoring.
That's awesome. I tested by running an install with "automatic encrypted
partitioning" then killing the "guix init" process. The installer is
able to resume the final step without any issue.
I added a "Partially-Fixes" tag as this patchset fixes one of the two
issues Dan reported, and pushed. This issue is now blocked by
https://issues.guix.gnu.org/56005 resolution.
Thanks,
Mathieu
Added blocking bug(s) 56005 and 2
Request was from
Mathieu Othacehe <mathieu <at> meije.mail-host-address-is-not-set>
to
control <at> debbugs.gnu.org
.
(Thu, 22 Sep 2022 14:37:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#57983
; Package
guix
.
(Thu, 22 Sep 2022 17:59:02 GMT)
Full text and
rfc822 format available.
Message #33 received at 57983 <at> debbugs.gnu.org (full text, mbox):
Cool, I'll retry for now!
- Dan
On Wed, Sep 21, 2022, at 11:50 PM, Mathieu Othacehe wrote:
> Hello Dan,
>
> Thanks a lot for the bug report.
>
>> The dump was uploaded as installer-dump-11a1087c.
>
> As you are the first one reporting an installer bug using the new dump
> mechanism, a small precision:
>
> the dump can be downloaded this way:
>
> --8<---------------cut here---------------start------------->8---
> mathieu <at> meije ~$ wget -qO-
> dump.guix.gnu.org/download/installer-dump-11a1087c | tar xvz
> dump.2022-09-21.05.57.10/syslog
> dump.2022-09-21.05.57.10/installer-result
> dump.2022-09-21.05.57.10/installer-backtrace
> dump.2022-09-21.05.57.10/dmesg
> --8<---------------cut here---------------end--------------->8---
>
> It looks like the issue is:
>
> --8<---------------cut here---------------start------------->8---
> Sep 21 05:45:33 localhost installer[548]: substitute: ^Msubstitute:
> ^[[Kupdating substitutes from 'https://ci.guix.gnu.org'...
> 0.0%Backtrace:
> Sep 21 05:45:33 localhost installer[548]: substitute: 14
> (primitive-load "/gnu/store/hsvz87ld2q231g3pqg62a0bwr4j…")
> Sep 21 05:45:33 localhost installer[548]: substitute: In guix/ui.scm:
> Sep 21 05:45:33 localhost installer[548]: substitute: 2263:7 13
> (run-guix . _)
> Sep 21 05:45:33 localhost installer[548]: substitute: 2226:10 12
> (run-guix-command _ . _)
> Sep 21 05:45:33 localhost installer[548]: substitute: In
> ice-9/boot-9.scm:
> Sep 21 05:45:33 localhost installer[548]: substitute: 1752:10 11
> (with-exception-handler _ _ #:unwind? _ # _)
> Sep 21 05:45:33 localhost installer[548]: substitute: 1752:10 10
> (with-exception-handler _ _ #:unwind? _ # _)
> Sep 21 05:45:33 localhost installer[548]: substitute: In
> guix/scripts/substitute.scm:
> Sep 21 05:45:33 localhost installer[548]: substitute: 763:18 9 (_)
> Sep 21 05:45:33 localhost installer[548]: substitute: 348:26 8
> (process-query #<output: file 4> _ #:cache-urls _ #:acl _)
> Sep 21 05:45:33 localhost installer[548]: substitute: In
> guix/substitutes.scm:
> Sep 21 05:45:33 localhost installer[548]: substitute: 365:27 7
> (lookup-narinfos/diverse _ _ #<procedure 7f4686537580 …> …)
> Sep 21 05:45:33 localhost installer[548]: substitute: 322:31 6
> (lookup-narinfos "https://ci.guix.gnu.org" _ # _ # _)
> Sep 21 05:45:33 localhost installer[548]: substitute: 245:26 5
> (fetch-narinfos _ _ #:open-connection _ # _)
> Sep 21 05:45:33 localhost installer[548]: substitute: In
> ice-9/boot-9.scm:
> Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 4
> (raise-exception _ #:continuable? _)
> Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 3
> (raise-exception _ #:continuable? _)
> Sep 21 05:45:33 localhost installer[548]: substitute: 1780:13 2 (_
> #<&compound-exception components: (#<&error> #<&orig…>)
> Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 1
> (raise-exception _ #:continuable? _)
> Sep 21 05:45:33 localhost installer[548]: substitute: 1685:16 0
> (raise-exception _ #:continuable? _)
> Sep 21 05:45:33 localhost installer[548]: substitute:
> Sep 21 05:45:33 localhost installer[548]: substitute:
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> Sep 21 05:45:33 localhost installer[548]: substitute: In procedure
> write_wait_fd: unimplemented
> Sep 21 05:45:33 localhost installer[548]: guix system: error:
> `/gnu/store/hsvz87ld2q231g3pqg62a0bwr4jq5rb6-guix-command substitute'
> died unexpectedly
> Sep 21 05:45:33 localhost installer[548]: command ("guix" "system"
> "init" "--fallback" "/mnt/etc/config.scm" "/mnt") exited with value 1
> --8<---------------cut here---------------end--------------->8---
>
> This is an unfixed bug reported here: https://issues.guix.gnu.org/56005
>
> Then the final phase is retried and fails this way:
>
> --8<---------------cut here---------------start------------->8---
> Sep 21 05:57:10 localhost vmunix: [ 1295.546730] /dev/mapper/cryptroot:
> Can't open blockdev
> Sep 21 05:57:10 localhost installer[426]: mounting
> "/dev/mapper/cryptroot" on "/mnt/"
> Sep 21 05:57:10 localhost installer[426]: crashing due to uncaught
> exception: system-error ("mount" "mount ~S on ~S: ~A"
> ("/dev/mapper/cryptroot" "/mnt/" "No such file or directory") (2))
> --8<---------------cut here---------------end--------------->8---
>
> The first issue is most likely transient and you might have better luck
> just by retrying. In the meantime I'll try to understand why the final
> phase retry fails.
>
> Thanks,
>
> Mathieu
This bug report was last modified 2 years and 271 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.