Age | Commit message (Collapse) | Author |
|
* gnu/system/examples/beaglebone-black.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* gnu/system/install.scm (/etc/configuration-files): Add it.
|
|
* gnu/build/vm.scm (load-in-linux-vm): Use QEMU's virtio-rng-pci.
* gnu/system/vm.scm (common-qemu-options): Likewise.
|
|
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.
|
|
* gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported
bootloader.
* gnu/system/install.scm (beaglebone-black-installation-os): New exported variable.
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
* gnu/system/install.scm (%installation-services)[motd]: Add colors.
[services]: Use the "lat9u-16" font.
(%issue): Add colors.
|
|
* gnu/system/install.scm (%installation-services): Add
GLIBC-UTF8-LOCALES, TEXINFO, and GUILE-FINAL as GC roots.
|
|
* gnu/system/uuid.scm: Fix typo in comment.
|
|
* gnu/system/vm.scm (qemu-image): Fix typo targetting -> targeting.
|
|
* 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.
|
|
* gnu/system/vm.scm (virtualized-operating-system)[user-file-systems]:
Filter out things that refer to file system UUIDs or labels.
|
|
* 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.
|
|
* gnu/system/install.scm (installation-os): Fix typo in comment.
|
|
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.
|
|
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".
|
|
* 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).
|
|
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Add return statement.
|
|
* gnu/system/shadow.scm (default-skeletons)[bashrc]: Wrap $SSH_CLIENT test in
a conditional testing for interactive shell.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
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?'.
|
|
* 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.
|
|
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.
|
|
* gnu/system/file-systems.scm (<file-system>)[location]: New field.
|
|
* 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=?'.
|
|
* gnu/system/vm.scm (<virtual-machine>): Add disk-image-size.
(port-forwardings->qemu-options): Use disk-image-size from
<virtual-machine>.
|
|
* 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.
|
|
* 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.
|