| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* gnu/services/base.scm (environment-variables->environment-file)
(session-environment-service-type)
(session-environment-service): Move to...
* gnu/system/pam.scm: ... here.
|
|
|
|
|
|
|
| |
* gnu/system/examples/bare-bones.tmpl (packages): Remove TCPDUMP; add
SCREEN and OPENSSH.
* doc/guix.texi (Using the Configuration System): Adjust explanation
accordingly.
|
|
|
|
|
| |
* gnu/system/install.scm (%installation-services): Load
"example/bare-bones.tmpl". Add a 'gc-root-service-type' instance.
|
|
|
|
|
|
|
|
|
| |
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'.
|
|
|
|
|
| |
* gnu/system/vm.scm (qemu-image): Add #:file-system-uuid parameter; pass
it as the 'uuid' field of the root partition.
|
|
|
|
|
|
| |
* gnu/system/uuid.scm (string->uuid): Turn 'type' into an optional
argument.
(uuid): Add clauses to allow for an optional 'type' parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
Suggested by Jan Nieuwenhuizen.
* gnu/system/install.scm (installation-os)[packages]: Add OPENSSH.
|
|
|
|
|
|
| |
Suggested by Jan Nieuwenhuizen.
* gnu/system/install.scm (installation-os)[setuid-programs]: Add 'passwd'.
|
|
|
|
|
| |
* gnu/system/vm.scm (system-disk-image): Call iso9660-image with
#:register-closures? as #t.
|
|
|
|
| |
* gnu/system/vm.scm (iso9660-image): Add support for registering closures.
|
|
|
|
|
| |
* gnu/system/vm.scm (system-disk-image): Remove redundant conditional for
#:file-system-type when calling qemu-image.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/system/vm.scm (system-disk-image): Use grub-hybrid's grub-mkrescue.
* gnu/bootlader/grub.scm (grub-mkrescue-bootloader): New variable.
|
|
|
|
| |
* gnu/system/shadow.scm (default-skeletons)[profile]: Add 'grep' alias.
|
|
|
|
| |
* gnu/system/shadow.scm (default-skeletons): Add ".guile".
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/system/locale.scm (localedef-command): Use the native LIBC.
* gnu/system/shadow.scm (default-skeletons): Use the native GUILE-WM.
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
| |
* gnu/system/vm.scm (system-disk-image): Pass root-label to ...
(iso9660-image): ... here. Add keyword arguments #:file-system-label
and #:file-system-uuid.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* gnu/system/install.scm (installation-os): Remove SHADOW.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* gnu/system/linux-initrd.scm (base-initrd): Add isofs.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/system/vm.scm (common-qemu-options): Remove hardcoded "-m 256".
(system-qemu-image/shared-store-script): New keyword argument: #:memory-size.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* gnu/system/install.scm (installation-os): Add SHADOW in package list.
|
|
|
|
|
|
| |
Fixes a test regression introduced by ecf5d5376979fadd971559367bf553df89fcc62b.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): 30MiB -> 70MiB.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* gnu/system/install.scm (%installation-services): Add OPENSSH-SERVICE-TYPE.
* doc/guix.texi (Preparing for Installation)[Networking]: Document it.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gnu/build/install.scm (install-boot-config): New procedure.
(install-grub): Move to (gnu bootloader grub).
* gnu/build/vm.scm (register-bootcfg-root): Rename register-grub.cfg-root and
adjust accordingly.
(initialize-hard-disk): Takes a bootloader-package, bootcfg, bootcfg-location and
bootloader-installer procedure. Adjust accordingly.
* gnu/system/vm.scm (qemu-image): Adjust to initialize-hard-disk.
(system-disk-image, system-qemu-image, system-qemu-image/shared-store):
Adjust to qemu-image.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gnu/bootloader.scm: New file.
* gnu/bootloader/extlinux.scm: New file.
* gnu/bootloader/grub.scm: New file.
* gnu/local.mk: Build new files.
* gnu/system.scm: Adapt to new bootloader api.
* gnu/scripts/system.scm: Adapt to new bootloader api.
* gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu
bootloader grub) modules.
* gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm.
* gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader).
* gnu/tests.scm: Ditto.
* gnu/tests/nfs.scm: Ditto.
|
|
|
|
|
|
|
| |
This is a followup to commit e0b2e93005188ab4d6c7413a27832ba2fb7388e8.
* gnu/system/grub.scm (eye-candy): Re-order the elements of the generated
GRUB configuration.
|
|
|
|
|
|
|
| |
* gnu/system/grub.scm (<grub-configuration>): Add new fields
terminal-outputs, terminal-inputs, serial-unit, and serial-speed.
(grub-setup-io, setup-gfxterm): New procedures.
* doc/guix.texi (GRUB Configuration): Document the new fields.
|
|
|
|
|
| |
* gnu/system/grub.scm (svg->png): Use 'ungexp-native' aka. #+ when
referring to GUILE-CAIRO, GUILE-SVG, and SVG.
|
|
|
|
|
|
| |
* gnu/system/pam.scm (unix-pam-service): Add pam-entry for "pam_rootok.so" to
auth field when ALLOW-ROOT? is #T.
(base-pam-services): Allow root to run "su" without authentication.
|