[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using 'guix system disk-image' on a non-GuixSD OS
From: |
Gábor Boskovits |
Subject: |
Re: Using 'guix system disk-image' on a non-GuixSD OS |
Date: |
Thu, 25 Oct 2018 17:26:11 +0200 |
Edouard KLEIN <address@hidden> ezt írta (időpont: 2018. okt.
25., Cs, 17:17):
>
> Hi Gábor,
>
> Indeed, the command now finishes without errors. I slightly changed the
> config.scm in the meantime. For reference here is the one where it worked. I
> see no changes that could have had an impact but don't trust me on this.
>
> Thanks for the help,
>
You are welcome!
Happy hacking!
> Edouard.
>
>
>
> ------config.scm
>
> ;; This is an operating system configuration template
> ;; for a "bare bones" setup, with no X11 display server.
>
> (use-modules (gnu))
> (use-service-modules networking ssh)
> (use-package-modules screen ssh)
>
> (operating-system
> (host-name "GuixSD_Base")
> (timezone "UTC")
> (locale "en_US.utf8")
>
> ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
> ;; target hard disk, and "my-root" is the label of the target
> ;; root file system.
> (bootloader (bootloader-configuration
> (bootloader grub-bootloader)
> (target "/dev/sda")))
> (file-systems (cons (file-system
> (device (file-system-label "my-root"))
> (mount-point "/")
> (type "ext4"))
> %base-file-systems))
>
> ;; This is where user accounts are specified. The "root"
> ;; account is implicit, and is initially created with the
> ;; empty password.
> (users (cons (user-account
> (name "edouard")
> (comment "boudoir")
> (group "users")
>
> ;; Adding the account to the "wheel" group
> ;; makes it a sudoer. Adding it to "audio"
> ;; and "video" allows the user to play sound
> ;; and access the webcam.
> (supplementary-groups '("wheel"
> "audio" "video"))
> (home-directory "/home/edouard"))
> %base-user-accounts))
>
> ;; Globally-installed packages.
> (packages (append (map specification->package
> '("tmux" "openssh"))
> %base-packages))
>
> ;; Add services to the baseline: a DHCP client and
> ;; an SSH server.
> (services (cons*
> ;; (dhcp-client-service)
> (static-networking-service
> "ens3"
> "192.168.50.58"
> #:netmask "255.255.0.0"
> #:gateway "192.168.50.1"
> #:name-servers '("8.8.8.8" "8.8.4.4"))
> (service openssh-service-type
> (openssh-configuration
> (authorized-keys
> `(("edouard" ,(local-file "edouard.pub"))
> ("root" ,(local-file "edouard.pub"))))
> (permit-root-login 'without-password)
> (port-number 22)))
> %base-services)))
>
>
> On Thu, 25 Oct 2018 at 16:13 Gábor Boskovits <address@hidden> wrote:
>>
>> Hello Edouard,
>>
>> Edouard KLEIN <address@hidden> ezt írta (időpont: 2018. okt.
>> 25., Cs, 15:34):
>> >
>> > Hi all,
>> >
>> > I do not know whether the "guix system disk-image" command is supposed to
>> > work on a non GuixSD system.
>> >
>> > If it is, then I'm running into an error while trying to create a disk
>> > from a system declaration on my Arch Linux OS.
>> >
>> > I run:
>> > $ guix system disk-image --fallback config.scm
>> >
>> > with config.scm copied at the end of this email.
>> >
>> > I get the error message at the end of this emai.
>> >
>> > I do not really know where to start looking. It appears that the error is
>> > in the qemu package, which is necessary for grub. I tried removing the
>> > bootloader part of the system declaration, as I can boot from the ext4
>> > partition directly, but it seems necessary to have one such part in the OS
>> > declaration.
>> >
>> > Any help would be appreciated. In the meantime I'm running the command in
>> > a GuixSD VM, but it's taking forever and it's way more cumbersome than
>> > being able to run it on any system.
>> >
>> > Thanks in advance,
>> >
>> > Edouard.
>> >
>> >
>> >
>> > ---------------config.scm
>> >
>> > ;; This is an operating system configuration template
>> > ;; for a "bare bones" setup, with no X11 display server.
>> >
>> > (use-modules (gnu))
>> > (use-service-modules networking ssh)
>> > (use-package-modules screen ssh)
>> >
>> > (operating-system
>> > (host-name "GuixSD_Base")
>> > (timezone "UTC")
>> > (locale "en_US.utf8")
>> >
>> > ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
>> > ;; target hard disk, and "my-root" is the label of the target
>> > ;; root file system.
>> > (bootloader (bootloader-configuration
>> > (bootloader grub-bootloader)
>> > (target "/dev/sda")))
>> > (file-systems (cons (file-system
>> > (device (file-system-label "my-root"))
>> > (mount-point "/")
>> > (type "ext4"))
>> > %base-file-systems))
>> >
>> > ;; This is where user accounts are specified. The "root"
>> > ;; account is implicit, and is initially created with the
>> > ;; empty password.
>> > (users (cons (user-account
>> > (name "edouard")
>> > (comment "boudoir")
>> > (group "users")
>> >
>> > ;; Adding the account to the "wheel" group
>> > ;; makes it a sudoer. Adding it to "audio"
>> > ;; and "video" allows the user to play sound
>> > ;; and access the webcam.
>> > (supplementary-groups '("wheel"
>> > "audio" "video"))
>> > (home-directory "/home/edouard"))
>> > %base-user-accounts))
>> >
>> > ;; Globally-installed packages.
>> > (packages (append (map specification->package
>> > '("tmux" "openssh"))
>> > %base-packages))
>> >
>> > ;; Add services to the baseline: a DHCP client and
>> > ;; an SSH server.
>> > (services (cons* (dhcp-client-service)
>> > (service openssh-service-type
>> > (openssh-configuration
>> > (authorized-keys
>> > '(("edouard" ,(local-file "edouard.pub"))
>> > ("root" ,(local-file "edouard.pub"))))
>> > (permit-root-login 'without-password)
>> > (port-number 22)))
>> > %base-services)))
>> > ------------error message
>> > c++
>> > -I/gnu/store/pslvw8b4r0m5vmbz2ml7whcv2wbdpa57-pixman-0.34.0/include/pixman-1
>> > -I/tmp/guix-build-qemu-minimal-2.10.2.drv-0/qemu-2.10.2/dtc/libfdt
>> > -pthread -I/gnu/s[14/1947]
>> > cagl47zbb6krfpmwm31m70s9pk00-glib-2.56.0/include/glib-2.0
>> > -I/gnu/store/x9lfcagl47zbb6krfpmwm31m70s9pk00-glib-2.56.0/lib/glib-2.0/include
>> > -DNCURSES_WIDECHAR -D_GNU_SOURCE -D_D
>> > EFAULT_SOURCE -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
>> > -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef
>> > -Wwrite-strings -Wmissing-p
>> > rototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels
>> > -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
>> > -Wformat-y2k -Winit-self -Wignore
>> > d-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits
>> > -fstack-protector-strong
>> > -I/gnu/store/8679cp88yg5jrq2q1944xf14ibyp1kp7-libpng-1.6.34/include/libpn
>> > g16 -I/tmp/guix-build-qemu-minimal-2.10.2.drv-0/qemu-2.10.2/tests -O2
>> > -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wl,--warn-common -Wl,-z,relro
>> > -Wl,-z,now -pie -m64 -Wl,--warn-co
>> > mmon -Wl,-z,relro -Wl,-z,now -pie -m64 -lrt -o tests/test-replication
>> > tests/test-replication.o block.o blockjob.o qemu-io-cmds.o replication.o
>> > block/raw-format.o block/qcow.o
>> > block/vdi.o block/vmdk.o block/cloop.o block/bochs.o block/vpc.o
>> > block/vvfat.o block/dmg.o block/qcow2.o block/qcow2-refcount.o
>> > block/qcow2-cluster.o block/qcow2-snapshot.o
>> > block/qcow2-cache.o block/qcow2-bitmap.o block/qed.o block/qed-l2-cache.o
>> > block/qed-table.o block/qed-cluster.o block/qed-check.o block/vhdx.o
>> > block/vhdx-endian.o block/vhdx-
>> > log.o block/quorum.o block/parallels.o block/blkdebug.o block/blkverify.o
>> > block/blkreplay.o block/block-backend.o block/snapshot.o block/qapi.o
>> > block/file-posix.o block/linux
>> > -aio.o block/null.o block/mirror.o block/commit.o block/io.o
>> > block/throttle-groups.o block/nbd.o block/nbd-client.o block/sheepdog.o
>> > block/accounting.o block/dirty-bitmap.o b
>> > lock/write-threshold.o block/backup.o block/replication.o block/crypto.o
>> > nbd/server.o nbd/client.o nbd/common.o block/dmg-bz2.o io/channel.o
>> > io/channel-buffer.o io/channel-co
>> > mmand.o io/channel-file.o io/channel-socket.o io/channel-tls.o
>> > io/channel-watch.o io/channel-websock.o io/channel-util.o
>> > io/dns-resolver.o io/task.o crypto/init.o crypto/hash
>> > .o crypto/hash-glib.o crypto/hmac.o crypto/hmac-glib.o crypto/aes.o
>> > crypto/desrfb.o crypto/cipher.o crypto/tlscreds.o crypto/tlscredsanon.o
>> > crypto/tlscredsx509.o crypto/tlsse
>> > ssion.o crypto/secret.o crypto/random-platform.o crypto/pbkdf.o
>> > crypto/ivgen.o crypto/ivgen-essiv.o crypto/ivgen-plain.o
>> > crypto/ivgen-plain64.o crypto/afsplit.o crypto/xts.o
>> > crypto/block.o crypto/block-qcow.o crypto/block-luks.o qom/object.o
>> > qom/container.o qom/qom-qobject.o qom/object_interfaces.o tests/iothread.o
>> > libqemuutil.a libqemustub.a -
>> > lz -laio -lbz2 -lm
>> > -L/gnu/store/x9lfcagl47zbb6krfpmwm31m70s9pk00-glib-2.56.0/lib
>> > -lgthread-2.0 -pthread -lglib-2.0 -lz -lz -lutil
>> > MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} gtester
>> > -k --verbose -m=quick tests/test-replication
>> > TEST: tests/test-replication... (pid=14861)
>> > /replication/primary/read: OK
>> > /replication/primary/write: OK
>> > /replication/primary/start: OK
>> > /replication/primary/stop: OK
>> > /replication/primary/do_checkpoint: OK
>> > /replication/primary/get_error_all: OK
>> > /replication/secondary/read: OK
>> > /replication/secondary/write: OK
>> > /replication/secondary/start: **
>> > ERROR:tests/test-replication.c:117:test_blk_write: assertion failed:
>> > (async_ret == 0)
>> > FAIL
>> > GTester: last random seed: R02Sb499c9e89b18bb967dd59acad1b2aaa8
>> > (pid=14865)
>> > /replication/secondary/stop: OK
>> > /replication/secondary/do_checkpoint: OK
>> > /replication/secondary/get_error_all: OK
>> > FAIL: tests/test-replication
>> > make: ***
>> > [/tmp/guix-build-qemu-minimal-2.10.2.drv-0/qemu-2.10.2/tests/Makefile.include:849:
>> > check-tests/test-replication] Error 1
>> >
>> > Test suite failed, dumping logs.
>> > Backtrace:
>> > 4 (primitive-load "/gnu/store/5v4cdxg9m4x6hax86g1q7jw5bch…")
>> > In ice-9/eval.scm:
>> > 191:35 3 (_ _)
>> > In srfi/srfi-1.scm:
>> > 640:9 2 (for-each #<procedure a06400 at /gnu/store/f95ghy8mx00…> …)
>> > In
>> > /gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/gnu-build-system.scm:
>> > 799:31 1 (_ _)
>> > 369:6 0 (check #:target _ #:make-flags _ #:tests? _ # _ # _ # _)
>> >
>> > /gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/gnu-build-system.scm:369:6:
>> > In procedure check:
>> > Throw to key `srfi-34' with args `(#<condition &invoke-error [program:
>> > "make" arguments: ("check") exit-status: 2 term-signal: #f stop-signal:
>> > #f] 986a40>)'.
>> > builder for
>> > `/gnu/store/5q7ixx1qjf7msamr052jc5jyfilhpsai-qemu-minimal-2.10.2.drv'
>> > failed with exit code 1
>> > cannot build derivation
>> > `/gnu/store/5i56cl8c6608azkn67qy54nf2kqxfhkl-grub-2.02.drv': 1
>> > dependencies couldn't be built
>> > guix system: error: build failed: build of
>> > `/gnu/store/5i56cl8c6608azkn67qy54nf2kqxfhkl-grub-2.02.drv' failed
>> >
>> >
>>
>> It seems that qemu-minimal failed it's test suite.
>>
>> Could you try to run the command again, and report back, so that we
>> can see if the problem persists?
>> (We often see indeterministic test failures unfortunately.)
>>
>> Best regards,
>> g_bor