aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests/install.scm
Commit message (Collapse)AuthorAge
* tests: install: Fix encrypted-root-not-boot-os test.Oleg Pykhalov2024-02-21
| | | | | | | | | Fix build failure caused by lack of free disk space. * gnu/tests/install.scm (%test-encrypted-root-not-boot-os): Increase the root partition to 1600 MiB. Change-Id: I9f8378c37743ae8e59a72228b9e8bdbad93b4473
* tests: install: Fix encrypted-home-os, encrypted-home-os-key-file tests.Tomas Volf2024-01-14
| | | | | | | | | | | | | | | | | | | | | | The installation no longer fits into the 1.6G, leading to a warning while running the test: guix system: warning: at least 1526.8 MB needed but only 1408.4 MB available in /mnt Followed by a failure: 93% [#################################################################### ]note: build failure may have been caused by lack of free disk space builder for `/gnu/store/8wl8q8nc1za0vlyv21jpzwgml45njgk2-module-import-compiled.drv' failed with exit code 1 This commit increases the root partition to 2G, making the test pass again. * gnu/tests/install.scm (%encrypted-root-installation-script): Increase the root partition to 2G. (%test-encrypted-home-os), (%test-encrypted-home-os-key-file): Increase the target size to 3G to accommodate for the larger root partition. Change-Id: I0f7092f7b7fc9992d3f895a1eaecf1f2065b7360 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* tests: install: Fix encrypted-root-os test.Tomas Volf2024-01-14
| | | | | | | | | | | | | | | | | | | | The installation no longer fits into the 1.6G, leading to a warning while running the test: guix system: warning: at least 1526.8 MB needed but only 1408.4 MB available in /mnt Followed by a failure: 93% [#################################################################### ]note: build failure may have been caused by lack of free disk space builder for `/gnu/store/8wl8q8nc1za0vlyv21jpzwgml45njgk2-module-import-compiled.drv' failed with exit code 1 This commit increases the root partition to 2G, making the test pass again. * gnu/tests/install.scm (%encrypted-root-installation-script): Increase the root partition to 2G. Change-Id: I4cc5c78cfbd93ab2ae92ec77603ce6fee0289843 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* tests: install: Use the smallest possible iteration time for LUKS.Tomas Volf2024-01-14
| | | | | | | | | | | | | | For testing that installation works, there is no need to spent 2000ms (the default) iterating while generating the encryption key. This commit therefore sets the iteration time to the lowest possible value, 1(ms). * gnu/tests/install.scm (%encrypted-root-installation-script): (%encrypted-home-installation-script): (%encrypted-root-not-boot-installation-script): Pass -i 1 to luksFormat invocation. Change-Id: Iab79459b48bebe4d293b18290a236c6414fb27fc Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* tests: Add `encrypted-home-os-key-file' installation test.Tomas Volf2024-01-14
| | | | | | | | | | | | | Based on encrypted-home-os, this test verifies unlocking via a key file. * gnu/tests/install.scm (%encrypted-home-os-key-file), (%encrypted-home-os-key-file-source): New variables. (%test-encrypted-home-os-key-file): New exported variables. (%encrypted-home-installation-script): Generate initrd with a key file for unlocking the LUKS. Change-Id: I04460155284bdef7e18da645f2b4b26bd8e86636 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* image: Add mbr-raw-image-type and use by default.Josselin Poiret2023-08-25
| | | | | | | | | | | | * gnu/system/image.scm (mbr-disk-image, mbr-raw-image-type): New variables. (qcow2-image-type): Inherit mbr-disk-image. * guix/scripts/system.scm (%default-options): Use mbr-raw-image-type by default. * gnu/tests/install.scm (run-install): Use mbr-raw in the tests. * doc/guix-cookbook.texi (Guix System Image API): Update the list of image types. * doc/guix.texi (Invoking guix system, System Images, image-type Reference): Add mbr-raw and switch documented default to it.
* tests: Add missing module imports for marionette-evaluated code.Ludovic Courtès2023-05-06
| | | | | | | | | | | | | | | | | | | | | | | | This missing imports became apparent with commit a09c7da8f8d8e732f969cf0a09aaa78f87032ab1, which runs the marionette service in a fresh Guile process with fewer imports. * gnu/tests/databases.scm (run-postgresql-test, run-timescaledb-test) (run-mysql-test): Add missing module imports for code passed to 'marionette-eval'. * gnu/tests/docker.scm (run-docker-test, run-docker-system-test): Likewise. * gnu/tests/mail.scm (run-dovecot-test, run-getmail-test): Likewise. * gnu/tests/monitoring.scm (run-zabbix-server-test): Likewise. * gnu/tests/pam.scm (run-test-pam-limits): Likewise. * gnu/tests/reconfigure.scm (run-switch-to-system-test) (run-install-bootloader-test): Likewise. * gnu/tests/security-token.scm (run-pcscd-test): Likewise. * gnu/tests/install.scm (gui-test-program): Likewise. * gnu/tests/telephony.scm (run-jami-test): Add modules to the #:imported-modules argument of 'marionette-operating-system'. [test]: Remove them from 'with-imported-modules'; remove 'with-extensions'. Add "d-bus tooling loaded" test to set up %load-path and %load-compiled-path so the marionette process can find guile-ac-d-bus and guile-packrat.
* tests: Use the client 'start-service' procedure.Ludovic Courtès2023-04-21
| | | | | | | | | | | The previous code worked "by chance": 'start' from (shepherd service) happened to be in scope because the marionette REPL is created by a mere 'primitive-fork', and 'start' happened to kinda work. * gnu/tests/base.scm (run-basic-test): Use 'start-service' from (gnu services herd), not 'start' from (shepherd service), which is not supposed to work. * gnu/tests/install.scm (run-install): Likewise.
* Revert "tests: install: Fix iso-image-installer test."Maxim Cournoyer2022-12-05
| | | | | | | | This reverts commit 0f66ef9aa99d2043abccbc80d858bdeca57534ac. e2fsprogs is now included in the installation operating system since 34f69bc6e6ea555929ecca83ee7592f5261ff5f2, making this workaround obsolete. Suggested-by: Ludovic Courtès <ludo@gnu.org>
* tests: install: Fix iso-image-installer test.Mathieu Othacehe2022-09-30
| | | | | | | | | | | This is a follow-up of: 45eac6cdf5c8d9d7b0c564b105c790d2d2007799. It fixes the following error: + mkfs.ext4 -L my-root /dev/vda2 sh: line 12: mkfs.ext4: command not found * gnu/tests/install.scm (%test-iso-image-installer): Add e2fsprogs to the appended packages.
* build: marionette: Add support for Tesseract OCR.Maxim Cournoyer2022-08-28
| | | | | | | | | | | * gnu/build/marionette.scm (invoke-ocrad-ocr): New procedure. (invoke-tesseract-ocr): Likewise. (marionette-screen-text): Rename the #:ocrad argument to #:ocr. Dispatch the matching OCR invocation procedure. (wait-for-screen-text): Rename the #:ocrad argument to #:ocr. * gnu/tests/base.scm (run-basic-test): Adjust accordingly. * gnu/tests/install.scm (enter-luks-passphrase): Likewise. (enter-luks-passphrase-for-home): Likewise.
* system: install: Always use 'current-guix'.Ludovic Courtès2022-08-09
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/53210>. Reported by Mathieu Othacehe <othacehe@gnu.org>. * gnu/system/install.scm (%installation-services): Set 'guix' to use (current-guix) in 'guix-configuration'. * gnu/system/examples/vm-image.tmpl: Likewise. * gnu/tests/install.scm (operating-system-with-current-guix): Remove. (run-install, installation-os-for-gui-tests): Remove its uses. * Makefile.am (release): Remove intermediate use of 'update-guix-package.scm' and subsequent 'git commit' invocation.
* tests: Add "encrypted-home-os" installation test.Ludovic Courtès2022-04-08
| | | | | | | * gnu/tests/install.scm (%encrypted-home-os) (%encrypted-home-installation-script) (enter-luks-passphrase-for-home) (%test-encrypted-home-os): New variables.
* tests: install: Add two new Btrfs RAID10 install test.Maxim Cournoyer2022-03-19
| | | | | | | | * gnu/tests/install.scm (%btrfs-raid10-root-os) (%btrfs-raid10-root-os): New variables. (%btrfs-raid10-root-installation-script): Likewise. (%test-btrfs-raid10-root-images): Likewise. (%test-btrfs-raid10-root-os, %test-btrfs-raid10-root-os-degraded): New tests.
* tests: install: Enable the use of multiple disk devices for tests.Maxim Cournoyer2022-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | * gnu/tests/install.scm (run-install)[packages]: Unconditionally add to OS. [NUMBER-OF-DISKS]: Add argument, update doc and adjust. The returned gexp output is now a list of images rather than the image itself. * gnu/tests/install.scm (qemu-command*): Rename IMAGE argument to IMAGES, to account for the above change. Adjust doc. Generate a QEMU '-drive' argument for each disk image. (%test-installed-os): Rename the IMAGE variable to IMAGES. (%test-installed-extlinux-os): Likewise. (%test-iso-image-installer): Likewise. (%test-separate-home-os): Likewise. (%test-separate-store-os): Likewise. (%test-raid-root-os): Likewise. (%test-encrypted-root-os): Likewise. (%test-lvm-separate-home-os): Likewise. (%test-encrypted-root-not-boot-os): Likewise. (%test-btrfs-root-os): Likewise. (%test-btrfs-raid-root-os): Likewise. (%test-btrfs-root-on-subvolume-os): Likewise. (%test-jfs-root-os): Likewise. (%test-f2fs-root-os): Likewise. (%test-xfs-root-os): Likewise. (guided-installation-test): Likewise.
* tests: install: Streamline 'qemu-command/writable-image'.Maxim Cournoyer2022-03-19
| | | | | | * gnu/tests/install.scm (qemu-command/writable-image): Replace the use of a writable backing file by the use of the '-snapshot' option, and rename to... (qemu-command*): ... this, adjusting all calls.
* installer: Recommend 'ntp-service-type' for non-graphical systems.Leo Famulari2021-12-28
| | | | | | | | | | | | | | | | We had several bug reports with a root cause of "the clock was incorrect" from users who used the installer to install a non-graphical Guix System. * gnu/installer/services.scm (%system-services): Add the ntp-service-type. * gnu/installer/newt/services.scm (run-system-administration-cbt-page): New variable. (run-services-page): Use run-system-administration-cbt-page when not installing a desktop. * gnu/installer/tests.scm (choose-services): Add and use a choose-misc-service? procedure. * gnu/tests/install.scm (installation-target-os-for-gui-tests)<services>: Add ntp-service-type.
* Remove VM generation dead-code.Mathieu Othacehe2021-12-23
| | | | | | | | | | | | | | | This code duplicates the (gnu system image) and (gnu build image) code. Using VM for image generation is not needed, not portable and really slow. Remove all the VM image generation code to make sure that only the image API is used. * gnu/build/vm.scm: Remove it. Move the qemu-command procedure to ... * gnu/build/marionette.scm: ... here. * gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it. * tests/modules.scm: Ditto. * gnu/tests/install.scm: Ditto. * gnu/system/vm.scm: Adapt it and remove expression->derivation-in-linux-vm, qemu-img, system-qemu-image/shared-store and system-docker-image procedures. * doc/guix.texi (G-Expressions): Adapt it.
* tests: install: Use the swap-space record.Mathieu Othacehe2021-12-01
| | | | | | | | | | | | | | | | | | | This fixes the following error: In gnu/services/base.scm: 2228:56 4 (_ #<<uuid> type: dce bv: #vu8(17 17 17 17 34 34 51 51 …>) In gnu/build/file-systems.scm: 239:13 3 (swap-space->flags-bit-mask #<<uuid> type: dce bv: #vu8…>) In ice-9/boot-9.scm: 1685:16 2 (raise-exception _ #:continuable? _) 1685:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure swap-space-priority: Wrong type argument: #<<uuid> type: dce bv: #vu8(17 17 17 17 34 34 51 51 68 68 18 52 86 120 154 188)> * gnu/tests/install.scm (installation-target-os-for-gui-tests): Use the swap-space record.
* tests: Fix installation tests.Mathieu Othacehe2021-11-23
| | | | | | | | Use a CEST timezone as this is the assumed timezone in the run-basic-test procedure. * gnu/tests/install.scm (%encrypted-root-not-boot-os, %btrfs-root-on-subvolume-os): Use a CEST timezone.
* tests: Pass '-F qcow2' to 'qemu-img create'.Ludovic Courtès2021-10-18
| | | | | | | | | | | | Fixes a regression introduced in 0b5e128750ed40d4348f2eb49d328b81dba9181a, whereby 'qemu-img create ...' as used here would fail with: qemu-img: disk.img: Backing file specified without backing format thereby breaking tests from (gnu tests install). * gnu/tests/install.scm (qemu-command/writable-image): Pass "-F qcow2".
* tests: install: Test an XFS root file system.Tobias Geerinckx-Rice2021-09-23
| | | | | * gnu/tests/install.scm (%xfs-root-os, %xfs-root-os-source) (%xfs-root-installation-script, %test-xfs-root-os): New variables.
* Migrate to the new 'targets' field of bootloader-configuration.Maxim Cournoyer2021-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old 'target' field is deprecated; adjust the sources to use the new 'targets' one instead. * doc/guix-cookbook.texi<target>: Replace by 'targets'. * gnu/bootloader/grub.scm: Likewise. * gnu/installer/parted.scm: Likewise. * gnu/machine/digital-ocean.scm: Likewise. * gnu/system/examples/asus-c201.tmpl: Likewise * gnu/system/examples/bare-bones.tmpl: Likewise * gnu/system/examples/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise
* gnu: bootloader: Support multiple targets.Maxim Cournoyer2021-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/40997>. * gnu/bootloader.scm (<bootloader-configuration>): New 'targets' field. (%bootloader-configuration-target): New procedure. (bootloader-configuration-target): Add deprecation warning. (bootloader-configuration-targets): New procedure. * guix/scripts/system.scm (install): Access targets via bootloader-configuration-targets. (perform-action)[bootloader-target]: Remove unused argument and update doc. Access targets via bootloader-configuration-targets and fix indentation. (process-action): Access targets via bootloader-configuration-targets. Do not provide the unused BOOTLOADER-TARGET argument when applying `perform-action'. * guix/scripts/system/reconfigure.scm (install-bootloader-program): Rename DEVICE argument to DEVICES. Adjust doc and comment. Apply `installer' and `disk-installer' for every DEVICES. (install-bootloader): Access targets via bootloader-configuration-targets and rename variable from DEVICE to DEVICES. * gnu/tests/install.scm: Adjust accordingly. * tests/guix-system.sh: Likewise. * gnu/tests/reconfigure.scm (run-install-bootloader-test): Adjust the DEVICES argument so that it is a list. * doc/guix.texi: Update doc.
* installer: tests: Expect but do not select other services by default.Tobias Geerinckx-Rice2021-07-04
| | | | | | * gnu/installer/tests.scm (choose-services): Accept a new choose-other-service? keyword argument, defaulting to false. Expect an "Other services" checkbox-list. Update docstring.
* tests: Add gui-uefi-installed-os test.Mathieu Othacehe2021-04-28
| | | | | | | | | | | | * gnu/installer/tests.scm (conclude-installation): Rename it into ... (start-installation): ... this new procedure. (complete-installation): New procedure. (choose-partitioning): Add an uefi-support? argument. * gnu/tests/install.scm (uefi-firmware): New procedure. (run-install, qemu-command/writable-image, gui-test-program, installation-target-os-for-gui-tests): Add an uefi-support? argument. (%extra-packages): Add grub-efi, fatfsck/static and dosfstools. (%test-gui-installed-os): New variable.
* system: tests: Add a Btrfs RAID system test.Maxim Cournoyer2021-01-27
| | | | | | * gnu/tests/install.scm (%btrfs-raid-root-os) (%btrfs-raid-root-os-source, %btrfs-raid-root-installation-script) (%test-btrfs-raid-root-os): New variables.
* tests: install: Fix build.Mathieu Othacehe2021-01-20
| | | | | | This is a follow-up of: 2f497d94e7f6574b0847025ce29eafaf858008ef. * gnu/tests/install.scm (run-install): Rename 'raw to 'efi-raw.
* system: Allow separated /boot and encrypted root.Miguel Ángel Arruga Vivas2020-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/grub.scm (grub-configuration-file): New parameter store-crypto-devices. [crypto-devices]: New helper function. [builder]: Use crypto-devices. * gnu/machine/ssh.scm (roll-back-managed-host): Use boot-parameters-store-crypto-devices to provide its contents to the bootloader configuration generation process. * gnu/tests/install.scm (%encrypted-root-not-boot-os, %encrypted-root-not-boot-os): New os declaration. (%encrypted-root-not-boot-installation-script): New script, whose contents were initially taken from %encrypted-root-installation-script. (%test-encrypted-root-not-boot-os): New test. * gnu/system.scm (define-module): Export operating-system-bootoader-crypto-devices and boot-parameters-store-crypto-devices. (<boot-parameters>): Add field store-crypto-devices. (read-boot-parameters): Parse store-crypto-devices field. [uuid-sexp->uuid]: New helper function extracted from device-sexp->device. (operating-system-bootloader-crypto-devices): New function. (operating-system-bootcfg): Use operating-system-bootloader-crypto-devices to provide its contents to the bootloader configuration generation process. (operating-system-boot-parameters): Add store-crypto-devices to the generated boot-parameters. (operating-system-boot-parameters-file): Likewise to the file with the serialized structure. * guix/scripts/system.scm (reinstall-bootloader): Use boot-parameters-store-crypto-devices to provide its contents to the bootloader configuration generation process. * tests/boot-parameters.scm (%default-store-crypto-devices): New variable. (%grub-boot-parameters, test-read-boot-parameters): Use %default-store-crypto-devices. (tests store-crypto-devices): New tests.
* mapped-devices: Add 'lvm-device-mapping'.Mikhail Tsykalov2020-11-26
| | | | | | | | | | | | | * gnu/system/mapped-devices.scm (lvm-device-mapping, open-lvm-device, close-lvm-device): New variables. * gnu/tests/install.scm (%lvm-separate-home-os, %lvm-separate-home-os-source, %lvm-separate-home-installation-script, %test-lvm-separate-home-os): New variables. * gnu/system/linux-initrd.scm (raw-initrd): Add (srfi srfi-1) to initrd expression. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* installer: Use UUIDs in the 'swap-devices' field.Ludovic Courtès2020-10-30
| | | | | | | | | | | | | | | | | | | Note: This change requires an updated 'guix' package that contains Linux-swap support in (gnu build file-systems). * gnu/installer/parted.scm (user-partitions->configuration): Use UUIDs in the 'swap-devices' field. * gnu/installer/newt/final.scm (run-final-page)[wait-for-clients]: New procedure. Use it. * gnu/installer/tests.scm (choose-partitioning): Wait for 'starting-final-step' message and move configuration file dialog handling to... (conclude-installation): ... here. Send over PORT the reply corresponding to 'starting-final-step'. * gnu/tests/install.scm (gui-test-program): When ENCRYPTED? is false, invoke 'swaplabel' in the marionette. (installation-target-os-for-gui-tests): When ENCRYPTED? is false, except a fixed UUID.
* installer: Add Emacs EXWM desktop environment.Jan (janneke) Nieuwenhuizen2020-10-13
| | | | | | | | | | | | | Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller.
* system: image: Add image-type support.Mathieu Othacehe2020-09-30
| | | | | | | | | | | | | | | | | | | | | * gnu/system/image.scm (image-with-os): New macro. Rename the old "image-with-os" procedure to ... (image-with-os*): ... this new procedure, (system-image): adapt according, (raw-image-type, iso-image-type, uncompressed-iso-image-type %image-types): new variables, (lookup-image-type-by-name): new procedure. (find-image): remove it. * gnu/system/images/hurd.scm (hurd-image-type): New variable, use it to define ... (hurd-disk-image): ... this variable, using "os->image" procedure. * gnu/tests/install.scm (run-install): Rename installation-disk-image-file-system-type parameter to installation-image-type, use os->config instead of find-image to compute the image passed to system-image, (%test-iso-image-installer) adapt accordingly, (guided-installation-test): ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* tests: install: Fix gui-installed-desktop-os-encrypted test.Mathieu Othacehe2020-09-10
| | | | | | | * gnu/tests/base.scm (run-basic-test): Add a 'desktop?' argument. Wait 30 seconds before trying to switch to TTY1 on desktop. * gnu/tests/install.scm (guided-installation-test): Use 512MiB of RAM and pass the desktop argument to "run-basic-test".
* tests: install: Increase image size limit.Mathieu Othacehe2020-06-30
| | | | | | | | | | | Commits 0eed77127592323d89f56c215a15374a1aaae110 and 614a1e3fa2d731d4719f03912b1b87fb4fd309cb caused a ~150M increase of the image size. Increase the image size limit by 200M until the situation is addressed. * gnu/tests/install.scm (%simple-installation-script, %extlinux-gpt-installation-script, %simple-installation-script-for-/dev/vda, %raid-root-installation-script, %encrypted-root-installation-script): Increase image size limit by 200M.
* tests: install: Disable image compression.Mathieu Othacehe2020-06-26
| | | | | * gnu/tests/install.scm (run-install): Disable image compression to speed-up the tests.
* tests: install: Fix marionette race condition.Mathieu Othacehe2020-06-26
| | | | | | | If the marionette shuts down before the script return is received, then status will be <eof>. * gnu/tests/install.scm (run-install): Allow status to be the <eof> object.
* image: Make 'find-image' non-monadic.Jan (janneke) Nieuwenhuizen2020-06-13
| | | | | | | | * gnu/system/image.scm (find-image): Make non-monadic. Add 'target' parameter. * gnu/tests/install.scm (run-install): Update caller, passing (%current-target-system). * guix/scripts/system.scm (perform-action): Likewise.
* image: Do not use VM to create disk-images.Mathieu Othacehe2020-05-29
| | | | | | | | | | | | | | | | Now that installing Grub on raw disk-images is supported, we do not need to rely on (gnu system vm) module. * gnu/system/image.scm (make-system-image): Rename to ... (system-image): ... this, and remove the compatibility wrapper. (find-image): Turn to a monadic procedure. This will become useful when introducing Hurd support, to be able to detect the target system. * gnu/ci.scm (qemu-jobs): Use lower-object now that system-image returns a file-like object. * gnu/tests/install.scm (run-install): Ditto. * guix/scripts/system.scm (system-derivation-for-action): Add a 'base-image' argument, (perform-action): adapt accordingly.
* bootloader: grub: Allow booting from a Btrfs subvolume.Maxim Cournoyer2020-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/grub.scm (strip-mount-point): Remove procedure. (normalize-file): Add procedure. (grub-configuration-file): New BTRFS-SUBVOLUME-FILE-NAME parameter. When defined, prepend its value to the kernel and initrd file names, using the NORMALIZE-FILE procedure. Adjust the call to EYE-CANDY to pass the BTRFS-SUBVOLUME-FILE-NAME argument. Normalize the KEYMAP file as well. (eye-candy): Add a BTRFS-SUBVOLUME-FILE-NAME parameter, and use it, along with the NORMALIZE-FILE procedure, to normalize the FONT-FILE and IMAGE nested variables. Adjust doc. * gnu/bootloader/depthcharge.scm (depthcharge-configuration-file): Adapt. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Likewise. * gnu/system/file-systems.scm (btrfs-subvolume?) (btrfs-store-subvolume-file-name): New procedures. * gnu/system.scm (operating-system-bootcfg): Specify the Btrfs subvolume file name the store resides on to the `operating-system-bootcfg' procedure, using the new BTRFS-SUBVOLUME-FILE-NAME argument. * doc/guix.texi (File Systems): Add a Btrfs subsection to document the use of subvolumes. * gnu/tests/install.scm (%btrfs-root-on-subvolume-os) (%btrfs-root-on-subvolume-os-source) (%btrfs-root-on-subvolume-installation-script) (%test-btrfs-root-on-subvolume-os): New variables.
* Merge branch 'master' into core-updatesMarius Bakke2020-05-05
|\
| * image: Add a new API.Mathieu Othacehe2020-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This is quite fragile, very slow, and almost unusable without KVM. For all these reasons, add support for host image generation. This implies the use new image generation mechanisms. - Raw disk images: images of partitions are created using tools such as mke2fs and mkdosfs depending on the partition file-system type. The partition images are then assembled into a final image using genimage. - ISO9660 images: the ISO root directory is populated within the store. GNU xorriso is then called on that directory, in the exact same way as this is done in (gnu build vm) module. Those mechanisms are built upon the new (gnu image) module. * gnu/image.scm: New file. * gnu/system/image.scm: New file. * gnu/build/image: New file. * gnu/local.mk: Add them. * gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm. * gnu/ci.scm (qemu-jobs): Adapt to new API. * gnu/tests/install.scm (run-install): Ditto. * guix/scripts/system.scm (system-derivation-for-action): Ditto.
| * tests: install: Test a F2FS root file system.Danny Milosavljevic2020-05-03
| | | | | | | | | | * gnu/tests/install.scm (%f2fs-root-os, %f2fs-root-installation-script, %test-f2fs-root-os): New variables.
* | Merge branch 'master' into core-updatesMarius Bakke2020-04-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/backup.scm gnu/packages/emacs-xyz.scm gnu/packages/guile.scm gnu/packages/lisp.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/web.scm gnu/packages/xorg.scm
| * tests: install: Fix device usage.Mathieu Othacehe2020-04-29
| | | | | | | | | | | | | | | | | | | | This is a follow-up of a860eddbbddeae5d3b6fe084e29ac9fafd2d6f02. Guided installation tests are now run from an ISO image. Hence the main block device is vda and not vdb anymore. * gnu/tests/install.scm (installation-target-os-for-gui-tests): Use %minimal-os-on-vda instead of %minimal-os. (%minimal-os-on-vda): Make sure that it replicates the config of %minimal-os.
| * tests: install: Fix gui-installed-os test.Mathieu Othacehe2020-04-29
| | | | | | | | | | | | | | | | This is a follow-up of a860eddbbddeae5d3b6fe084e29ac9fafd2d6f02. If using an ISO, the main disk is vda and not vdb anymore. * gnu/tests/install.scm (installation-target-os-for-gui-tests): Use vda2 as swap partition.
| * tests: install: Increase virtual machine RAM.Mathieu Othacehe2020-04-29
| | | | | | | | | | | | | | | | | | | | It seems that 'guix system init' is consuming more than the 800M of RAM currently allocated. Until this is understood, bump the limit to 1.2G. Reported here: https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00519.html * gnu/tests/install.scm (run-install): Bump RAM to 1.2G.
* | tests: Add 'guile-final' to the installation test GC roots.Marius Bakke2020-04-26
|/ | | | | * gnu/tests/install.scm (run-install): Add GUILE-FINAL to OPERATING-SYSTEM-WITH-GC-ROOTS.
* tests: Run guided installation tests from an ISO image.Ludovic Courtès2020-04-10
| | | | | * gnu/tests/install.scm (guided-installation-test): Pass #:installation-disk-image-file-system-type to 'run-install'.
* tests: Mark VM images as non-substitutable.Ludovic Courtès2020-04-08
| | | | | * gnu/tests/install.scm (run-install): Pass #:substitutable? to 'system-disk-image' and to 'gexp->derivation'.