aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* file-systems: Add cgroup2 to %pseudo-file-system-types.Hilton Chain2022-09-26
| | | | | | * gnu/system/file-systems.scm (%pseudo-file-system-types): Add cgroup2. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* system: images: Add a TODO comment.Mathieu Othacehe2022-09-25
| | | | * gnu/system/image.scm (system-tarball-image): Add it.
* system: images: Add wsl2 module.Alex Griffin2022-09-24
| | | | | | | | * gnu/system/images/wsl2.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi ("System Images"): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: image: Add wsl2 support.Alex Griffin2022-09-24
| | | | | | | * gnu/image.scm (<image>)[format]: Add wsl2 support. * gnu/system/image.scm (wsl2-image, wsl2-image-type): New variables. (image->root-file-system): Add wsl2 image support. (system-image): Ditto.
* system: image: Add tarball support.Alex Griffin2022-09-24
| | | | | | | | | | | * gnu/image.scm (<image>)[fields]: Add tarball to the supported formats. * gnu/system/image.scm (tarball-image, tarball-image-type): New variables. (system-tarball-image): New procedure. (image->root-file-system): Add tarball image support. (system-image): Ditto. * doc/guix.texi ("System Images"): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* platforms: x86: Rename Hurd hurd to i586-gnu.Mathieu Othacehe2022-09-24
| | | | | | | * guix/platforms/x86.scm (hurd): Rename it to ... (i586-gnu): ... this variable. * gnu/system/images/hurd.scm (hurd-disk-image, hurd-barebones-disk-image, hurd-barebones-qcow2-image): Adapt those.
* image: Make the operating-system field mandatory.Mathieu Othacehe2022-09-24
| | | | | | | | | | | | Make the operating-system field mandatory as creating an image without it makes no sense. Introduce a new macro, image-without-os for the specific cases where the image is only created to be inherited from afterwards. * gnu/image.scm (<image>)[operating-system]: Make it mandatory. * gnu/system/image.scm (image-without-os): New macro. (efi-disk-image, efi32-disk-image, iso9660-image, docker-image, raw-with-offset-disk-image): Use it. * gnu/system/images/hurd.scm (hurd-disk-image): Ditto.
* system: install: Do not load amdgpu in the installer image.Antero Mejr2022-09-16
| | | | | | | * gnu/system/install.scm (installation-os): Add amdgpu to modprobe.blacklist. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: images: Define the platform in image-types.Mathieu Othacehe2022-09-07
| | | | | | | | | | | | | | | | | | | | Running the following command where my-pine.scm contains an operating-system declaration: guix system image --image-type=pine64-raw my-pine.scm returns: guix system: error: package linux-libre-arm64-generic@5.18.19 does not support x86_64-linux That's because there's no platform defined in the pine64-raw image-type, hence the guix system image tries to build the image for the host architecture. * gnu/system/images/novena.scm (novena-image-type): Use the armv7-linux platform. * gnu/system/images/pine64.scm (pine64-image-type): Use the aarch64-linux platform. * gnu/system/images/pinebook-pro.scm (pinebook-pro-image-type): Use the aarch64-linux platform. * gnu/system/images/rock64.scm (rock64-image-type): Use the aarch64-linux platform.
* system: image: Update my copyright.Mathieu Othacehe2022-09-07
| | | | * gnu/system/image.scm: Update it.
* system: image: Remove an unused variable.Mathieu Othacehe2022-09-07
| | | | * gnu/system/image.scm (sytem-image): Remove it.
* gnu: system: file-systems: Add shared flag.Oleg Pykhalov2022-08-10
| | | | | | | | | * gnu/build/file-systems.scm (mount-flags->bit-mask, mount-file-system): Handle shared flag. * gnu/system/file-systems.scm (invalid-file-system-flags): Add shared to known flags. * guix/build/syscalls.scm (MS_SHARED): New variable. * doc/guix.texi (File Systems): Document shared flag.
* linux-container: container-script: Parse command line options.Ricardo Wurmus2022-08-09
| | | | | | * gnu/system/linux-container.scm (container-script): Accept command line options to bind mount host directories into the container. * doc/guix.texi (Invoking guix system): Document options.
* maint: Use a pretty version string in ISO and VM images.Ludovic Courtès2022-08-09
| | | | | | | * gnu/system/examples/vm-image.tmpl: Use the 'GUIX_DISPLAYED_VERSION' environment variable in 'label'. * gnu/system/install.scm (%installation-os): Likewise. * Makefile.am (release): Set 'GUIX_DISPLAYED_VERSION'.
* system: install: Always use 'current-guix'.Ludovic Courtès2022-08-09
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/53210>. Reported by Mathieu Othacehe <othacehe@gnu.org>. * gnu/system/install.scm (%installation-services): Set 'guix' to use (current-guix) in 'guix-configuration'. * gnu/system/examples/vm-image.tmpl: Likewise. * gnu/tests/install.scm (operating-system-with-current-guix): Remove. (run-install, installation-os-for-gui-tests): Remove its uses. * Makefile.am (release): Remove intermediate use of 'update-guix-package.scm' and subsequent 'git commit' invocation.
* image: Raise an error when an image lacks a bootable partition.Ludovic Courtès2022-07-01
| | | | | * gnu/system/image.scm (find-root-partition): Raise an error when 'find' returns #f.
* image: Avoid use of the deprecated 'gpt' option of genimage.Ludovic Courtès2022-07-01
| | | | | * gnu/system/image.scm (system-disk-image)[genimage-type-options]: Use 'partition-table-type' instead of the deprecated 'gpt' option.
* image: Add default value for partition initializer.Ludovic Courtès2022-07-01
| | | | | | | | | | | Previously, the default value would lead to a wrong-type-to-apply crash. * gnu/system/image.scm (system-disk-image)[image-builder]: When 'partition-initializer' returns #f, fall back to INITIALIZE-ROOT-PARTITION. * gnu/tests/base.scm (run-root-unmount-test)[test-image]: Remove 'initializer' field of partition. * gnu/image.scm (<partition>)[initializer]: Add comment.
* image: 'system-image' throws when given an incorrect image format.Ludovic Courtès2022-07-01
| | | | | | | Previously 'system-image' would return *unspecified* in that case, leading to a wrong-type-arg error crash down the road. * gnu/system/image.scm (system-image): Add 'else' clause.
* image: Add support for 32bit UEFI.Denis 'GNUtoo' Carikli2022-06-24
| | | | | | | | | | | | | | | | | * gnu/bootloader/grub.scm (grub-efi32-bootloader): New variable. (install-grub-efi32): New variable. * gnu/build/bootloader.scm (install-efi): Add a 'targets' keyword argument. (install-efi-loader): Likewise. * gnu/build/image.scm (initialize-efi32-partition): New procedure. * gnu/packages/bootloaders.scm (grub-efi32): New variable. * gnu/system/image.scm (esp32-partition): New variable (efi32-disk-image): New variable. (efi32-raw-image-type): New variable. (system-disk-image)[partition-image]: Set '#:grub-efi32' when calling the partition initializer. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu: install: Add uvesafb service only on targets that support v86d.Josselin Poiret2022-06-07
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/55806>. * gnu/system/install.scm (%installation-services): Refactor into a procedure, so that it can capture the system it's installing for. Conditionally add uvesafb-service-type based on whether v86d is supported by the target architecture. (installation-os)[services]: Use the %installation-service procedure. (uvesafb-shepherd-service): Remove %host-type checks. Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
* gnu: Remove wicd.Maxim Cournoyer2022-05-31
| | | | | | | | | | | | | | | The last release is from 2017, stuck on Python 2. * gnu/packages/wicd.scm: Delete file. * gnu/packages/patches/wicd-bitrate-none-fix.patch: Delete file. * gnu/packages/patches/wicd-get-selected-profile-fix.patch: Likewise. * gnu/packages/patches/wicd-urwid-1.3.patch: Likewise. * gnu/packages/patches/wicd-wpa2-ttls.patch: Likewise. * gnu/local.mk: De-register them. * gnu/services/networking.scm: Remove wicd service... * doc/guix.texi: ... and its documentation. * gnu/system/linux-container.scm (containerized-operating-system) <services-to-drop>: Remove wicd-service-type.
* image: Add fat32 support.Pavel Shlyak2022-05-31
| | | | | | | | | | | | * gnu/build/image.scm (make-vfat-image): Pass fs-bits as an argument and force 1kb logical sector size only if "ESP" flag is set. (make-partition-image): Add "fat32" partition type, support explicit "fat16" type with vfat alias. * gnu/system/image.scm (partition->dos-type partition): Return file system IDs for "fat16" and "fat32" partitions. (partition->gpt-type partition): Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* images: hurd: Adjust module imports.Efraim Flashner2022-05-25
| | | | | | | Follow-up to a9dcd60bc11afb3934c11fbad159a16f0f223fd1. * gnu/system/images/hurd.scm: Adjust module imports to changes in code structure.
* Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret2022-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* image: Add bootable flag support.Pavel Shlyak2022-05-23
| | | | | | | | | * gnu/build/image.scm (sexp->partition): Add flags support. * gnu/system/image.scm (partition->gexp): Ditto. (system-disk-image): Set the genimage bootable flag if it is part of the partition flags. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: image: Support GPT vfat partitions.Pavel Shlyak2022-05-23
| | | | | | * gnu/system/image.scm (system-disk-image): Support them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: image: Support MBR vfat partitions.Pavel Shlyak2022-05-23
| | | | | | * gnu/system/image.scm (system-disk-image): Support them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: image: Tweak error message.Mathieu Othacehe2022-05-23
| | | | * gnu/system/image.scm (system-disk-image): Tweak it.
* system: image: Fix indentation.Mathieu Othacehe2022-05-23
| | | | * gnu/system/image.scm: Fix it.
* services: Add more description fields.Ludovic Courtès2022-05-18
| | | | | | | * gnu/services.scm (simple-service): Add 'description' field. * gnu/services/base.scm (udev-rules-service): Likewise. * gnu/system/install.scm (configuration-template-service-type): Likewise. * gnu/tests.scm (marionette-service-type): Likewise.
* file-systems: Avoid load-time warnings when attempting to load (guix store).Ludovic Courtès2022-05-01
| | | | | | | | This makes sure warnings like "incompatible bytecode version" don't go through when looking for (guix store). * gnu/system/file-systems.scm (%store-prefix): Parameterize 'current-warning-port' around 'resolve-module' call.
* mapped-devices: Ensure 'cryptsetup open' gets a tty.Ludovic Courtès2022-04-08
| | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/54770>. Regression introduced in 400c9ed3d779308e56038305d40cd93acb496180. Previously, for an encrypted /home (say), "cryptsetup open" would be invoked by shepherd, with /dev/null as its standard input. It would thus run in non-interactive mode and, instead of asking for a passphrase, fail with: Nothing to read on input. This change ensures it runs in interactive mode. * gnu/build/file-systems.scm (system*/console, system*/tty): New procedures. * gnu/system/mapped-devices.scm (open-luks-device): Use 'system*/tty' instead of 'system*'.
* system: hurd: Fix bogus 'initrd-modules' field.Ludovic Courtès2022-04-08
| | | | | | | Reported by kitzman on #guix. * gnu/system/hurd.scm (%hurd-default-operating-system)[initrd-modules]: Set to the empty list.
* linux-container: Add #:guest-uid and #:guest-gid to 'eval/container'.Ludovic Courtès2022-03-19
| | | | | * gnu/system/linux-container.scm (eval/container): Add #:guest-uid and #:guest-gid and honor them.
* linux-container: 'eval/container' honors #:namespaces.Ludovic Courtès2022-03-19
| | | | | * gnu/system/linux-container.scm (eval/container): Pass #:namespaces to 'call-with-container'.
* images: novena: Fix build.Mathieu Othacehe2022-03-15
| | | | | | | * gnu/system/images/novena.scm (novena-barebones-os)[kernel]: Use the linux-libre-arm-generic kernel. [initrd-modules]: Do not specify any modules as sdhci-esdhc-imx, ahci_imx and i2c-dev are built-in in the arm-generic kernel.
* 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.