summaryrefslogtreecommitdiff
path: root/gnu/system
AgeCommit message (Collapse)Author
2020-05-20bootloader: grub: Allow booting from a Btrfs subvolume.Maxim Cournoyer
* gnu/bootloader/grub.scm (strip-mount-point): Remove procedure. (normalize-file): Add procedure. (grub-configuration-file): New BTRFS-SUBVOLUME-FILE-NAME parameter. When defined, prepend its value to the kernel and initrd file names, using the NORMALIZE-FILE procedure. Adjust the call to EYE-CANDY to pass the BTRFS-SUBVOLUME-FILE-NAME argument. Normalize the KEYMAP file as well. (eye-candy): Add a BTRFS-SUBVOLUME-FILE-NAME parameter, and use it, along with the NORMALIZE-FILE procedure, to normalize the FONT-FILE and IMAGE nested variables. Adjust doc. * gnu/bootloader/depthcharge.scm (depthcharge-configuration-file): Adapt. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Likewise. * gnu/system/file-systems.scm (btrfs-subvolume?) (btrfs-store-subvolume-file-name): New procedures. * gnu/system.scm (operating-system-bootcfg): Specify the Btrfs subvolume file name the store resides on to the `operating-system-bootcfg' procedure, using the new BTRFS-SUBVOLUME-FILE-NAME argument. * doc/guix.texi (File Systems): Add a Btrfs subsection to document the use of subvolumes. * gnu/tests/install.scm (%btrfs-root-on-subvolume-os) (%btrfs-root-on-subvolume-os-source) (%btrfs-root-on-subvolume-installation-script) (%test-btrfs-root-on-subvolume-os): New variables.
2020-05-20file-systems: Add helpers for parsing the options string into an alist.Maxim Cournoyer
* gnu/system/file-systems.scm (file-system-options->alist) (alist->file-system-options): New procedures. * tests/file-systems.scm: New tests. * doc/guix.texi (File Systems): Add note about the newly added procedures.
2020-05-16linux-initrd: Silence Guile warnings.Ludovic Courtès
Previously, since the switch to Guile 3, we'd see this warning repeated several times at boot time: WARNING: …: imported module (guix build utils) overrides core binding `delete' * gnu/system/linux-initrd.scm (raw-initrd): In gexp, #:hide 'delete' from (guix build utils). Wrap 'boot-system' in 'parameterize'.
2020-05-16vm: Use 'let-system'.Ludovic Courtès
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[check]: New macro. [builder]: Use 'let-system' and 'check' instead of referencing '%current-system' and '%current-target-system'.
2020-05-15locale: Use the native gzip and libc when building locales.Ludovic Courtès
This fixes system cross-compilation. * gnu/system/locale.scm (single-locale-directory)[build]: Use the native GZIP and LIBC.
2020-05-08Merge branch 'core-updates'Marius Bakke
2020-05-08services: Add descriptions.Ludovic Courtès
* gnu/services/dbus.scm (polkit-service-type)[description]: New field. * gnu/services/dict.scm (dicod-service-type)[description]: New field. * gnu/services/dns.scm (knot-service-type)[description]: New field. * gnu/services/networking.scm (dhcpd-service-type)[description]: New field. * gnu/services/shepherd.scm (shepherd-root-service-type)[description]: New field. * gnu/services/xorg.scm (slim-service-type)[description]: New field. (screen-locker-service-type)[description]: New field. * gnu/system/pam.scm (pam-root-service-type)[description]: New field. * gnu/system/shadow.scm (account-service-type)[description]: New field.
2020-05-07guix system: 'docker-image' honors '--network'.Ludovic Courtès
* gnu/system/vm.scm (system-docker-image): Add #:shared-network? and pass it to 'containerized-operating-system'. (qemu-image): * guix/scripts/system.scm (system-derivation-for-action): Pass #:shared-network? to 'system-docker-image'. * doc/guix.texi (Invoking guix system): Document it.
2020-05-05Merge branch 'master' into core-updatesMarius Bakke
2020-05-05vm: Remove obsolete procedures.Mathieu Othacehe
* gnu/build/vm.scm (install-efi, make-iso9660-image): Remove those procedures that are now implemented in (gnu build image) module, (initialize-hard-disk): remove efi support. * gnu/system/vm.scm (iso9660-image): Remove it, (qemu-image): adapt it to remove ISO9660 support.
2020-05-05image: Add a new API.Mathieu Othacehe
Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This is quite fragile, very slow, and almost unusable without KVM. For all these reasons, add support for host image generation. This implies the use new image generation mechanisms. - Raw disk images: images of partitions are created using tools such as mke2fs and mkdosfs depending on the partition file-system type. The partition images are then assembled into a final image using genimage. - ISO9660 images: the ISO root directory is populated within the store. GNU xorriso is then called on that directory, in the exact same way as this is done in (gnu build vm) module. Those mechanisms are built upon the new (gnu image) module. * gnu/image.scm: New file. * gnu/system/image.scm: New file. * gnu/build/image: New file. * gnu/local.mk: Add them. * gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm. * gnu/ci.scm (qemu-jobs): Adapt to new API. * gnu/tests/install.scm (run-install): Ditto. * guix/scripts/system.scm (system-derivation-for-action): Ditto.
2020-05-05system: vm: Move operating-system-uuid.Mathieu Othacehe
* gnu/system/vm.scm (operating-system-uuid): Move to ... * gnu/system.scm: ... here.
2020-05-03linux-initrd: Provide fsck for F2FS.Danny Milosavljevic
* gnu/system/linux-initrd.scm (file-system-packages): Add F2FS fsck.
2020-05-03install: Add f2fs-tools to the installation image.Danny Milosavljevic
* gnu/system/install.scm (installation-os)[packages]: Add f2fs-tools.
2020-05-03locale: Add glibc 2.29 to '%default-locale-libcs'.Ludovic Courtès
This eases transition for anyone reconfiguring and still having profiles with packages using the former libc. * gnu/system/locale.scm (%default-locale-libcs): Add GLIBC-2.29.
2020-05-02Merge branch 'master' into core-updatesMarius Bakke
2020-05-02linux-initrd: Add initial support for F2FS.raingloom
* gnu/system/linux-initrd.scm (file-system-type-modules): Add f2fs module. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-05-01gnu: linux-initrd: Use Guile 3.0.Marius Bakke
* gnu/system/linux-initrd.scm (expression->initrd): Change from %GUILE-STATIC-STRIPPED to %GUILE-3.0-STATIC-STRIPPED.
2020-05-01Revert "install: Pass "modprobe.blacklist=radeon"."Florian Pelz
This reverts commit 785919121066a10b291d783b6903b5e368e992a8, which is no longer needed since uvesafb was added in 557e6820a77b24f8f3f03f28ee473137b1caeb64.
2020-05-01system: hurd: Add /etc/group.Jan (janneke) Nieuwenhuizen
This allows download to run. * gnu/system/hurd.scm (cross-hurd-image): Add /etc/group with guixbuilder.
2020-05-01system: hurd: Add less, which to %base-packages/hurd.Efraim Flashner
* gnu/system/hurd.scm (%base-packages/hurd): Add less, which.
2020-04-30Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/local.mk gnu/packages/backup.scm gnu/packages/emacs-xyz.scm gnu/packages/guile.scm gnu/packages/lisp.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/web.scm gnu/packages/xorg.scm
2020-04-27file-systems: mount the PID cgroup filesystem.Jakub Kądziołka
* gnu/system/file-systems.scm (%control-groups): Add "pids". * gnu/services/docker.scm (docker-shepherd-service): Resolve a TODO. This has allowed me to make a specific configuration of nsjail work.
2020-04-26services: system: Initial entries are non-monadic.Ludovic Courtès
* gnu/system.scm (operating-system-directory-base-entries): Return a regular, non-monadic value. * gnu/services.scm (system-derivation): Adjust accordingly. * gnu/system/linux-container.scm (container-essential-services): Likewise.
2020-04-26Merge branch 'master' into core-updatesMarius Bakke
2020-04-26vm: Remove unused import.Marius Bakke
* gnu/system/vm.scm: Do not import (gnu packages make-bootstrap).
2020-04-23Merge branch 'master' into core-updatesMarius Bakke
Conflicts: etc/news.scm gnu/local.mk gnu/packages/bootloaders.scm gnu/packages/linphone.scm gnu/packages/linux.scm gnu/packages/tls.scm gnu/system.scm
2020-04-20installer: Rename uvesafb shepherd service to maybe-uvesafb.Florian Pelz
Because the installer's uvesafb service loads uvesafb only on some machines. This is a follow-up to commit 0ad60b2a89d6d387236466e0bcdd61ac489fca37. * gnu/system/install.scm (uvesafb-shepherd-service): Adjust provision and description fields.
2020-04-19Merge branch 'master' into core-updatesMarius Bakke
2020-04-19installer: Add GC root for Guile 3.0.Marius Bakke
* gnu/system/install.scm (%installation-services)[gc-root-service-type]: Add GC root for GUILE-3.0 instead of GUILE-2.2.
2020-04-17services: account: Have 'user-processes' depend on 'user-homes'.Ludovic Courtès
Until now, 'user-homes' happened to start right after 'user-processes' and before services that depend on a home directory but the dependency was not explicit. This addresses it. * gnu/system/shadow.scm (account-service-type): Extend USER-PROCESSES-SERVICE-TYPE.
2020-04-15Merge branch 'master' into core-updatesMarius Bakke
2020-04-15Merge branch 'version-1.1.0'Ludovic Courtès
2020-04-14installer: Only load uvesafb kernel module when needed.Florian Pelz
This is a follow-up to commit 557e6820a77b24f8f3f03f28ee473137b1caeb64. * gnu/system/install.scm (uvesafb-shepherd-service): Check that /dev/fb0 is not already present.
2020-04-11installer: Load uvesafb kernel module.Florian Pelz
Fixes <https://bugs.gnu.org/40538>. Machines without Kernel Mode Setting (those with many old and current AMD GPUs, SiS GPUs, …) need uvesafb to show the GUI installer. Some may also need a kernel parameter like nomodeset or vga=793, but we leave that for the user to specify in GRUB. * gnu/system/install.scm (uvesafb-shepherd-service): New procedure. (uvesafb-service-type): New variable. (%installation-services): Add it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2020-04-11system: hurd: Add guile-candy.Ludovic Courtès
* gnu/system/hurd.scm (%base-packages/hurd): Add GUILE-COLORIZED and GUILE-READLINE. (cross-hurd-image)[hurd-directives]: Add /root/.guile.
2020-04-11system: hurd: Add net-base and inetutils, and /etc/{services,protocols}.Jan (janneke) Nieuwenhuizen
This fixes In procedure getaddrinfo: Servname not supported for ai_socktype * gnu/system/hurd.scm (%base-packages/hurd): Add net-base, inetutils. (cross-hurd-image): Add /etc/{services,protocols} from net-base.
2020-04-11system: hurd: Create a proper profile.Ludovic Courtès
* gnu/system/hurd.scm (compile-manifest): New procedure. (cross-hurd-image)[for-hurd, hurd-os]: Remove. [cross-built, cross-built-entry]: New procedures. [system-profile]: New variable. [grub.cfg]: Use 'cross-built'. [profile]: Rename to... [etc-profile]: ... this, and adjust accordingly. [hurd-directives]: Create /run/current-system/profile and /etc/profile. Adjust arguments to 'qemu-image'.
2020-04-11system: hurd: Add root profile.Jan (janneke) Nieuwenhuizen
* gnu/system/hurd.scm (%base-packages/hurd): New variable. (cross-hurd-image)[for-hurd]: New function. (cross-hurd-image)[hurd-os]: Use them. (cross-hurd-image)[profile]: Hack'y .profile for root, only setting PATH.
2020-04-11system: hurd: Create /etc/{hostname,motd,login} and /root.Ludovic Courtès
* gnu/system/hurd.scm (cross-hurd-image): Add /etc/{hostname,motd,login} and /root.
2020-04-11system: hurd: Add "/bin/sh" symlink.Jan (janneke) Nieuwenhuizen
This allows login.c to succeed for root. * gnu/system/hurd.scm (cross-hurd-image): Link /bin/sh to full the full bash.
2020-04-11system: hurd: Add /etc/{passwd,shadow}.Jan (janneke) Nieuwenhuizen
* gnu/system/hurd.scm: Generate hard-coded /etc/{passwd,shadow}, allows running chown in MAKEDEV and loggin in.
2020-04-11system: hurd: Add ttys symlink in "/etc/ttys".Jan (janneke) Nieuwenhuizen
* gnu/packages/hurd.scm (hurd): Substitute /libexec/. * gnu/system/hurd.scm (cross-hurd-image): Add symlink /etc/ttys => <hurd>/etc/ttys.
2020-04-11system: hurd: Add "/etc/fstab".Jan (janneke) Nieuwenhuizen
This allows running mount -o remount,rw / successfully. * gnu/system/hurd.scm (cross-hurd-image): Create a hard coded fstab and add it to hurd-os.
2020-04-11Add (gnu system hurd).Ludovic Courtès
* gnu/system/hurd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2020-04-11vm: Make the device node procedure a parameter.Ludovic Courtès
* gnu/build/vm.scm (root-partition-initializer): Add #:make-device-nodes parameter and use it. * gnu/system/vm.scm (qemu-image): Add #:device-node parameter. Pass #:make-device-nodes to 'root-partition-initializer'.
2020-04-11vm: 'qemu-image' can pass options to the 'mkfs' command.Ludovic Courtès
* gnu/build/vm.scm (<partition>)[file-system-options]: New field. (create-ext-file-system, create-fat-file-system) (format-partition): Add #:options and honor it. (initialize-partition): Pass #:options to 'format-partition'. * gnu/system/vm.scm (qemu-image): Add #:file-system-options and use it for the root partition.
2020-04-11vm: 'qemu-image' accepts a list of extra populate directives.Ludovic Courtès
* gnu/build/vm.scm (root-partition-initializer): Add #:extra-directives parameter and pass it to 'populate-root-file-system'. * gnu/system/vm.scm (qemu-image): Add #:extra-directives parameter and pass it to 'root-partition-initializer'.
2020-04-11Merge branch 'master' into core-updatesMarius Bakke
2020-04-10vm: Use virtio network driver.Marius Bakke
This fixes a regression introduced in 8e53fe2b91d2776bc1529e7b34967c8f1d9edc32 where 'guix system vm' would no longer be using virtio. * gnu/system/vm.scm (common-qemu-options): Add "-nic user,model=virtio-net-pci".