Age | Commit message (Expand) | Author |
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-17 | gnu: system: vm: Use loose cache for 9p file system....This improves the performance of the shared store for operations involving
lots of files, e.g. searching through the store.
* gnu/system/vm.scm (mapping->file-system): Add cache=loose to options.
| Christopher Baines |
2017-12-15 | system: Add BeagleBone Black installer....* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported
bootloader.
* gnu/system/install.scm (beaglebone-black-installation-os): New exported variable.
| Mathieu Othacehe |
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-08 | gnu: guile: Move Readline support to a separate 'guile-readline' package....This reduces the closure of Guile from 131 MiB to 116 MiB and removes
extra readline/ncurses builds from the bootstrap path.
* gnu/packages/guile.scm (guile-2.0)[inputs]: Remove READLINE.
(make-guile-readline): New procedure.
(guile-readline): New variable.
* gnu/system/shadow.scm (default-skeletons): Adjust '.guile' so that it
gracefully deals with missing (ice-9 readline).
| Ludovic Courtès |
2017-12-07 | Merge branch 'version-0.14.0' | Ludovic Courtès |
2017-12-06 | gnu, doc, tests: Use ‘bootloader-configuration’ everywhere....* doc/guix.texi (Proceeding with the Installation): Replace the old-style
‘grub-configuration’ with the newer ‘bootloader-configuration’ syntax.
* gnu/system/examples/vm-image.tmpl: Likewise.
* gnu/system/install.scm (installation-os): Likewise.
* gnu/tests.scm (%simple-os): Likewise.
* gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda, %separate-home-os)
(%separate-store-os, %raid-root-os, %encrypted-root-os, %btrfs-root-os):
Likewise.
* gnu/tests/nfs.scm (%base-os): Likewise.
* tests/guix-system.scm (OS_BASE, make_user_config): Likewise.
* tests/system.scm (%os, %os-with-mapped-device): Likewise.
| Tobias Geerinckx-Rice |
2017-12-04 | install: Don't start sshd by default....Reported by Christopher Baines <mail@cbaines.net>
at <https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00058.html>.
* gnu/services/ssh.scm (<openssh-configuration>)[%auto-start?]: New
field.
(openssh-shepherd-service): Honor it.
* gnu/system/install.scm (%installation-services): Set '%auto-start?' to
#f for openssh-service-type.
| Ludovic Courtès |
2017-12-04 | bootloader: extlinux: Stop using dd binary....* gnu/bootloader/extlinux.scm (dd): Remove it,
(install-extlinux): replace dd call by Guile I/O procedures.
* gnu/system/vm.scm (qemu-image): Add (ice-9 binary-ports) to used-modules
list to provide "get-bytevector-n" and "put-bytevector".
* guix/scripts/system.scm (bootloader-installer-derivation): Ditto.
| Mathieu Othacehe |
2017-12-03 | install: Add colors in 'motd' and 'issue'....* gnu/system/install.scm (%installation-services)[motd]: Add colors.
[services]: Use the "lat9u-16" font.
(%issue): Add colors.
| Ludovic Courtès |
2017-12-03 | install: Add the prerequisites of 'profile-derivation' as GC roots....* gnu/system/install.scm (%installation-services): Add
GLIBC-UTF8-LOCALES, TEXINFO, and GUILE-FINAL as GC roots.
| Ludovic Courtès |
2017-12-02 | uuid: Fix typo in comment....* gnu/system/uuid.scm: Fix typo in comment.
| Ludovic Courtès |
2017-12-02 | system: vm: Fix typo in comment....* gnu/system/vm.scm (qemu-image): Fix typo targetting -> targeting.
| Mathieu Othacehe |
2017-12-01 | system: vm: Do not add EFI partition on ARM system....* gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are targetting
ARM.
UEFI support on u-boot is still experimental, so do not add EFI partition on
ARM for now.
| Mathieu Othacehe |
2017-11-30 | vm: Filter out file systems that refer to UUIDs or labels....* gnu/system/vm.scm (virtualized-operating-system)[user-file-systems]:
Filter out things that refer to file system UUIDs or labels.
| Ludovic Courtès |
2017-11-26 | vm: Use os-defined initrd intead of base-initrd....* gnu/system/vm.scm (system-disk-image, system-qemu-image,
virtualized-operating-system): Replace base-initrd by
(operating-system-initrd os).
The system produced were always using base-initrd even if the user had
defined a custom initrd based on raw-initrd in the os declaration.
| Mathieu Othacehe |
2017-11-11 | install: Fix typo....* gnu/system/install.scm (installation-os): Fix typo in comment.
| Tobias Geerinckx-Rice |
2017-11-08 | install: Use overlayfs instead of unionfs....I dediced to keep adding /tmp as tmpfs since I was not able to trigger bug
while still using unionfs, so I could not verify whether this mount is still
needed with overlayfs. Mapping /tmp to tmpfs does not harm, so we are on the
save side.
* gnu/system/install.scm (make-cow-store): Mount /gnu/store without additional
read-only bind-mount, since in overlayfs the "lower" level is always
read-only. Add work-dir required by overlayfs. No need to sleep anymore
since now using the mount syscall. [unionfs]: Remove now unused function.
(%installation-services): Update comment.
(installation-os)[file-systems]: Update comment.
| Hartmut Goebel |
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-11-06 | system: vm: Use 2^32 - 1 as hash size....* gnu/system/vm.scm (operating-system-uuid): Use 2^32 - 1 instead of
2^32 as hash size.
On some 32 bit system (ARM for example), 2^32 exceeds hash max
size (ULONG_MAX = 2^32 - 1).
| Mathieu Othacehe |
2017-11-01 | system: Return early in skeleton '.bashrc' when the shell is non-interactive....* gnu/system/shadow.scm (default-skeletons)[bashrc]: Add return statement.
| Marius Bakke |
2017-11-01 | system: Test for interactive shell instead of `cat` in skeleton '.bashrc'....* gnu/system/shadow.scm (default-skeletons)[bashrc]: Wrap $SSH_CLIENT test in
a conditional testing for interactive shell.
| Marius Bakke |
2017-10-19 | vm: Always use GRUB/i386....Fixes <https://bugs.gnu.org/28768>.
Reported by Oleg Pykhalov <go.wigust@gmail.com>.
* gnu/system/vm.scm (virtualized-operating-system): Override the
'bootloader' field.
| Ludovic Courtès |
2017-10-11 | doc: Give an example with a FAT UUID....* gnu/system/examples/lightweight-desktop.tmpl <file-systems>: Add a
UUID for the /boot/efi partition.
* doc/guix.texi (Using the Configuration System): Mention it.
| Ludovic Courtès |
2017-10-11 | uuid: Change "fat32" to "fat"....* gnu/system/uuid.scm (%fat32-endianness): Rename to...
(%fat-endianness): ... this.
(fat32-uuid->string): Rename to...
(fat-uuid->string): ... this.
(%fat32-uuid-rx): Rename to..
(%fat-uuid-rx): ... this.
(string->fat32-uuid): Rename to...
(string->fat-uuid): ... this.
(%uuid-parsers, %uuid-printers): 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 | linux-initrd: Ensure that the guile used in the initrd is referenced....By referencing guile from the initrd output explicitly, it will be present in
the store when this initrd is used. If the exact guile used within the initrd
isn't present in the store, then after root is switched during the boot
process, loading modules (such as (ice-9 popen)) won't work.
This fixes guix-patches bug #28399, "Fix mysql activation, and add a basic
test".
* gnu/system/linux-initrd.scm (expression->initrd)[builder]: Write out a file
called references in to the initrd output, which includes the store path for
guile.
| Christopher Baines |
2017-10-05 | file-systems: Add a 'location' field to <file-system>....* gnu/system/file-systems.scm (<file-system>)[location]: New field.
| 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-10-04 | vm: Add disk-image-size to <virtual-machine>....* gnu/system/vm.scm (<virtual-machine>): Add disk-image-size.
(port-forwardings->qemu-options): Use disk-image-size from
<virtual-machine>.
| Christopher Baines |
2017-10-04 | vm: Add a minimum root size....* gnu/system/vm.scm (qemu-image): When guessing the root-size, use a lower
bound of 20 MiB, otherwise the root file system size is sometimes 0 MiB in
size.
| Christopher Baines |
2017-09-22 | uuid: Add a parser for FAT32 UUIDs....* gnu/system/uuid.scm (%fat32-uuid-rx): New variable.
(string->fat32-uuid): New procedure.
(%uuid-parsers): Add it.
* tests/uuid.scm ("uuid, FAT32, format preserved"): New test.
| Ludovic Courtès |
2017-09-22 | services: Move 'session-environment-service-type' to pam.scm....* gnu/services/base.scm (environment-variables->environment-file)
(session-environment-service-type)
(session-environment-service): Move to...
* gnu/system/pam.scm: ... here.
| Ludovic Courtès |
2017-09-12 | doc: Use Screen and OpenSSH in the bare-bones example....* gnu/system/examples/bare-bones.tmpl (packages): Remove TCPDUMP; add
SCREEN and OPENSSH.
* doc/guix.texi (Using the Configuration System): Adjust explanation
accordingly.
| Ludovic Courtès |
2017-09-12 | install: Include the whole bare-bones OS in the image....* gnu/system/install.scm (%installation-services): Load
"example/bare-bones.tmpl". Add a 'gc-root-service-type' instance.
| Ludovic Courtès |
2017-09-11 | vm: Generate a UUID to identify the root file system....This makes collisions less likely than when using a label to look up the
partition. See <https://bugs.gnu.org/27735>.
* gnu/system/vm.scm (operating-system-uuid): New procedure.
(system-disk-image): Define 'root-uuid' and use it for the root file
system. Pass it to 'iso9660-image' and 'qemu-image'.
| Ludovic Courtès |
2017-09-11 | vm: Allow users to specify a UUID for the root partition....* gnu/system/vm.scm (qemu-image): Add #:file-system-uuid parameter; pass
it as the 'uuid' field of the root partition.
| Ludovic Courtès |
2017-09-11 | uuid: 'uuid' macro supports more UUID types....* gnu/system/uuid.scm (string->uuid): Turn 'type' into an optional
argument.
(uuid): Add clauses to allow for an optional 'type' parameter.
| Ludovic Courtès |
2017-09-11 | system: Introduce a disjoint UUID type....Conceptually a UUID is just a bytevector. However, there's software out
there such as GRUB that relies on the string representation of different
UUID types (e.g., the string representation of DCE UUIDs differs from
that of ISO-9660 UUIDs, even if they are actually bytevectors of the
same length). This new <uuid> record type allows us to preserve
information about the type of UUID so we can eventually convert it to a
string using the right representation.
* gnu/system/uuid.scm (<uuid>): New record type.
(bytevector->uuid): New procedure.
(uuid): Return calls to 'make-uuid'.
(uuid->string): Rewrite using 'match-lambda*' to accept a single 'uuid?'
argument.
* gnu/bootloader/grub.scm (grub-root-search): Check for 'uuid?' instead
of 'bytevector?'.
* gnu/system.scm (bootable-kernel-arguments): Check whether ROOT-DEVICE
is 'uuid?'.
(read-boot-parameters): Use 'bytevector->uuid' when the
store device is a bytevector.
(read-boot-parameters-file): Check for 'uuid?' instead of 'bytevector?'.
(device->sexp): New procedure.
(operating-system-boot-parameters-file): Use it for 'root-device' and
'store'.
(operating-system-bootcfg): Remove conditional in definition of
'root-device'.
* gnu/system/file-systems.scm (file-system->spec): Check for 'uuid?' on
DEVICE and take its bytevector.
* gnu/system/mapped-devices.scm (open-luks-device): Likewise.
* gnu/system/vm.scm (iso9660-image): Call 'uuid-bytevector' for the
#:volume-uuid argument.
| Ludovic Courtès |
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-10 | install: Add OpenSSH to the global profile....Suggested by Jan Nieuwenhuizen.
* gnu/system/install.scm (installation-os)[packages]: Add OPENSSH.
| Ludovic Courtès |
2017-09-10 | install: Add 'passwd' to $PATH....Suggested by Jan Nieuwenhuizen.
* gnu/system/install.scm (installation-os)[setuid-programs]: Add 'passwd'.
| Ludovic Courtès |
2017-09-06 | vm: Call iso9660-image with #:register-closures? as #t....* gnu/system/vm.scm (system-disk-image): Call iso9660-image with
#:register-closures? as #t.
| Christopher Baines |
2017-09-06 | vm: Add support for registering closures to iso9660-image....* gnu/system/vm.scm (iso9660-image): Add support for registering closures.
| Christopher Baines |
2017-09-04 | vm: Remove redundant conditional in system-disk-image....* gnu/system/vm.scm (system-disk-image): Remove redundant conditional for
#:file-system-type when calling qemu-image.
| Christopher Baines |
2017-08-23 | gnu: bootloader: Deprecate "device" field in favor of "target"....* gnu/bootloader.scm (<bootloader-configuration>): Deprecate "device" field in
favor of "target" field. This is mostly a renaming but also a generalization
to support UEFI targets being paths to a mounted partition instead of a device
name.
* gnu/system/examples/bare-bones.tmpl:
* gnu/system/examples/desktop.tmpl:
* gnu/system/examples/lightweight-desktop.tmpl:
* gnu/system/examples/vm-image.tmpl:
* gnu/system/install.scm:
* gnu/tests.scm:
* gnu/tests/install.scm:
* gnu/tests/nfs.scm:
* tests/system.scm: Adapt all invocations of bootloader-configuration.
* guix/scripts/system.scm (perform-action): Rename device argument to
bootloader-target.
(process-action): Adapt caller.
* doc/guix.texi (Proceeding with the Installation):
* doc/guix.texi (Bootloader Configuration): Update documentation.
| Andy Wingo |
2017-08-20 | gnu: grub-efi-bootloader: Specialize grub-install invocation....* gnu/bootloader/grub.scm (install-grub-efi): Fix grub-install invocation for
EFI systems.
* gnu/system/examples/bare-bones.tmpl: Use the newer
"bootloader-configuration" syntax.
* gnu/system/examples/desktop.tmpl: Use bootloader-configuration sytax. Also,
use the same label for the LUKS-mapped device and the root partition. Remove
unneeded "title" field for the file-system based on LUKS; as noted in the
manual, the "title" field is ignored for mapped devices.
* gnu/system/examples/lightweight-desktop.tmpl: Use bootloader-configuration,
and use grub-efi-bootloader.
| Andy Wingo |
2017-08-03 | vm: Use grub-hybrid's grub-mkrescue....* gnu/system/vm.scm (system-disk-image): Use grub-hybrid's grub-mkrescue.
* gnu/bootlader/grub.scm (grub-mkrescue-bootloader): New variable.
| Danny Milosavljevic |