Strange booting/reproducibility issue

  • Open
  • quality assurance status badge
Details
2 participants
  • Denis 'GNUtoo' Carikli
  • Julien Lepiller
Owner
unassigned
Submitted by
Denis 'GNUtoo' Carikli
Severity
normal
D
D
Denis 'GNUtoo' Carikli wrote on 26 Oct 2022 00:43
(address . bug-guix@gnu.org)
20221026004303.3a0e4815@primary_laptop
Hi,

On an i686 computer[1], I've a Guix installation on an HDD, and if I do
Toggle quote (1 lines)
> guix pull -M 1 -c 1
and that I then do
Toggle quote (2 lines)
> sudo -E guix system reconfigure -M 1 -c 1 system.scm

I get the following boot failure[2]:
Toggle quote (23 lines)
> GC Warning: pthread_getattr_np or pthread_attr_getstack failed for
> main thread GC Warning: Couldn't read /proc/stat
> Welcome, this is GNU's early boot Guile.
> Use 'gnu.repl' for an initrd REPL.
>
> loading kernel modules...
> Enter passphrase for /dev/sda2:
> /dev/mapper/cryptroot: recovering journal
> /dev/mapper/cryptroot: clean, 702176/9773056 files, 8418369/39071232
> blocks ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> In procedure mkdir: File exists
>
> Entering a new prompt. Type `,bt' for a backtrace or `,q' to
> continue. GNU Guile 3.0.7
> Copyright (C) 1995-2021 Free Software Foundation, Inc.
>
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
>
> Enter `,help' for help.
> scheme@(guile-user)>

If I use the same system.scm (attached) and that I produce an image
with the build_init.sh script (attached) which setups an encrypted
partition and uses guix system init, and that I then copy the resulting
image to an USB drive with ddrescue, It then boots fine.

Since the system ends up not booting anymore when I try to guix pull
and guix system reconfigure the system on the HDD, to boot I simply
select a known booting old revision in the grub menu, so I can easily
test things.

Though I'm not sure where to look. Is there anything I can do to get
more contexts or logs? Should I try loglevel=8 ?

References:
-----------
[1] The computer is a Thinkpad X60 with only an external display running
Coreboot with SeaBIOS.
[2] The boot log was captured by adding console=ttyS0,115200 to the
command line arguments in grub and by capturing the messages
through a serial port.

Denis.
Attachment: build_init.sh
;; Copyright (C) 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;; ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see <https://www.gnu.org/licenses/>. (use-modules (gnu) (gnu packages admin) (gnu packages emacs) (gnu packages gnome) (gnu packages ntp) (gnu packages screen) (gnu packages vim)) (use-package-modules version-control xdisorg) (use-service-modules desktop networking sddm ssh xorg) (operating-system (locale "en_US.utf8") (timezone "Europe/Paris") (keyboard-layout (keyboard-layout "us" "altgr-intl")) (host-name "x60-base") (users (cons* (user-account (name "gnutoo") (comment "GNUtoo") (group "users") (home-directory "/home/gnutoo") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) (packages (append (list (specification->package "nss-certs") emacs git gvfs htop ntp redshift-wayland screen vim) %base-packages)) (services (append (list (elogind-service) (service openssh-service-type (openssh-configuration (permit-root-login #t) (password-authentication? #f) (challenge-response-authentication? #f) (use-pam? #f) ;; (authorized-keys ;; `(("root", (local-file "gnutoo.pub")))))) )) (service tor-service-type) ;; (service dhcp-client-service-type) (service xfce-desktop-service-type) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)) sddm-service-type)) %base-services)) (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets '("/dev/sda")) (terminal-outputs '(console)) (keyboard-layout keyboard-layout))) (mapped-devices (list (mapped-device (source (uuid "12345678-abcd-1234-1234-1234567899ab")) (target "cryptroot") (type luks-device-mapping)))) (file-systems (cons* (file-system (mount-point "/") (device "/dev/mapper/cryptroot") (type "ext4") (dependencies mapped-devices)) %base-file-systems)))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmNYZncACgkQX138wUF3
4mPJ4w//Yd/XfqJe6/QxdFrAF6Y7gazuWP5Ph+9zlwOvl4RQeqChCQSa3kLYabXh
SvrACdQ1dJ062kH8vGY2K6U5GyzcSKIxrqID0e5YdoF8YVNskcuwMOa7EViaeyjB
tG4x0Qrnc59EsJBtcAiRZf3u9dq/S+Uo1bTPWMli5ThwxN5dgzwDRNcCh5UK14/0
52xiDpWYQ+lB9+goqhMHNgEVGaWeWKogc9ChsQ9vtBGUhhBhP7iV5MYIC2K+g9Ck
5p74QM3IJJjq7UmFZc2gdRvdYHR/Yxx4C6zvT7QdB80Xwx+bjNsPOCH9msxloj+I
5R+opCK/Lzp3WMtJN33JtweDiqKx4vrli6lmZrcXxBCuqqptUs0GMKOPTdW/+mSI
3LwFSZtVrESFKefkDMzzjR3x7tDLBtjM/hnkYYjI8F5/sv0YQ+VOzoj5q3C6CKdM
L32cW7/T+A+duYmFaXf2appNzns+4CDchDe77PaR4L9embYKEgm8hyIKRppishcC
qP42OlB88hm3Fh0BtX/MtcLBz8rJwMCL7FMGnltUwFBu+x3qbsKZlL/MpOqvX7mI
noKC6cW0IDrIhohcbYG7b8wSyqs7XI2Oe0QY1vZWRxhx/TEF9Njs5g4EVq+tAD+u
tc28HAmnOcnoSKarNPIqb6Q0bF2xvFAWz2PBiCvIGrznJkM98UE=
=6y+m
-----END PGP SIGNATURE-----


