Age | Commit message (Expand) | Author |
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 |
2020-05-05 | build: bootloader: Add install-efi procedure....* gnu/build/bootloader.scm (install-efi): New procedure copied from (gnu build vm).
(install-efi-loader): New exported procedure, wrapping install-efi.
* gnu/build/vm.scm (initialize-hard-disk): Adapt to use install-efi-loader.
| Mathieu Othacehe |
2020-04-11 | vm: Make the device node procedure a parameter....* gnu/build/vm.scm (root-partition-initializer): Add #:make-device-nodes
parameter and use it.
* gnu/system/vm.scm (qemu-image): Add #:device-node parameter. Pass
#:make-device-nodes to 'root-partition-initializer'.
| Ludovic Courtès |
2020-04-11 | linux-boot: 'make-essential-device-nodes' root parameter is optional....* gnu/build/linux-boot.scm (make-essential-device-nodes): Change 'root'
to an optional parameter.
* gnu/build/vm.scm (root-partition-initializer): Adjust accordingly.
| Ludovic Courtès |
2020-04-11 | vm: Preserve file permissions on /dev....Previously, when REGISTER-CLOSURES? was false, we'd set all the files
under /dev to #o644, including /dev/null, /dev/zero, etc.
* gnu/build/vm.scm (root-partition-initializer): Call 'reset-timestamps'
separately for /dev, with #:preserve-permissions? #t.
| Ludovic Courtès |
2020-04-11 | vm: 'qemu-image' can pass options to the 'mkfs' command....* gnu/build/vm.scm (<partition>)[file-system-options]: New field.
(create-ext-file-system, create-fat-file-system)
(format-partition): Add #:options and honor it.
(initialize-partition): Pass #:options to 'format-partition'.
* gnu/system/vm.scm (qemu-image): Add #:file-system-options and use it
for the root partition.
| Ludovic Courtès |
2020-04-11 | vm: 'qemu-image' accepts a list of extra populate directives....* gnu/build/vm.scm (root-partition-initializer): Add #:extra-directives
parameter and pass it to 'populate-root-file-system'.
* gnu/system/vm.scm (qemu-image): Add #:extra-directives parameter and
pass it to 'root-partition-initializer'.
| Ludovic Courtès |
2020-04-10 | vm: Transparently compress iso9660 images....* gnu/build/vm.scm (make-iso9660-image): Use the ‘--zisofs’ xorriso
filter at the highest compression settings for supported directories.
| Tobias Geerinckx-Rice |
2020-03-26 | vm: Distinguish between success and failure of the guest code....Fixes <https://bugs.gnu.org/34276>.
Reported by Tobias Geerinckx-Rice <me@tobias.gr>.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[loader]:
Produce '/xchg/.exit-status' file upon success.
* gnu/build/vm.scm (load-in-linux-vm): Check for 'xchg/.exit-status'
once QEMU has completed and respond accordingly.
| Ludovic Courtès |
2019-12-18 | gnu: Remove uses of deprecated Qemu network configuration....* gnu/build/vm.scm (load-in-linux-vm): Move Qemu network configuration from
ARCH-SPECIFIC-FLAGS to the Qemu command line. Use the "-nic" option of Qemu
instead of "-device" and "-net".
* gnu/system/vm.scm (common-qemu-options): Do not add a '-net' command.
(virtual-machine-compiler): Use "-nic user,..." instead of "-net".
* doc/guix.texi (Installing Guix in a VM, Invoking guix system, Running Guix
in a VM): Do the same for examples.
| Marius Bakke |
2019-12-01 | build: vm: Fix qemu-command procedure....* gnu/build/vm.scm (qemu-command): When system is "armhf-linux", use "arm" as
qemu cpu prefix.
| Mathieu Othacehe |
2019-11-22 | system: vm: Add arm64 support....* gnu/build/vm.scm (load-in-linux-vm): Add target-arm64? argument and use it
to pass correct arguments to qemu.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass the new
target-arm64? argument added above. Do not add ESP partition on all ARM
targets. Do not pass grub-efi package to initialize-hard-disk on ARM targets.
| Mathieu Othacehe |
2019-11-22 | build: vm: Fix arm32 support....* gnu/build/vm.scm (load-in-linux-vm): Disable qemu highmem support on ARM32
systems.
| Mathieu Othacehe |
2019-05-18 | vm: Create installation media with MBR and HFS only, no GPT....* gnu/build/vm.scm (make-iso9660-image): Accept XORRISO,
GRUB-MKRESCUE-ENVIRONMENT.
* gnu/system/vm.scm (iso9660-image): Pass XORRISO; accept
GRUB-MKRESCUE-ENVIRONMENT.
(system-disk-image): Pass GRUB-MKRESCUE-ENVIRONMENT.
* gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch: New file.
* gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/cdrom.scm (xorriso)[source]: Add patches.
[arguments]<#:phases>[install-frontends]:
Add phase.
| Danny Milosavljevic |
2019-04-29 | vm: Pass -smp to QEMU to allow use of multiple cores....* gnu/build/vm.scm (load-in-linux-vm): Pass (parallel-job-count) to QEMU with
-smp to allow using multiple cores.
| Christopher Baines |
2019-04-25 | vm: Adjust FAT serial number code to 32-bit Guile....On 32-bit systems, 'string-hash' would raise an out-of-range exception
when the second argument was 2^32.
* gnu/build/vm.scm (make-iso9660-image): Pass 2^32 - 1 to 'string-hash'.
| Ludovic Courtès |
2019-04-21 | vm: Use a fixed FAT serial number for 'efi.img' in ISO images....Partly fixes <https://bugs.gnu.org/35283>.
* gnu/build/vm.scm (make-iso9660-image): Set the
'GRUB_FAT_SERIAL_NUMBER' environment variable.
| Ludovic Courtès |
2019-04-21 | vm: Reset file timestamps of the EFI image in ISO images....Partly fixes <https://bugs.gnu.org/35283>.
* gnu/build/vm.scm (make-iso9660-image): Set the 'SOURCE_DATE_EPOCH'
environment variable.
| Ludovic Courtès |
2019-04-21 | vm: Reset file timestamps in ISO images....Partly fixes <https://bugs.gnu.org/35283>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* gnu/build/vm.scm (make-iso9660-image): Pass "-volume_date
all_file_dates =1".
| Ludovic Courtès |
2019-04-14 | vm: Remove Xorriso "-padding" option....This is a followup to 66ec389580d4f1e4b81e1c72afe2749a547a0e7c.
This reverts 178be030c0e4fdeac5e1c968b5c99d84bb4691db, which is no
longer needed.
* gnu/build/vm.scm (make-iso9660-image): Remove "-padding" option.
| Ludovic Courtès |
2019-03-13 | Remove traces of "GuixSD"....* gnu/bootloader/extlinux.scm (extlinux-configuration-file): Remove
mentions of "GuixSD".
* gnu/bootloader/grub.scm (install-grub-efi): Likewise.
* gnu/build/vm.scm (make-iso9660-image): Change default #:volume-id to
"Guix_image".
(initialize-hard-disk): Search for the "Guix_image" label.
* gnu/ci.scm (system-test-jobs, tarball-jobs): Remove "GuixSD".
* gnu/installer/newt/welcome.scm (run-welcome-page): Likewise.
* gnu/packages/audio.scm (supercollider)[description]: Likewise.
* gnu/packages/curl.scm (curl): Likewise.
* gnu/packages/emacs.scm (emacs): Likewise.
* gnu/packages/gnome.scm (network-manager): Likewise.
* gnu/packages/julia.scm (julia): Likewise.
* gnu/packages/linux.scm (alsa-plugins): Likewise.
(powertop, wireless-regdb): Likewise.
* gnu/packages/package-management.scm (guix): Likewise.
* gnu/packages/polkit.scm (polkit): Likewise.
* gnu/packages/tex.scm (texlive-bin): Likewise.
* gnu/services/base.scm (file-systems->fstab): Likewise.
* gnu/services/cups.scm (%cups-activation): Likewise.
* gnu/services/mail.scm (%dovecot-activation): Likewise.
* gnu/services/messaging.scm (prosody-configuration)[log]: Likewise.
* gnu/system/examples/vm-image.tmpl (vm-image-motd): Likewise.
* gnu/system/install.scm (installation-os)[file-systems]: Change root
file system label to "Guix_image".
* gnu/system/mapped-devices.scm (check-device-initrd-modules):
Remove "GuixSD".
* gnu/system/vm.scm (system-docker-image): Likewise.
(system-disk-image)[root-label]: Change to "Guix_image".
* gnu/tests/install.scm (run-install): Remove "GuixSD".
* guix/modules.scm (guix-module-name?): Likewise.
* nix/libstore/optimise-store.cc: Likewise.
| Ludovic Courtès |
2018-12-19 | vm: Re-enable KVM on i386....The workaround is apparently no longer needed with Linux-libre 4.19.2
in the host.
* gnu/build/vm.scm (load-in-linux-vm): Remove special case for
"qemu-system-i386", thereby re-enabling KVM.
| Ludovic Courtès |
2018-12-06 | vm: Add padding in the ISO image....Fixes <https://bugs.gnu.org/33639>.
Thanks to Ricardo Wurmus and Thomas Schmitt for their suggestions!
* gnu/build/vm.scm (make-iso9660-image): Pass "-padding 10m" to
xorriso.
| Ludovic Courtès |
2018-11-06 | pack: Import (guix store database) only when '--localstatedir' is passed....This is another way to address <https://bugs.gnu.org/32184>, which was
previously addressed in commit 19c924af4f3726688ca155a905ebf1cb9acdfca2.
* gnu/build/install.scm (register-closure): Move to...
* gnu/build/vm.scm (register-closure): ... here. New procedure.
* guix/scripts/pack.scm (self-contained-tarball)[build]: Remove
now unneeded 'with-extensions' form and custom (guix config) module.
* tests/guix-pack.sh: Revert the strategy from
commit 19c924af4f3726688ca155a905ebf1cb9acdfca2.
* tests/pack.scm ("self-contained-tarball"): Likewise.
| Ludovic Courtès |
2018-07-04 | vm: Disable KVM on i386....* gnu/build/vm.scm (load-in-linux-vm): Disable KVM on i386.
| Ludovic Courtès |
2018-06-26 | vm: 'make-iso9660-image' makes 'grub.cfg' a GC root....* gnu/build/vm.scm (make-iso9660-image): Add call to
'register-bootcfg-root'.
| Ludovic Courtès |
2018-06-26 | vm: 'make-iso9660-image' no longer includes unreferenced store items....Fixes <https://bugs.gnu.org/31757>.
* gnu/build/vm.scm (make-iso9660-image): Invoke 'grub-mkrescue' in
'open-pipe*'. Use '-path-list -' instead of passing "gnu/store=…".
| Ludovic Courtès |
2018-06-26 | vm: Don't try to modify the bind-mounted store....Previously 'guix system disk-image --file-system-type=iso9660' would
fail because 'register-closure' would try to reset timestamps/ownership
on the bind-mounted store, which fails with EPERM.
* gnu/build/vm.scm (make-iso9660-image): Pass #:reset-timestamps? to
'register-closure'.
| Ludovic Courtès |
2018-06-14 | Remove 'guix-register' and its traces....* Makefile.am (SH_TESTS): Remove tests/guix-register.sh.
* build-aux/pre-inst-env.in (GUIX_REGISTER): Remove.
* gnu/build/install.scm (directives): Remove outdated comment.
* gnu/build/vm.scm (root-partition-initializer): Update comment.
* gnu/packages/package-management.scm (guix-register): Remove.
* guix/config.scm.in (%sbindir, %guix-register-program): Remove.
* guix/scripts/system.scm (install): Adjust docstring.
* guix/self.scm (make-config.scm): Remove #:guix. Do not generate
%sbindir and %guix-register-program.
(specification->package): Remove "guix".
* nix/guix-register/guix-register.cc: Remove.
* nix/libstore/store-api.cc (decodeValidPathInfo): Remove.
* nix/libstore/store-api.hh (decodeValidPathInfo): Remove declaration.
* nix/local.mk (sbin_PROGRAMS, guix_register_SOURCES)
(guix_register_CPPFLAGS, guix_register_LDFLAGS): Remove.
* tests/guix-register.sh: Remove.
| Ludovic Courtès |
2018-06-14 | install: Use 'reset-timestamps' from (guix store database)....* gnu/build/install.scm (reset-timestamps): Remove.
* gnu/build/vm.scm: Use 'reset-timestamps' from (guix store database).
| Ludovic Courtès |
2018-06-14 | install: Use (guix store database) instead of 'guix-register'....* gnu/build/install.scm (register-closure): Add #:reset-timestamps? and
and #:schema; honor them. Rewrite in terms of 'register-path'.
(populate-single-profile-directory): Add #:schema and honor it. Make
/var/guix/profiles and /var/guix/gcroots.
* gnu/build/vm.scm (root-partition-initializer): Pass
#:reset-timestamps? to 'register-closure'.
* gnu/system/vm.scm (not-config?): New procedure.
(guile-sqlite3&co): New variable.
(expression->derivation-in-linux-vm)[config]: New variable.
[builder]: Use 'with-extensions'.
(iso9660-image)[schema, config]: New variables.
Wrap build expression in 'with-extensions'; add 'sql-schema' call.
Remove GUIX from INPUTS.
(qemu-image)[schema, config]: New variables.
Wrap body in 'with-extensions'.
(system-docker-image)[not-config?]: Remove.
[config]: Use 'make-config.scm'.
[schema]: New variable.
[build]: Use 'with-extensions'. Add call to 'sql-schema'. Remove GUIX
from INPUTS.
* gnu/system/file-systems.scm (%store-prefix): Check whether
'%store-prefix' is defined.
* guix/scripts/pack.scm (self-contained-tarball)[not-config?]
[libgcrypt, schema]: New variables.
[build]: Wrap in 'with-extensions'. Adjust imported module list to use
'make-config.scm' for (guix config).
| Ludovic Courtès |
2018-05-25 | vm: Pass "panic=1" to Linux....* gnu/build/vm.scm (load-in-linux-vm): Always pass "panic=1" after '-append'.
| Ludovic Courtès |
2018-05-23 | vm: Print the label and UUID of partitions....* gnu/build/vm.scm (create-ext-file-system): Print the label and UUID.
| Ludovic Courtès |
2018-03-24 | gnu: When building in a VM, share a temporary directory....* gnu/build/vm.scm (load-in-linux-vm): Make a shared temporary directory
available in the VM.
* gnu/system/vm.scm (%linux-vm-file-systems): Add a corresponding entry.
| Chris Marusich |
2018-03-24 | vm: Allow control of deduplication in root-partition-initializer....* gnu/build/vm.scm (root-partition-initializer): Add #:deduplicate?
keyword argument.
| Chris Marusich |
2018-03-16 | vm: Pass "-append ..." only once....* gnu/build/vm.scm (load-in-linux-vm): Pass "-append ..." only once.
| Danny Milosavljevic |
2018-03-15 | vm: Use 'invoke' instead of 'system*'....* gnu/build/vm.scm (load-in-linux-vm, initialize-partition-table)
(create-ext-file-system, create-fat-file-system)
(install-efi, make-iso9660-image): Use 'invoke' instead
of (unless (zero? (system* ...)) (error ...)).
| Ludovic Courtès |
2018-01-19 | gnu: Consistently Write ‘file system(s)’....It is the GNU way.
* doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’.
* gnu/build/vm.scm (create-ext-file-system, create-fat-file-system):
Likewise.
* gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise.
* gnu/packages/check.scm (python-testpath)[description]: Likewise.
* gnu/packages/disk.scm (pydf)[description]: Likewise.
* gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise.
(glusterfs)[description]: Likewise.
* gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap)
(ghc-system-fileio)[synopsis]: Likewise.
(ghc-fsnotify)[description]: Likewise.
* gnu/packages/linux.scm (proot)[description]: Likewise.
(jmtpfs)[synopsis, description]: Likewise.
* gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise.
* gnu/packages/storage.scm (ceph)[description]: Likewise.
* gnu/packages/sync.scm (lsyncd)[description]: Likewise.
* gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise.
(go-github-com-zillode-notify)[description]: Likewise.
* gnu/services/nfs.scm (pipefs-service-type): Likewise.
* guix/scripts/system.scm (perform-action): Likewise.
| Tobias Geerinckx-Rice |
2017-12-18 | vm: Pass the host's /dev/urandom to the guest at /dev/hwrng....* gnu/build/vm.scm (load-in-linux-vm): Use QEMU's virtio-rng-pci.
* gnu/system/vm.scm (common-qemu-options): Likewise.
| Leo Famulari |
2017-12-15 | vm: Adapt qemu command to ARM....* gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32.
Use it to adapt command for qemu-system-arm. This implies to choose a
machine ("virt"), use the correct console port "ttyAMA0", disable KVM use
that is buggy on some ARM boards (Odroid XU4 for example) and use user mode
network stack instead of NIC. Gather all those options in a new variable
"arch-specific-flags".
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
to load-in-linux-vm "#:target-arm32?" argument.
| Mathieu Othacehe |
2017-12-13 | vm: Use qemu drive device parameter....* gnu/build/vm.scm (load-in-linux-vm): Use device parameter to define drive
device.
| Mathieu Othacehe |
2017-11-29 | vm: ISO9660 images include /etc and other standard files....* gnu/build/vm.scm (make-iso9660-image): Call
'populate-root-file-system' instead of a series of 'mkdir-p' calls. Add
/etc to the arguments of xorriso.
| Ludovic Courtès |
2017-09-22 | build: Do not store two copies of the ISO-9660 superblock anymore....* gnu/build/vm.scm (make-iso9660-image): Do not store two copies of the
ISO-9660 superblock anymore.
| Danny Milosavljevic |
2017-09-11 | file-systems: Introduce (gnu system uuid)....* gnu/build/file-systems.scm (sub-bytevector)
(latin1->string, %fat32-endianness, fat32-uuid->string)
(%iso9660-uuid-rx, string->iso9660-uuid)
(iso9660-uuid->string, %network-byte-order)
(dce-uuid->string, %uuid-rx, string->dce-uuid)
(string->ext2-uuid, string->ext3-uuid, string->ext4-uuid)
(vhashq, %uuid-parsers, %uuid-printers, string->uuid)
(uuid->string): Move to...
* gnu/system/uuid.scm: ... here. New file.
* gnu/system/file-systems.scm (uuid): Move to the above file.
* gnu/system/vm.scm: Adjust accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add uuid.scm.
| Ludovic Courtès |
2017-09-11 | vm: Allow partitions to be initialized with a given UUID....* gnu/build/vm.scm (<partition>)[uuid]: New field.
(create-ext-file-system): Add #:uuid and honor it.
(create-fat-file-system): Add #:uuid.
(format-partition): Add #:uuid and honor it.
(initialize-partition): Honor the 'uuid' field of PARTITION.
| Ludovic Courtès |
2017-09-10 | vm: Add comment about deduplication in make-iso9660-image....* gnu/build/vm.scm (make-iso9660-image): Add comment about the use of
#:deduplicate #f when calling register-closure.
| Christopher Baines |
2017-09-06 | vm: Create /mnt in the generated ISO image in make-iso9660-image....This is used in the installation process, as the mountpoint for the target
filesystem.
* gnu/build/vm.scm (make-iso9660-image): Create /mnt within the generated ISO
image.
| Christopher Baines |
2017-09-06 | vm: Add support for registering closures to make-iso9660-image....This mimics the functionality in the root-partition-initializer used in
creating the QEMU image. This helps when trying to run guix system init from
the generated ISO image.
* gnu/build/vm.scm (make-iso9660-image): Add support for registering closures.
| Christopher Baines |
2017-07-18 | vm: 'iso9660-image' produces a single-file output....* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
#:single-file-output? and pass it to 'load-in-linux-vm'.
(iso9660-image): Pass #:single-file-output? to
'expression->derivation-in-linux-vm'.
* gnu/build/vm.scm (load-in-linux-vm): Add #:single-file-output? and
honor it.
| Ludovic Courtès |