Age | Commit message (Expand) | Author |
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 |
2017-07-18 | vm: Increase disk size overhead estimate....* gnu/build/vm.scm (estimated-partition-size): Add 25% to the graph size.
| Tobias Geerinckx-Rice |
2017-07-17 | build, vm: Use a less common label....* gnu/build/vm.scm (initialize-hard-disk): Use "GuixSD_image" as label.
* gnu/system/install.scm (installation-os): Likewise.
* gnu/system/vm.scm (system-disk-image): Likewise.
| Tobias Geerinckx-Rice |
2017-07-12 | build: Make ISO-9660 image bootable from USB flash drive....* gnu/build/vm.scm (make-iso9660-image): Make image bootable from USB flash
drive.
| Danny Milosavljevic |
2017-07-10 | build, vm: Use "GuixSD" or "GUIXSD" as volume label....* gnu/build/vm.scm (initialize-hard-disk): Use "GuixSD" as label.
* gnu/system/install.scm (installation-os): Use "GuixSD" as label.
* gnu/system/vm.scm (system-disk-image): Use "GuixSD" or "GUIXSD" as volume
label.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Danny Milosavljevic |
2017-07-03 | build: Add (gnu build file-systems) import....* gnu/build/vm.scm: Add (gnu build file-systems) import.
| Danny Milosavljevic |
2017-07-03 | build: Clarify error message when make-iso9660-image fails....* gnu/build/vm.scm (make-iso9660-image): Clarify error message.
| Danny Milosavljevic |
2017-07-03 | build: Allow specifying volume-uuid with make-iso9660-image....* gnu/build/file-systems.scm (iso9660-uuid->string): Export.
* gnu/build/vm.scm (make-iso9660-image): Add volume-uuid.
| Danny Milosavljevic |
2017-07-03 | build: Add iso9660 system image generator....* build-aux/hydra/gnu-system.scm (qemu-jobs): Add 'iso9660-image .
* gnu/build/vm.scm (make-iso9660-image): New variable. Export it.
* gnu/system/vm.scm (iso9660-image): New variable. Use make-iso9660-image.
(system-disk-image): Use iso9660-image.
| Danny Milosavljevic |
2017-06-30 | vm: Use 'fold2' from (guix combinators)....* gnu/build/vm.scm: Use (guix combinators).
(fold2): Remove.
| Ludovic Courtès |
2017-06-30 | vm: Estimate the disk size by default....* gnu/build/vm.scm (estimated-partition-size): New procedure.
* gnu/system/vm.scm (expression->derivation-in-linux-vm):
Change #:disk-image-size default to 'guess.
[builder]: When DISK-IMAGE-SIZE is 'guess, use
'estimated-partition-size' and compute and estimate of the image size.
(qemu-image): Likewise.
* guix/build/store-copy.scm (file-size, closure-size): New procedures.
* guix/scripts/system.scm (%default-options): Change 'image-size' to
'guess.
* doc/guix.texi (Building the Installation Image): Remove '--image-size'
flag from example.
(Invoking guix system): Document the image size estimate.
| Ludovic Courtès |
2017-06-30 | vm: Display the disk and partition sizes....* gnu/build/vm.scm (load-in-linux-vm): Add 'format' call when
MAKE-DISK-IMAGE? is true.
(initialize-partition-table): Show the size of the partitions being
created.
| Ludovic Courtès |