Age | Commit message (Expand) | Author |
2018-01-15 | linux-container: Work around EBADF errors upon exit....Typically 'read-pid-file/container' would fail when starting services in
containers such as BitlBee.
* gnu/build/linux-container.scm (call-with-clean-exit): Use
'primitive-_exit' instead of 'primitive-exit'.
(container-excursion*): Close OUT.
| Ludovic Courtès |
2018-01-08 | linux-boot: Add #:on-error for initrd error handling....Suggested by Danny Milosavljevic <dannym@scratchpost.org>
in <https://bugs.gnu.org/29922>.
* gnu/build/linux-boot.scm (boot-system): Add #:on-error parameter and
pass it to 'call-with-error-handling'.
* gnu/system/linux-initrd.scm (raw-initrd): Add #:on-error and pass it.
(base-initrd): Likewise.
| Ludovic Courtès |
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-16 | linux-boot: Add make-static-device-nodes....* gnu/build/linux-boot.scm (make-static-device-nodes): New variable.
(<device-node>): New variable.
(read-static-device-nodes): New variable.
(report-system-error): New variable.
(catch-system-error): New variable.
(create-device-node): New variable.
(mkdir-p*): New variable.
Co-Authored-By: Ludovic Courtès <ludo@gnu.org>
| Danny Milosavljevic |
2017-12-15 | bootloader: Factorize write-file-on-device....* gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader
writing in a new procedure write-file-on-device defined in (gnu build
bootloader).
* gnu/build/bootloader.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add new file.
* gnu/system/vm.scm (qemu-img): Adapt to import and use (gnu build bootloader)
module during derivation building.
* gnu/scripts/system.scm (bootloader-installer-derivation): Ditto.
| Mathieu Othacehe |
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-12-02 | linux-boot: Remove unneeded import....* gnu/build/linux-boot.scm: Remove unnecessary autoload of (system base
compile).
| Ludovic Courtès |
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-11-29 | linux-boot: Ensure /etc exists on the root file system....Fixes a regression introduced in
c8289690365887ca1dd122645e479a89cf7cd969 whereby /etc would no longer be
created as a result of calling 'mark-as-not-killable'.
This would affect ISO images because 'make-iso9660-image' does not
create /etc by default. In particular, the ISO installation image as
created by the "iso-image-installer" test would fail to boot while
creating the /root/etc/mtab symlink:
<https://hydra.gnu.org/build/2352514/nixlog/9/raw>.
* gnu/build/linux-boot.scm (mount-root-file-system): Make sure /root/etc
exists.
| Ludovic Courtès |
2017-11-22 | shepherd: Include /etc/group in service containers....* gnu/build/shepherd.scm (default-mounts)[passwd]: Rename to...
[accounts]: ... this. Add /etc/group.
| Ludovic Courtès |
2017-11-08 | build: Use overlayfs instead of unionfs....Overlayfs is part of the kernel, while unionfs needs FUSE. This also reduces
the size of the initrd by ca. 4.3% (487K).
* gnu/build/linux-boot.scm (mount-root-file-system): Remove optional parameter
"unionfs"; mount using overlayfs instead of unionfs; new directory layout
requied by overlayfs; update documentation.
[mark-as-not-killable]: Remove now unused function
* gnu/system/linux-initrd.scm (file-system-packages): Remove now unused
packages "unionfs-fuse/static" and thus unused related 'if'.
(linux-modules): Replace "fuse" by "overlay".
| Hartmut Goebel |
2017-10-11 | file-systems: Add support for FAT16....* gnu/build/file-systems.scm (check-fat32-file-system): Rename to...
(check-fat-file-system): ... this.
(check-file-system): Adjust accordingly.
(fat16-superblock?, read-fat16-superblock)
(fat16-superblock-uuid, fat16-superblock-volume-name): New procedures.
(%partition-label-readers, %partition-uuid-readers): Add FAT16.
| Ludovic Courtès |
2017-10-11 | file-systems: Preserve UUID types when serializing....Reported by Roel Janssen <roel@gnu.org>
at <https://lists.gnu.org/archive/html/help-guix/2017-09/msg00094.html>.
* gnu/system/file-systems.scm (file-system->spec): When DEVICE is a
UUID, serialize it in a way that preserves its type.
(spec->file-system): Adjust accordingly.
* gnu/build/file-systems.scm (canonicalize-device-spec): Add case for
when SPEC is 'uuid?'.
| Ludovic Courtès |
2017-10-11 | file-systems: 'mount-file-system' now takes a <file-system> object....* gnu/build/file-systems.scm (mount-file-system): Rename 'spec' to 'fs'
and assume it's a <file-system>.
* gnu/build/linux-boot.scm (boot-system): Assume MOUNTS is a list of
<file-system> and adjust accordingly.
* gnu/build/linux-container.scm (mount-file-systems): Remove
'file-system->spec' call.
* gnu/services/base.scm (file-system-shepherd-service): Add
'spec->file-system' call. Add (gnu system file-systems) to 'modules'.
* gnu/system/linux-initrd.scm (raw-initrd): Use (gnu system
file-systems). Add 'spec->file-system' call for #:mounts.
| Ludovic Courtès |
2017-10-08 | activation: Do not create setuid binaries in the store [security fix]....Fixes <https://bugs.gnu.org/28751>.
* gnu/build/activation.scm (activate-setuid-programs)[link-or-copy]: Remove.
Use 'copy-file' instead.
| Ludovic Courtès |
2017-10-05 | uuid: Add 'uuid=?' and use it....* gnu/system/uuid.scm (uuid=?): New procedure.
* tests/uuid.scm ("uuid=?"): New test.
* gnu/build/file-systems.scm (partition-uuid-predicate)
(luks-partition-uuid-predicate): Use it instead of 'bytevector=?'.
| 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 | file-systems: Add UUID type dictionaries....* gnu/build/file-systems.scm (uuid->string): Rename to...
(dce-uuid->string): ... this.
(string->uuid): Rename to...
(string->dce-uuid): ... this.
(vhashq): New macro.
(%uuid-parsers, %uuid-printers): New variables.
(uuid->string, string->uuid): New procedures.
| 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-08 | marionette: 'wait-for-file' can be passed a read procedure....* gnu/build/marionette.scm (wait-for-file): Add #:read parameter and
honor it.
* gnu/tests/base.scm (run-basic-test)["login on tty1"]: Use
'wait-for-file' instead of inline code.
| Ludovic Courtès |
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-08-28 | marionette: Augment the set of keystrokes....* gnu/build/marionette.scm (%qwerty-us-keystrokes): Add ', ", and `.
| Ludovic Courtès |
2017-08-28 | marionette: Fix typing of capital letters....Previously we'd use "sendkey P" instead of "sendkey shift-p", which had
no effect.
* gnu/build/marionette.scm (character->keystroke): New procedure.
(string->keystroke-commands): Use it.
| Ludovic Courtès |
2017-08-28 | marionette: 'wait-for-file' really raises an error when a file is missing....* gnu/build/marionette.scm (wait-for-file): Arrange to call 'error' on
the host, not in the guest.
| Ludovic Courtès |
2017-08-05 | build: Allow mounting of entire disks....* gnu/build/file-systems.scm (disk-partitions): Also return entire drives.
| Danny Milosavljevic |
2017-08-03 | activation: Make sure /etc exists....Fixes <http://bugs.gnu.org/27146>.
Reported by ng0 <ng0@pragmatique.xyz>.
* gnu/build/activation.scm (activate-etc): Add call to 'mkdir-p'.
| Ludovic Courtès |
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-07-02 | gnu: Switch guile-cairo and dependents to Guile 2.2 again....Fixes <https://bugs.gnu.org/27551>.
Reported by Leo Famulari <leo@famulari.name>.
This reinstates the following commits:
e3ddb1e83 * gnu: guile-cairo: Switch to Guile 2.2.
ae5c6ef39 * gnu: guile-gnome: Update to 2.16.5.
0fd8013fc * gnu: guile-rsvg: Update to commit 05c6a2fd.
66b9183c4 * gnu: guile-lib: Switch to Guile 2.2.
and adds the following changes:
* gnu/bootloader/grub.scm (svg->png): Add 'package->derivation' call for
GUILE-2.2. Pass #:guile-for-build to 'gexp->derivation'.
* gnu/build/svg.scm (svg->png): Add 'em' and 'ex' to the 'let-values'
form to account for all the values returned by
'rsvg-handle-get-dimensions', which Guile 2.2 does not truncate.
| Ludovic Courtès |
2017-07-02 | file-systems: iso9660-uuid->string: Use "-" as separator in the result....* gnu/build/file-systems.scm (iso9660-uuid->string): Use "-" as separator
in the result.
| 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 |
2017-06-30 | vm: Fix 'load-in-linux-vm' docstring....* gnu/build/vm.scm (load-in-linux-vm): Change default value of
#:disk-image-size. Update docstring to note that DISK-IMAGE-SIZE is
in bytes.
| Ludovic Courtès |
2017-06-12 | marionette: Factorize 'wait-for-file'....* gnu/build/marionette.scm (wait-for-file): New procedure.
* gnu/tests/base.scm (run-mcron-test)[test](wait-for-file): Remove.
Pass second argument in 'wait-for-file' calls.
* gnu/tests/ssh.scm (run-ssh-test)[test](wait-for-file): Remove.
Pass second argument in 'wait-for-file' calls.
* gnu/tests/messaging.scm (run-xmpp-test)[test](guest-wait-for-file):
Remove.
Use 'wait-for-file' instead, with second argument.
| Ludovic Courtès |
2017-06-11 | file-systems: Handle EIO error in 'ENOENT-safe' as well....Trying to boot GuixSD when an audio CD is in the drive will die with an
"input/output error" when trying to read the superblock from the cd
drive.
This patch catches and warns in this case rather than dying.
* gnu/build/file-systems.scm (ENOENT-safe): Handle EIO.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Adam Van Ymeren |
2017-06-10 | file-systems: Provide string->ext*-uuid, string->btrfs-uuid....* gnu/build/file-systems.scm (string->ext2-uuid, string->ext3-uuid,
string->ext4-uuid, string->btrfs-uuid): New variables. Export them.
| Danny Milosavljevic |
2017-06-09 | file-systems: Provide string->iso9660-uuid....* gnu/build/file-systems.scm (string->iso9660-uuid): New variable. Export it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Danny Milosavljevic |
2017-06-07 | file-systems: Use creation time if modification time is unset for ISO9660....* gnu/build/file-systems.scm (iso9660-superblock-uuid): Modify.
| Danny Milosavljevic |