Age | Commit message (Expand) | Author |
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 |
2017-07-27 | system: Add 'grep --color' alias in '.bash_profile' skeleton....* gnu/system/shadow.scm (default-skeletons)[profile]: Add 'grep' alias.
| Ludovic Courtès |
2017-07-25 | system: Add a default '.guile' skeleton....* gnu/system/shadow.scm (default-skeletons): Add ".guile".
| Ludovic Courtès |
2017-07-20 | vm: Add a <virtual-machine> type and associated gexp compiler....* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add
#:options parameter and honor it.
(<virtual-machine>): New record type.
(virtual-machine): New macro.
(port-forwardings->qemu-options, virtual-machine-compiler): New
procedures.
| 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-17 | locale: Demonadify the locale creation API....* gnu/system/locale.scm (single-locale-directory): Use 'computed-file'
instead of 'gexp->derivation'.
(locale-directory): Adjust accordingly and do the same.
* gnu/system.scm (operating-system-directory-base-entries): Adjust
accordingly.
| Ludovic Courtès |
2017-07-17 | gnu: Remove glibc@2.21 and its traces....* gnu/packages/base.scm (glibc-2.21): Remove.
* gnu/system/locale.scm (localedef-command)[maybe-version-directory]:
Remove. Replace call with use of 'package-version'.
(single-locale-directory): Remove 'version>=' conditional.
| Ludovic Courtès |
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-15 | gnu: Rename (gnu packages qemu) to (gnu packages virtualization)....* gnu/packages/qemu.scm: Rename this ...
* gnu/packages/virtualization.scm: ... to this.
* gnu/local.mk (GNU_SYSTEM_MODULES),
gnu/packages/bootloaders.scm, gnu/packages/debug.scm,
gnu/packages/gnome.scm, gnu/system/vm.scm,
gnu/tests/install.scm: Adjust accordingly.
| 宋文武 |
2017-07-11 | system: Refer to native packages when appropriate....* gnu/system/locale.scm (localedef-command): Use the native LIBC.
* gnu/system/shadow.scm (default-skeletons): Use the native GUILE-WM.
| Ludovic Courtès |
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-07 | guix system: Add file system label and uuid to iso9660-image....* gnu/system/vm.scm (system-disk-image): Pass root-label to ...
(iso9660-image): ... here. Add keyword arguments #:file-system-label
and #:file-system-uuid.
| Danny Milosavljevic |
2017-07-04 | linux-initrd: Avoid monadic style a bit....* gnu/system/linux-initrd.scm (expression->initrd): Use 'program-file'
for 'init'.
(flat-linux-module-directory): Use 'computed-file' instead of
'gexp->derivation'.
(raw-initrd): Adjust accordingly.
| Ludovic Courtès |
2017-07-04 | install: Drop redundant package after c0f5eee4b2cc737be222c4ba331d0....* gnu/system/install.scm (installation-os): Remove SHADOW.
| Marius Bakke |
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 | linux-initrd: Add isofs if necessary....* gnu/system/linux-initrd.scm (base-initrd): Add isofs.
| Danny Milosavljevic |
2017-07-02 | install: Re-add /bin/sh....Reported by Divan Santana <divan@santanas.co.za>.
/bin/sh had disappeared in commit
387e175492f960d7d86f34f3b2e43938fa72dbf3.
* gnu/system/install.scm (%installation-services): Add
'special-files-service-type' instance.
| 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-16 | tests: Allow setting of qemu memory-size for system tests....* gnu/system/vm.scm (common-qemu-options): Remove hardcoded "-m 256".
(system-qemu-image/shared-store-script): New keyword argument: #:memory-size.
| Jan Nieuwenhuizen |
2017-06-07 | mapped-devices: Cope with delayed appearance of LUKS source....Fixes <https://bugs.gnu.org/27242>.
* gnu/system/mapped-devices.scm (open-luks-device): If
'find-partition-by-luks-uuid' fails, try again once per second, up to ten
times.
| Mark H Weaver |
2017-05-23 | install: Add 'passwd' to installation image....* gnu/system/install.scm (installation-os): Add SHADOW in package list.
| Marius Bakke |
2017-05-21 | vm: Increase default disk size to account for ESP partition....Fixes a test regression introduced by ecf5d5376979fadd971559367bf553df89fcc62b.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): 30MiB -> 70MiB.
| Marius Bakke |
2017-05-19 | doc: Update for UEFI systems....* doc/guix.texi (USB Stick Installation): Mention UEFI.
(Preparing for Installation): Add notes about EFI System Partition, and
mounting partitions before init.
(Proceeding with the Installation): Mention the GRUB-EFI package.
(Using the Configuration System): Lightweight desktop is now a UEFI system.
(GRUB Configuration): Expand on package field. Add indexes.
* gnu/system/examples/lightweight-desktop.tmpl: Adjust to native EFI configuration.
| Marius Bakke |
2017-05-19 | vm: Add UEFI loader to disk images....* gnu/build/vm.scm (install-efi): New procedure.
(initialize-hard-disk): Generate EFI blob when ESP is present.
* gnu/system/vm.scm (qemu-image): Append 40MiB EFI System Partition.
| Marius Bakke |
2017-05-19 | vm: Support creating FAT partitions....* gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): New procedures.
(format-partition): Use them. Error for unknown file systems.
* gnu/system/vm.scm (qemu-image): Include DOSFSTOOLS.
* gnu/system/linux-initrd.scm (base-initrd): Always add nls_is8859-1.ko.
| Marius Bakke |
2017-05-19 | vm: Support arbitrary partition flags....* gnu/build/vm.scm (<partition>): Change BOOTABLE? to FLAGS.
(initialize-partition-table): Pass each flag to parted.
(initialize-hard-disk): Locate boot partition.
* gnu/system/vm.scm (qemu-image): Adjust partition flags.
| Marius Bakke |
2017-05-18 | install: Enable SSH in installation image....* gnu/system/install.scm (%installation-services): Add OPENSSH-SERVICE-TYPE.
* doc/guix.texi (Preparing for Installation)[Networking]: Document it.
| Marius Bakke |
2017-05-17 | maint: The 'release' target builds a VM image....* gnu/system/examples/vm-image.tmpl: New file.
* Makefile.am (GUIXSD_VM_SYSTEMS, GUIXSD_VM_IMAGE_BASE,
GUIXSD_VM_IMAGE_SIZE): New variables.
(release): Add logic to build a VM image.
(EXAMPLES): Add 'gnu/system/examples/vm-image.tmpl'.
* doc/guix.texi (Running GuixSD in a VM, Installing GuixSD in a VM): Mention the
pre-built VM image.
| Leo Famulari |