summaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* system: hurd: Move the Shepherd before the Hurd in %BASE-PACKAGES/HURD.Ludovic Courtès2022-03-09
| | | | * gnu/system/hurd.scm (%base-packages/hurd): Move SHEPHERD before HURD.
* initrd: Use non-hyphenated kernel command-line parameter names.Maxim Cournoyer2022-03-01
| | | | | | | | | | | | | | | | | | | | | | This is to make it less surprising, given the common convention sets forth by the kernel Linux command-line parameters. * gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root' and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system', respectively. Adjust doc. (find-long-option): Adjust doc. * gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly. * gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and update doc. Use VERSION to conditionally return old style vs new style initrd arguments. (%boot-parameters-version): Increment to 1. (operating-system-boot-parameters): Adjust doc. (operating-system-boot-parameters-file): Likewise. * gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise. * doc/guix.texi: Adjust doc. * gnu/build/activation.scm (boot-time-system): Adjust accordingly. * gnu/build/hurd-boot.scm (boot-hurd-system): Likewise. * gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
* system: Add helper file-system-mount-point-predicate.Josselin Poiret2022-02-15
| | | | | | | * gnu/system/file-systems.scm (file-system-mount-point-predicate): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Revert kernel modules changes to support the Coreboot framebufferLeo Famulari2022-02-09
| | | | | | | | | | | | | | | | | | | These changes broke the creation of the 'linux-modules-database' for all kernel series besides 5.15, 5.4, and 5.10, like this: ------ gnu/build/linux-modules.scm:257:5: kernel module not found "framebuffer_coreboot" "/gnu/store/yff45fr6q93mw44zdql9ffr95zcvwxcn-linux-libre-4.9.299/lib/modules" ------ We should support the coreboot framebuffer, but we need to test that change more completely before deploying it. This effectively reverts the following commits: 1dfe8c372163d481ebebb97dd3b4cafa49906b28 "gnu: linux-libre: Build simplefb into all x86{,_64} kernels." bc09e7ab569d5306ce99c5525150695c9d539ef0 "gnu: linux-libre: Support the Coreboot framebuffer." Fixes <https://issues.guix.gnu.org/52667> "System reconfiguration fails to build linux-modules.drv".
* system: locale: Use only the current glibc.Mathieu Othacehe2022-01-14
| | | | * gnu/system/locale.scm (%default-locale-libcs): Remove glibc-2.31.
* system: vm: Change the writable image name.Mathieu Othacehe2022-01-14
| | | | * gnu/system/vm.scm (system-qemu-image/shared-store-script): Change it.
* services: Consistently use SDDM rather than GDM on non-x86_64.Chris Marusich2022-01-06
| | | | | | | | | | | | This is a follow-up to 49599fab564f203b8e92d32e9b28c99e99849bfb. Fixes: <https://issues.guix.gnu.org/52908>. * gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: When the current system or target system begins with the string "x86_64", use gdm-service-type as before; otherwise, use sddm-service-type. * gnu/system/examples/vm-image.tmpl (services): Add sddm-service-type to the list of service types to remove.
* system: vm: Restore default RAM size to 512MB.Mathieu Othacehe2022-01-06
| | | | * gnu/system/vm.scm (system-qemu-image/shared-store-script): Restore it.
* doc: Only use GDM and GNOME on x86_64.Ricardo Wurmus2022-01-05
| | | | | | * gnu/system/examples/desktop.tmpl: Only use gnome-desktop-service-type and the default login manager in set-xorg-configuration when the target system is x86_64.
* system: Allow 'chfn' to change the user's full name.Ludovic Courtès2022-01-01
| | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/52539>. Reported by Jacob First <jacob.first@member.fsf.org>. * gnu/build/accounts.scm (allocate-passwd): Add comment as to why 'real-name' is taken from PREVIOUS. Add (not system?) to the condition. * gnu/system.scm (operating-system-etc-service) <login.defs>: Add "CHFN_RESTRICT". * gnu/system.scm (%setuid-programs): Add "chfn". * gnu/system/pam.scm (base-pam-services): Add "chfn". * doc/guix.texi (User Accounts): Document it.
* gnu: linux-libre: Build simplefb into all x86{,_64} kernels.Tobias Geerinckx-Rice2021-12-25
| | | | | | | | | | | | | | | | | | This attempts to mitigate <https://issues.guix.gnu.org/52667>. It makes linux-libre@5.15 consistent with older versions which do not support a modular simplefb, allowing a single %base-initrd-modules simple list for all of them. Unlike CONFIG_FB_SIMPLE=m, CONFIG_FB_SIMPLE=y conflicts with CONFIG_DRM_SIMPLEDRM, so the latter is now disabled. Let us hope it is not missed. * gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Unset CONFIG_DRM_SIMPLEDRM to build in CONFIG_FB_SIMPLE=y. * gnu/system/linux-initrd.scm (default-initrd-modules): Remove "simplefb".
* Remove VM generation dead-code.Mathieu Othacehe2021-12-23
| | | | | | | | | | | | | | | This code duplicates the (gnu system image) and (gnu build image) code. Using VM for image generation is not needed, not portable and really slow. Remove all the VM image generation code to make sure that only the image API is used. * gnu/build/vm.scm: Remove it. Move the qemu-command procedure to ... * gnu/build/marionette.scm: ... here. * gnu/local.mk (GNU_SYSTEM_MODULES): Adapt it. * tests/modules.scm: Ditto. * gnu/tests/install.scm: Ditto. * gnu/system/vm.scm: Adapt it and remove expression->derivation-in-linux-vm, qemu-img, system-qemu-image/shared-store and system-docker-image procedures. * doc/guix.texi (G-Expressions): Adapt it.
* system: vm: Use the image API to generate QEMU images.Mathieu Othacehe2021-12-23
| | | | | | | | | | | | | | Also add a volatile? argument to the virtual-machine record. When volatile? is true generate a QEMU script that mounts an overlay on top of a read only storage. When volatile? is false, use a persistent, read-write storage. * gnu/system/vm.scm (common-qemu-options): Add a rw-image? argument to use a persistent storage. (system-qemu-image/shared-store-script): Add a volatile? argument and honor it. Use the image API to build the QEMU image. (<virtual-machine>)[volatile?]: New field. (virtual-machine-compiler): Pass the volatile? argument to the system-qemu-image/shared-store-script procedure.
* system: image: Add docker support.Mathieu Othacehe2021-12-23
| | | | | | | * gnu/system/image.scm (docker-image, docker-image-type): New variables. (system-docker-image): New procedure. (image->root-file-system): Add docker image support. (system-image): Ditto.
* doc: Add group configuration exampleDenis 'GNUtoo' Carikli2021-12-19
| | | | | | * gnu/system/examples/desktop.tmpl: Add group configuration example. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu: linux-libre: Support the Coreboot framebuffer.Tobias Geerinckx-Rice via Guix-patches via2021-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, the kernel cannot write to the display until the full-featured driver module (often i915) is loaded from the root file system. If the root file system is encrypted, the initrd's passphrase prompt won't make it to the screen, and the fully responsive system will appear frozen whilst waiting for user input. * gnu/packages/aux-files/linux-libre/4.4-i686.conf, gnu/packages/aux-files/linux-libre/4.4-x86_64.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf, gnu/packages/aux-files/linux-libre/5.10-i686.conf, gnu/packages/aux-files/linux-libre/5.10-x86_64.conf, gnu/packages/aux-files/linux-libre/5.15-i686.conf, gnu/packages/aux-files/linux-libre/5.15-x86_64.conf: Mark simple framebuffers as generic system ones and enable ‘Google’ firmware drivers to enable Coreboot table support and its dependent framebuffer driver module. * gnu/system/linux-initrd.scm (default-initrd-modules): Add the framebuffer_coreboot and simplefb modules on x86 systems.
* Merge branch 'master' into core-updates-frozenLudovic Courtès2021-12-13
|\
| * services: Define '%loopback-static-networking'.Ludovic Courtès2021-12-12
| | | | | | | | | | | | | | | | * gnu/services/base.scm (%loopback-static-networking): New variable. (%base-services): Use it. * gnu/system/hurd.scm (%base-services/hurd): Use it. * gnu/system/install.scm (%installation-services): Use it. * doc/guix.texi (Networking Setup): Document it.
| * services: Define '%qemu-static-networking'.Ludovic Courtès2021-12-12
| | | | | | | | | | | | * gnu/services/base.scm (%qemu-static-networking): New variable. * gnu/system/hurd.scm (%base-services/hurd): Use it. * doc/guix.texi (Networking Setup): Document it.
| * services: static-networking: Change interface to mimic netlink.Ludovic Courtès2021-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/base.scm (<static-networking>)[interface, ip, netmask] [gateway]: Remove. [addresses, links, routes]: New fields. [requirement]: Default to '(udev). (<network-address>, <network-link>, <network-route>): New record types. (ensure-no-separate-netmask, %ensure-no-separate-netmask): Remove. (ipv6-address?, cidr->netmask, ip+netmask->cidr) (network-set-up/hurd, network-tear-down/hurd) (network-set-up/linux, network-tear-down/linux) (static-networking->hurd-pfinet-options): New procedures. (static-networking-shepherd-service): New procedure. (static-networking-shepherd-services): Rewrite in terms of the above. (static-networking-service): Deprecate. Adjust to new 'static-networking' API. (%base-services): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * gnu/system/hurd.scm (%base-services/hurd): Likewise, and separate 'loopback' from 'networking'. * gnu/build/hurd-boot.scm (set-hurd-device-translators): Remove "servers/socket/2". * gnu/tests/networking.scm (run-openvswitch-test)["networking has started on ovs0"]: Check for 'networking instead of 'networking-ovs0, which is no longer provided. * doc/guix.texi (Networking Setup): Document the new interface. Remove documentation of 'static-networking-service'. (Virtualization Services): Change Ganeti example to use the new interface.
* | Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus2021-12-05
|\|
| * system: vm: Remove the vga argument.Mathieu Othacehe2021-12-03
| | | | | | | | | | | | | | * gnu/system/vm.scm (common-qemu-options): Remove the "-vga std" argument that is the default since QEMU 2.2. Suggested-by: Attila Lendvai <attila@lendvai.name>
| * guix system vm: Add --no-graphic CLI argument.Attila Lendvai2021-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It configures QEMU to use the tty it was started in for IO (as opposed to opening a separate graphical window). This enables copy-pasting and scrollback. Exit QEMU with C-a x. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Also add the '-nographic' QEMU argument when called with #:graphic? #false. * guix/scripts/system.scm (system-derivation-for-action): Propagate the #:graphic? keyword arg. (perform-action): Add and propagate the #:graphic? keyword arg. (show-help): Add --no-graphic CLI arg. (%options): Process the new --no-graphic CLI arg. (process-action): Feed in the CLI arg through the #:graphic? keyword arg. * doc/guix.texi (Invoking guix system): Add example to combine guix system and invoking the vm start script into one command. Split the description of the various options into separate paragraphs. Add a paragraph to describe --no-graphic. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * gnu: system: Add LUKS2 support for the root file system.Josselin Poiret2021-12-01
| | | | | | | | | | | | | | | | | | * gnu/bootloader/grub.scm (grub-configuration-file): Add 'insmod luks2'. * gnu/system/mapped-devices.scm (open-luks-device): Create '/run/cryptsetup/' directory. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-11-23
|\|
| * doc: Add new Swap Space section.Josselin Poiret2021-11-23
| | | | | | | | | | | | | | | | * doc/guix.texi (operating-system Reference): Update swap-devices. * doc/guix.texi (Swap Space): Add it. * gnu/system/examples/desktop.tmpl: Add swap-devices example. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * system: Add swap flags.Josselin Poiret2021-11-23
| | | | | | | | | | | | | | | | | | | | | | * gnu/system/file-systems.scm (swap-space)[priority, discard?]: Add them. * guix/build/syscalls.scm (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK, SWAP_FLAG_PRIO_SHIFT, SWAP_FLAG_DISCARD): Add them. * gnu/build/file-systems.scm (swap-space->flags-bit-mask): Add it. * gnu/services/base.scm (swap-service-type): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * system: Rework swap space support, add dependencies.Josselin Poiret2021-11-23
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/system/file-systems.scm (swap-space): Add it. * gnu/system.scm (operating-system)[swap-devices]: Update comment. * gnu/services/base.scm (swap-space->shepherd-service-name, swap-deprecated->shepherd-service-name, swap->shepherd-service-name): Add them. * gnu/services/base.scm (swap-service-type, swap-service): Use the new records. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | vm: <virtual-machine> defaults to using 'qemu-minimal'.Ludovic Courtès2021-11-20
| | | | | | | | | | | | | | 'qemu-minimal' is enough for system tests, which is the main (only?) use of <virtual-machine>. * gnu/system/vm.scm (<virtual-machine>)[qemu]: Default to QEMU-MINIMAL.
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-11-17
|\|
| * image: Support generating GPT images via `partition-table-type`.Ryan Sundberg2021-11-12
| | | | | | | | | | | | | | | | * gnu/image.scm (<image>)[partition-table-type]: New field. * gnu/system/image.scm: Implement partition-table-type logic for genimage. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* | Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner2021-11-08
|\|
| * file-systems: Validate the 'flags' field.Ludovic Courtès2021-11-07
| | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/51425>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/system/file-systems.scm (invalid-file-system-flags) (%validate-file-system-flags): New procedures. (validate-file-system-flags): New macro. (<file-system>)[flags]: Add 'sanitize' property.
* | Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe2021-10-18
|\|
| * system: hurd: Add 'info-reader' to %BASE-PACKAGES/HURD.Ludovic Courtès2021-10-18
| | | | | | | | * gnu/system/hurd.scm (%base-packages/hurd): Add INFO-READER.
| * system: image: Ensure Hurd images are cross-compiled if needed.Ludovic Courtès2021-10-18
| | | | | | | | | | | | | | | | Fixes regression introduced in d5073fd113c621fe0b55382f7dd336ee118e759f, whereby childhurd dependencies such as 'hurd' would erroneously be attempted to build natively on x86_64-linux. * gnu/system/images/hurd.scm (hurd-disk-image)[platform]: New field.
* | Merge branch 'master' into core-updates-frozenMarius Bakke2021-10-14
|\|
| * linux-initrd: Support checking NTFS volumes on boot.Tobias Geerinckx-Rice2021-10-13
| | | | | | | | | | * gnu/system/linux-initrd.scm (file-system-packages): Add ntfsfix/static when needed.
* | Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe2021-10-12
|\|
| * gnu: Add platform support.Mathieu Othacehe2021-10-11
| | | | | | | | | | | | | | | | | | * gnu/platform.scm: New file. * gnu/platforms/arm.scm: Ditto. * gnu/platforms/hurd.scm: Ditto. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * file-systems: Fix <file-system> skip-check-if-clean? default.Tobias Geerinckx-Rice2021-09-24
| | | | | | | | | | | | | | | | Let this be a warning against—even cautiously and deliberately—using double negatives. You shall stare, but you shall not see. * gnu/system/file-systems.scm (<file-system>): Fix the default skip-check-if-clean? value to match the documentation and the intention.
| * linux-initrd: Support XFS.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | | | * gnu/system/linux-initrd.scm (file-system-packages): Add xfs_repair/static when needed. (file-system-type-modules): Add ‘xfs’ module when needed.
| * uuid: Support XFS.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | * gnu/system/uuid.scm (string->xfs-uuid): New procedure. (%uuid-parsers, %uuid-printers): Add ‘xfs’ file system type.
| * linux-initrd: Include only the single ‘bcachefs’ binary.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | * gnu/system/linux-initrd.scm (file-system-packages): Substitute bcachefs/static for bcachefs-tools/static.
| * gnu: Don't abuse check-btrfs-file-system to scan.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | | | | | | | | | | | It was never guaranteed to be run for non-root file systems. It was for root file systems only due to a bug now fixed. * gnu/build/file-systems.scm (check-btrfs-file-system): Don't invoke ‘btrfs device scan’ here. * gnu/system/linux-initrd.scm (raw-initrd): Do so here if any btrfs file systems are present.
| * file-systems: Support forced checks & repairs.Tobias Geerinckx-Rice2021-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/build/file-systems.scm (check-ext2-file-system) (check-bcachefs-file-system, check-btrfs-file-system) (check-fat-file-system, check-jfs-file-system, check-f2fs-file-system) (check-ntfs-file-system, check-file-system): Take and honour new FORCE? and REPAIR arguments. Update the docstring. Adjust all callers. * gnu/system/file-systems.scm <file-system>: Add new SKIP-CHECK-IF-CLEAN? and REPAIR fields. (file-system->spec, spec->file-system): Adjust accordingly. * gnu/build/linux-boot.scm (mount-root-file-system): Take new SKIP-CHECK-IF-CLEAN? and REPAIR keyword arguments. Thread them through to CHECK-FILE-SYSTEM. * doc/guix.texi (File Systems): Document both new <file-system> options.
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-09-07
|\|
| * Migrate to the new 'targets' field of bootloader-configuration.Maxim Cournoyer2021-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old 'target' field is deprecated; adjust the sources to use the new 'targets' one instead. * doc/guix-cookbook.texi<target>: Replace by 'targets'. * gnu/bootloader/grub.scm: Likewise. * gnu/installer/parted.scm: Likewise. * gnu/machine/digital-ocean.scm: Likewise. * gnu/system/examples/asus-c201.tmpl: Likewise * gnu/system/examples/bare-bones.tmpl: Likewise * gnu/system/examples/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise
| * images: pinebook-pro: Fix the agetty baud rate.Mathieu Othacehe2021-08-28
| | | | | | | | | | * gnu/system/images/pinebook-pro.scm (pinebook-pro-barebones-os): Fix the agetty baud rate.
| * services: slim: Add pam-gnupg support.Oleg Pykhalov2021-08-17
| | | | | | | | | | | | | | | | | | * gnu/system/pam.scm (unix-pam-service): Add account and session PAM entries for pam-gnupg. Don't pass "#f" to "allow-root?" argument, because "lambda*" already does this by default. * doc/guix.texi (X Window): Document this. * gnu/services/xorg.scm (<slim-configuration>)[gnupg?]: New record field. (slim-pam-service): Pass "#:gnupg?" argument to "unix-pam-service".