Age | Commit message (Expand) | Author |
2024-02-10 | services: Add ‘virtual-build-machine’ service....* gnu/services/virtualization.scm (<virtual-build-machine>): New record type.
(%build-vm-ssh-port, %build-vm-secrets-port, %x86-64-intel-cpu-models):
New variables.
(qemu-cpu-model-for-date, virtual-build-machine-ssh-port)
(virtual-build-machine-secrets-port): New procedures.
(%minimal-vm-syslog-config, %virtual-build-machine-operating-system):
New variables.
(virtual-build-machine-default-image):
(virtual-build-machine-account-name)
(virtual-build-machine-accounts)
(build-vm-shepherd-services)
(initialize-build-vm-substitutes)
(build-vm-activation)
(virtual-build-machine-offloading-ssh-key)
(virtual-build-machine-activation)
(virtual-build-machine-secret-root)
(check-vm-availability)
(build-vm-guix-extension): New procedures.
(initialize-hurd-vm-substitutes): Remove.
(hurd-vm-activation): Rewrite in terms of ‘build-vm-activation’.
* gnu/system/vm.scm (linux-image-startup-command): New procedure.
(operating-system-for-image): Export.
* gnu/tests/virtualization.scm (run-command-over-ssh): New procedure,
extracted from…
(run-childhurd-test): … here.
[test]: Adjust accordingly.
(%build-vm-os): New variable.
(run-build-vm-test): New procedure.
(%test-build-vm): New variable.
* doc/guix.texi (Virtualization Services)[Virtual Build Machines]: New
section.
(Build Environment Setup): Add cross-reference.
Change-Id: I0a47652a583062314020325aedb654f11cb2499c
| Ludovic Courtès |
2024-02-10 | vm: Add ‘cpu-count’ field to <virtual-machine>....* gnu/system/vm.scm (<virtual-machine>)[cpu-count]: New field.
(virtual-machine-compiler): Honor it.
Change-Id: I907a89365f32ac7a9981c4ae5f59cf6eb199c3cc
| Ludovic Courtès |
2024-02-10 | vm: Export <virtual-machine> accessors....* gnu/system/vm.scm: Export.
Change-Id: If65d96f4052d070af5baee26f3dd9b233b8480f4
| Ludovic Courtès |
2024-02-10 | vm: Add ‘date’ field to <virtual-machine>....* gnu/system/vm.scm (<virtual-machine>)[date]: New field.
(virtual-machine-compiler): Honor it.
Change-Id: Idab1c152466d57cbc6784c031a99fdfd37080bcb
| Ludovic Courtès |
2023-10-29 | system: vm: Include the cirrus driver in the initrd....This is Ludo's suggestion at <https://issues.guix.gnu.org/36069#26>,
with an added guard against duplicates and a tweaked comment.
* gnu/system/vm.scm (virtualized-operating-system): Add "cirrus" to the
list of INITRD-MODULES.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I1a86286586eee0b8c39706544778c7911a86da33
| Tobias Geerinckx-Rice |
2023-10-01 | system: vm: Remove unused variable....This is a followup to 05a9d1f378e2e13e8f759be926ea368358afc27c, which
removed its sole user.
* gnu/system/vm.scm (%linux-vm-file-systems): Remove.
(mapping->file-system): Add comment about “cache=loose”.
| Ludovic Courtès |
2022-12-06 | system: vm: Non-volatile 'run-vm.sh' creates a CoW image....Previously, copying the image would consume a lot of space and was
I/O-intensive, to the point that the marionette connection timeout of
20s could be reached when running tests like "docker-system".
* gnu/system/vm.scm (common-qemu-options): Pass 'format=' for each
'-drive' option.
(system-qemu-image/shared-store-script)[copy-image]: New variable.
[builder]: Use it when VOLATILE? is false.
| Ludovic Courtès |
2022-01-14 | system: vm: Change the writable image name....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Change it.
| Mathieu Othacehe |
2022-01-06 | system: vm: Restore default RAM size to 512MB....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Restore it.
| Mathieu Othacehe |
2021-12-23 | Remove VM generation dead-code....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.
| Mathieu Othacehe |
2021-12-23 | system: vm: Use the image API to generate QEMU images....Also add a volatile? argument to the virtual-machine record. When volatile? is
true generate a QEMU script that mounts an overlay on top of a read only
storage. When volatile? is false, use a persistent, read-write storage.
* gnu/system/vm.scm (common-qemu-options): Add a rw-image? argument to use a
persistent storage.
(system-qemu-image/shared-store-script): Add a volatile? argument and honor
it. Use the image API to build the QEMU image.
(<virtual-machine>)[volatile?]: New field.
(virtual-machine-compiler): Pass the volatile? argument to the
system-qemu-image/shared-store-script procedure.
| Mathieu Othacehe |
2021-12-05 | Merge remote-tracking branch 'origin/master' into core-updates-frozen | Ricardo Wurmus |
2021-12-03 | system: vm: Remove the vga argument....* gnu/system/vm.scm (common-qemu-options): Remove the "-vga std" argument that
is the default since QEMU 2.2.
Suggested-by: Attila Lendvai <attila@lendvai.name>
| Mathieu Othacehe |
2021-12-03 | guix system vm: Add --no-graphic CLI argument....It configures QEMU to use the tty it was started in for IO (as opposed to
opening a separate graphical window). This enables copy-pasting and
scrollback. Exit QEMU with C-a x.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Also add the
'-nographic' QEMU argument when called with #:graphic? #false.
* guix/scripts/system.scm (system-derivation-for-action): Propagate
the #:graphic? keyword arg.
(perform-action): Add and propagate the #:graphic? keyword arg.
(show-help): Add --no-graphic CLI arg.
(%options): Process the new --no-graphic CLI arg.
(process-action): Feed in the CLI arg through the #:graphic? keyword arg.
* doc/guix.texi (Invoking guix system): Add example to combine guix system and
invoking the vm start script into one command. Split the description of the
various options into separate paragraphs. Add a paragraph to describe
--no-graphic.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Attila Lendvai |
2021-11-20 | vm: <virtual-machine> defaults to using 'qemu-minimal'....'qemu-minimal' is enough for system tests, which is the main (only?) use
of <virtual-machine>.
* gnu/system/vm.scm (<virtual-machine>)[qemu]: Default to QEMU-MINIMAL.
| Ludovic Courtès |
2021-09-07 | Merge branch 'master' into core-updates-frozen | Ludovic Courtès |
2021-08-29 | Migrate to the new 'targets' field of bootloader-configuration....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
| Maxim Cournoyer |
2021-08-15 | Update copyright/name notices for Christine Lemmer-Webber....* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber.
* gnu/build/image.scm: Likewise.
* gnu/build/vm.scm: Likewise.
* gnu/packages/admin.scm: Likewise.
* gnu/packages/assembly.scm: Likewise.
* gnu/packages/audio.scm: Likewise.
* gnu/packages/backup.scm: Likewise.
* gnu/packages/check.scm: Likewise.
* gnu/packages/databases.scm: Likewise.
* gnu/packages/emacs-xyz.scm: Likewise.
* gnu/packages/finance.scm: Likewise.
* gnu/packages/gnupg.scm: Likewise.
* gnu/packages/guile-xyz.scm: Likewise.
* gnu/packages/guile.scm: Likewise.
* gnu/packages/haskell-xyz.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/password-utils.scm: Likewise.
* gnu/packages/perl.scm: Likewise.
* gnu/packages/python-web.scm: Likewise.
* gnu/packages/python-xyz.scm: Likewise.
* gnu/packages/python.scm: Likewise.
* gnu/packages/sphinx.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/services/networking.scm: Likewise.
* gnu/system/vm.scm: Likewise.
| Christopher Lemmer Webber |
2021-07-18 | Merge branch 'master' into core-updates | Ludovic Courtès |
2021-06-25 | vm: Update deprecated QEMU option syntax....Fixes:
warning: short-form boolean option 'readonly' deprecated
Please use readonly=on instead
* gnu/system/vm.scm (common-qemu-options): Use it instead.
| Tobias Geerinckx-Rice |
2021-05-22 | Merge branch 'master' into core-updates | Marius Bakke |
2021-05-18 | Revert "vm: Autoload (gnu build vm)."...This reverts commit a67c00f4f7ee0a70fce14a7e1907cce332c85813 in an
attempt to fix <http://issues.guix.gnu.org/48496>.
| Tobias Geerinckx-Rice |
2021-05-17 | vm: Remove unused imports....* gnu/system/vm.scm (gnu): Remove unused imports.
| Ludovic Courtès |
2021-05-17 | vm: Autoload (gnu build vm)....* gnu/system/vm.scm: Autoload (gnu build vm), which was pulling in (sqlite3).
| Ludovic Courtès |
2021-04-16 | Merge remote-tracking branch 'origin/master' into core-updates... Conflicts:
gnu/local.mk
gnu/packages/boost.scm
gnu/packages/chez.scm
gnu/packages/compression.scm
gnu/packages/crates-io.scm
gnu/packages/docbook.scm
gnu/packages/engineering.scm
gnu/packages/gcc.scm
gnu/packages/gl.scm
gnu/packages/gtk.scm
gnu/packages/nettle.scm
gnu/packages/python-check.scm
gnu/packages/python-xyz.scm
gnu/packages/radio.scm
gnu/packages/rust.scm
gnu/packages/sqlite.scm
guix/build-system/node.scm
| Efraim Flashner |
2021-04-12 | system: vm: Add a memory-size argument to system-docker-image....* gnu/system/vm.scm (system-docker-image): Add a memory-size argument and pass
it to expression->derivation-in-linux-vm.
| Mathieu Othacehe |
2021-04-08 | system: vm: Set a larger value for the msize option of the 9p file system....Fixes <https://issues.guix.gnu.org/47225>.
* gnu/system/vm.scm (%default-msize-value): New variable.
(%linux-vm-file-systems): Use it as the value of the msize option.
(mapping->file-system): Likewise.
Reported-by: Leo Famulari <leo@famulari.name>
| Maxim Cournoyer |
2021-03-06 | Merge branch 'master' into core-updates | Christopher Baines |
2021-02-25 | system: vm: Use Guile 3.0 in Docker images....* gnu/system/vm.scm (system-docker-image): Use GUILE-3.0.
| Ludovic Courtès |
2021-02-17 | scripts: system: Remove 'vm-image' command....Remove the 'vm-image' command that has been superseded by the 'image'
command.
* gnu/system/vm.scm (system-qemu-image): Remove it.
* guix/scripts/system.scm (system-derivation-for-action): Mark 'vm-image'
command as deprecated and use the image API to produce the VM image.
(perform-action, show-help): Adapt accordingly.
* tests/guix-system.sh: Ditto.
* doc/guix.texi (Invoking guix system,
Running Guix in a VM): Ditto.
* etc/completion/fish/guix.fish: Ditto.
* etc/completion/zsh/_guix: Ditto.
| Mathieu Othacehe |
2020-11-29 | Merge remote-tracking branch 'origin/master' into core-updates | Christopher Baines |
2020-11-17 | system: vm: Remove unused system-disk-image-in-vm....* gnu/system/vm.scm (system-disk-image-in-vm): Remove.
Reported-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2020-11-10 | vm: expression->derivation-in-linux-vm: Run in a UTF-8 locale....* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add calls to
'setenv' and 'setlocale'.
| Ludovic Courtès |
2020-11-10 | vm: 'system-qemu-image' forces the use of i386/BIOS GRUB....Fixes <https://bugs.gnu.org/44511>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* gnu/system/vm.scm (system-qemu-image): Add 'bootloader' field to OS.
| Ludovic Courtès |
2020-11-05 | vm: system-qemu-image: Fix type error, remove more actual file systems....* gnu/system/vm.scm (system-qemu-image)[file-systems-to-keep]: Check
whether SOURCE is a string before calling 'string-prefix?'. Remove
UUIDs and file system labels as well.
| Ludovic Courtès |
2020-10-16 | Remove the last vestiges of GuixSD....* gnu/build/vm.scm (load-in-linux-vm): Rename the RNG.
* gnu/system/vm.scm (common-qemu-options): Likewise.
(system-docker-image): Rename the ROOT-DIRECTORY.
* gnu/packages/crypto.scm (eschalot)[arguments]: Use a different
arbitrary string.
* gnu/packages/wicd.scm (wicd)[arguments]: Remove unused configure flag.
* gnu/packages/xorg.scm (xorg-server): Set a more accurate OS vendor.
| Tobias Geerinckx-Rice |
2020-08-31 | vm: Disable caching for writable file system mappings....Fixes <https://bugs.gnu.org/43062>.
Reported by elaexuotee@wilsonb.com.
* gnu/system/vm.scm (mapping->file-system)[options]: Disable loose
caching when WRITABLE? is true.
| Ludovic Courtès |
2020-07-11 | Revert "vm: Use virtio network driver."...This allows users to specify network interface settings with 'guix system vm'
without having to create a new NIC. Fixes <https://bugs.gnu.org/42252>.
Reported by Christopher Lemmer Webber <cwebber@dustycloud.org>.
This reverts commit 5379392731b52eef22b4936637eb592b93e04318.
| Marius Bakke |
2020-06-09 | system: vm: Add missing imported module....* gnu/system/vm.scm (qemu-image): Import missing (gnu build hurd-boot) module.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Royce Strange |
2020-06-08 | hurd-boot: Further cleanup of "rc"....* gnu/packages/hurd.scm (hurd-rc-script): Move implementation to ...
* gnu/build/hurd-boot.scm (boot-hurd-system): ...here, new file.
* gnu/build/linux-boot.scm (make-hurd-device-nodes): Move there likewise.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
| Jan (janneke) Nieuwenhuizen |
2020-06-06 | vm: Shared-store script runs the native QEMU and Bash....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Use #+ for
QEMU and BASH.
| Ludovic Courtès |
2020-06-06 | vm: <virtual-machine> compiler honors system and target....* gnu/system/vm.scm (system-qemu-image/shared-store): Add #:system
and #:target. Pass it down.
(system-qemu-image/shared-store-script): Likewise.
(virtual-machine-compiler): Likewise.
| Ludovic Courtès |
2020-06-06 | vm: 'qemu-image' preserves the cross-compilation target of the OS....* gnu/system/vm.scm (qemu-image)[preserve-target, inputs*]: New variables.
In gexp, use INPUTS* instead of INPUTS. Wrap OS and BOOTCFG-DRV in
'preserve-target'. Pass INPUTS* instead of INPUTS as the #:references-graphs.
| Ludovic Courtès |
2020-06-06 | vm: 'qemu-image' uses the native partitioning tools and bootloader....* gnu/system/vm.scm (qemu-image): Use #+ for Parted, the bootloader, etc.
| Ludovic Courtès |
2020-06-06 | vm: 'expression->derivation-in-linux-vm' always returns a native build....* gnu/system/vm.scm (expression->derivation-in-linux-vm): Remove #:target.
[builder]: Use #+. Don't pass #:target-arm32? and #:target-aarch64? to
'load-in-linux-vm'.
Pass #:target #f to 'gexp->derivation'.
(qemu-image): Adjust accordingly.
* gnu/build/vm.scm (load-in-linux-vm): Remove #:target-aarch64?
and #:target-arm32?. Define them as local variables.
| Ludovic Courtès |
2020-05-16 | vm: Use 'let-system'....* gnu/system/vm.scm (expression->derivation-in-linux-vm)[check]: New macro.
[builder]: Use 'let-system' and 'check' instead of referencing
'%current-system' and '%current-target-system'.
| Ludovic Courtès |
2020-05-08 | Merge branch 'core-updates' | Marius Bakke |
2020-05-07 | guix system: 'docker-image' honors '--network'....* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and
pass it to 'containerized-operating-system'.
(qemu-image):
* guix/scripts/system.scm (system-derivation-for-action): Pass
#:shared-network? to 'system-docker-image'.
* doc/guix.texi (Invoking guix system): Document it.
| Ludovic Courtès |
2020-05-05 | Merge branch 'master' into core-updates | Marius Bakke |
2020-05-05 | vm: Remove obsolete procedures....* gnu/build/vm.scm (install-efi, make-iso9660-image): Remove those procedures
that are now implemented in (gnu build image) module,
(initialize-hard-disk): remove efi support.
* gnu/system/vm.scm (iso9660-image): Remove it,
(qemu-image): adapt it to remove ISO9660 support.
| Mathieu Othacehe |