J
J
Julien Lepiller wrote on 26 Oct 2022 07:17
B22DF867-912E-461D-BF90-B3B343B96665@lepiller.eu
continue. GNU Guile 3.0.7
Copyright (C) 1995-2021 Free Software Foundation, Inc.

That sounds weird, I would expect our guile to be more recent than that. The manual suggests using "sudo guix system" instead of "sudo -E guix system", maybe that's the issue?

Le 26 octobre 2022 00:43:03 GMT+02:00, Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> a écrit :
Toggle quote (53 lines)
>Hi,
>
>On an i686 computer[1], I've a Guix installation on an HDD, and if I do
>> guix pull -M 1 -c 1
>and that I then do
>> sudo -E guix system reconfigure -M 1 -c 1 system.scm
>
>I get the following boot failure[2]:
>> GC Warning: pthread_getattr_np or pthread_attr_getstack failed for
>> main thread GC Warning: Couldn't read /proc/stat
>> Welcome, this is GNU's early boot Guile.
>> Use 'gnu.repl' for an initrd REPL.
>>
>> loading kernel modules...
>> Enter passphrase for /dev/sda2:
>> /dev/mapper/cryptroot: recovering journal
>> /dev/mapper/cryptroot: clean, 702176/9773056 files, 8418369/39071232
>> blocks ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> In procedure mkdir: File exists
>>
>> Entering a new prompt. Type `,bt' for a backtrace or `,q' to
>> continue. GNU Guile 3.0.7
>> Copyright (C) 1995-2021 Free Software Foundation, Inc.
>>
>> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
>> This program is free software, and you are welcome to redistribute it
>> under certain conditions; type `,show c' for details.
>>
>> Enter `,help' for help.
>> scheme@(guile-user)>
>
>If I use the same system.scm (attached) and that I produce an image
>with the build_init.sh script (attached) which setups an encrypted
>partition and uses guix system init, and that I then copy the resulting
>image to an USB drive with ddrescue, It then boots fine.
>
>Since the system ends up not booting anymore when I try to guix pull
>and guix system reconfigure the system on the HDD, to boot I simply
>select a known booting old revision in the grub menu, so I can easily
>test things.
>
>Though I'm not sure where to look. Is there anything I can do to get
>more contexts or logs? Should I try loglevel=8 ?
>
>References:
>-----------
>[1] The computer is a Thinkpad X60 with only an external display running
> Coreboot with SeaBIOS.
>[2] The boot log was captured by adding console=ttyS0,115200 to the
> command line arguments in grub and by capturing the messages
> through a serial port.
>
>Denis.
Attachment: file
?