summaryrefslogtreecommitdiff
path: root/gnu/system
AgeCommit message (Expand)Author
2021-12-03system: vm: Remove the vga argument....* 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> Mathieu Othacehe
2021-12-03guix system vm: Add --no-graphic CLI argument....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> Attila Lendvai
2021-12-01gnu: system: Add LUKS2 support for the root file system....* 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> Josselin Poiret
2021-11-23doc: Add new Swap Space section....* 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> Josselin Poiret
2021-11-23system: Add swap flags....* 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> Josselin Poiret
2021-11-23system: Rework swap space support, add dependencies....* 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> Josselin Poiret
2021-11-12image: Support generating GPT images via `partition-table-type`....* 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> Ryan Sundberg
2021-11-07file-systems: Validate the 'flags' field....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. Ludovic Courtès
2021-10-18system: hurd: Add 'info-reader' to %BASE-PACKAGES/HURD....* gnu/system/hurd.scm (%base-packages/hurd): Add INFO-READER. Ludovic Courtès
2021-10-18system: image: Ensure Hurd images are cross-compiled if needed....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. Ludovic Courtès
2021-10-13linux-initrd: Support checking NTFS volumes on boot....* gnu/system/linux-initrd.scm (file-system-packages): Add ntfsfix/static when needed. Tobias Geerinckx-Rice
2021-10-11gnu: Add platform support....* 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> Mathieu Othacehe
2021-09-24file-systems: Fix <file-system> skip-check-if-clean? default....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. Tobias Geerinckx-Rice
2021-09-23linux-initrd: Support XFS....* gnu/system/linux-initrd.scm (file-system-packages): Add xfs_repair/static when needed. (file-system-type-modules): Add ‘xfs’ module when needed. Tobias Geerinckx-Rice
2021-09-23uuid: Support XFS....* gnu/system/uuid.scm (string->xfs-uuid): New procedure. (%uuid-parsers, %uuid-printers): Add ‘xfs’ file system type. Tobias Geerinckx-Rice
2021-09-23linux-initrd: Include only the single ‘bcachefs’ binary....* gnu/system/linux-initrd.scm (file-system-packages): Substitute bcachefs/static for bcachefs-tools/static. Tobias Geerinckx-Rice
2021-09-23gnu: Don't abuse check-btrfs-file-system to scan....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. Tobias Geerinckx-Rice
2021-09-23file-systems: Support forced checks & repairs....* 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. Tobias Geerinckx-Rice
2021-08-29Migrate to the new 'targets' field of bootloader-configuration....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 Maxim Cournoyer
2021-08-28images: pinebook-pro: Fix the agetty baud rate....* gnu/system/images/pinebook-pro.scm (pinebook-pro-barebones-os): Fix the agetty baud rate. Mathieu Othacehe
2021-08-17services: slim: Add pam-gnupg support....* 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". Oleg Pykhalov
2021-08-15Update copyright/name notices for Christine Lemmer-Webber....* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber. * gnu/build/image.scm: Likewise. * gnu/build/vm.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/assembly.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/backup.scm: Likewise. * gnu/packages/check.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/finance.scm: Likewise. * gnu/packages/gnupg.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/haskell-xyz.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/password-utils.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/sphinx.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/system/vm.scm: Likewise. Christopher Lemmer Webber
2021-08-12system: install, hurd: Use 'setuid-programs'....This is a followup to a7ac19851baab3fbcc40c4b2cf5b00a6ac9cd2f3. * gnu/system/install.scm (installation-os)[setuid-programs]: Use 'setuid-program'. * gnu/system/hurd.scm (%setuid-programs/hurd): Use 'file-like->setuid-program'. Ludovic Courtès
2021-07-29system: Add (gnu system setuid)....I flubbed and somehow when including the patch series, this got dropped. Oops... should fix things again. * gnu/system/setuid.scm: New file. Christopher Lemmer Webber
2021-07-18pack: Streamline how files are included in tarballs....Thanks to Guillem Jover <guillem@debian.org> on the OFTC's #debian-dpkg channel for helping with troubleshooting. Letting GNU Tar recursively walk the complete files hierarchy side-steps the risks associated with providing a list of file names: 1. Duplicated files in the archive (recorded as hard links by GNU Tar) 2. Missing parent directories. The above would cause dpkg to malfunction, for example by aborting early and skipping triggers when there were missing parent directories. * guix/scripts/pack.scm (self-contained-tarball/builder): Do not call POPULATE-SINGLE-PROFILE-DIRECTORY, which creates extraneous files such as /root. Instead, call POPULATE-STORE and INSTALL-DATABASE-AND-GC-ROOTS individually to more precisely generate the file system. Replace the list of files by the current directory, "." and streamline the way options are passed. * gnu/system/file-systems.scm (reduce-directories): Remove procedure. * tests/file-systems.scm ("reduce-directories"): Remove test. Maxim Cournoyer
2021-07-08gnu: %guile-3.0-static-stripped: Rename to %guile-static-stripped....* gnu/packages/make-bootstrap.scm (%guile-3.0-static-stripped): Rename to %guile-static-stripped. (%guile-bootstrap-tarball): Adjust accordingly. * gnu/system/linux-initrd.scm (expression->initrd): Use %guile-static-stripped as default guile. * doc/guix.texi (initial RAM disk)[expression->initrd]: Adjust documentation accordingly. Efraim Flashner
2021-07-03file-systems: Ensure compared file names are both absolute or relative....* gnu/system/file-systems.scm (file-prefix?): Return #f unless both file names are absolute or relative. Reported-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2021-06-29pack: Prevent duplicate files in tar archives....Tar translate duplicate files in the archive into hard links. These can cause problems, as not every tool support them; for example dpkg doesn't. * gnu/system/file-systems.scm (reduce-directories): New procedure. (file-prefix?): Lift the restriction on file prefix. The procedure can be useful for comparing relative file names. Adjust doc. (file-name-depth): New procedure, extracted from ... (btrfs-store-subvolume-file-name): ... here. * guix/scripts/pack.scm (self-contained-tarball/builder): Use reduce-directories. * tests/file-systems.scm ("reduce-directories"): New test. Maxim Cournoyer
2021-06-25vm: Update deprecated QEMU option syntax....Fixes: warning: short-form boolean option 'readonly' deprecated Please use readonly=on instead * gnu/system/vm.scm (common-qemu-options): Use it instead. Tobias Geerinckx-Rice
2021-05-18Revert "vm: Autoload (gnu build vm)."...This reverts commit a67c00f4f7ee0a70fce14a7e1907cce332c85813 in an attempt to fix <http://issues.guix.gnu.org/48496>. Tobias Geerinckx-Rice
2021-05-17vm: Remove unused imports....* gnu/system/vm.scm (gnu): Remove unused imports. Ludovic Courtès
2021-05-17vm: Autoload (gnu build vm)....* gnu/system/vm.scm: Autoload (gnu build vm), which was pulling in (sqlite3). Ludovic Courtès
2021-05-10system: vm-image.tmpl: Add a crutch to allow refreshing the resolution....Inspired by https://github.com/jollheef/appvm/commit/1270b2e209bc002e69bbe6351ad5b04b7facfcc8. The price to pay is about 5% of a CPU core usage in the guest in the worst scenario. * gnu/system/examples/vm-image.tmpl (auto-update-resolution-crutch): New mcron job. [services]: Extend the mcron-service with it. Maxim Cournoyer
2021-05-06gnu: system: Add SPICE capability to the VM image....* gnu/system/examples/vm-image.tmpl (services) [spice-vdagent-service-type]: Add service. [slim-service-type] <xorg-configuration>: Add the xf86-video-qxl module. Maxim Cournoyer
2021-05-04locale: Remove glibc 2.29 from '%default-locale-libcs'....Having 2.29 is most likely no longer justified. Removing it reduces the closure size returned by: guix size $(guix system build gnu/system/install.scm) from 1.6G to 1.5G. * gnu/system/locale.scm (%default-locale-libcs): Remove GLIBC-2.29. Ludovic Courtès
2021-04-12system: vm: Add a memory-size argument to system-docker-image....* gnu/system/vm.scm (system-docker-image): Add a memory-size argument and pass it to expression->derivation-in-linux-vm. Mathieu Othacehe
2021-04-08system: vm: Set a larger value for the msize option of the 9p file system....Fixes <https://issues.guix.gnu.org/47225>. * gnu/system/vm.scm (%default-msize-value): New variable. (%linux-vm-file-systems): Use it as the value of the msize option. (mapping->file-system): Likewise. Reported-by: Leo Famulari <leo@famulari.name> Maxim Cournoyer
2021-02-25system: vm: Use Guile 3.0 in Docker images....* gnu/system/vm.scm (system-docker-image): Use GUILE-3.0. Ludovic Courtès
2021-02-22system: hurd: Have the static networking provision 'networking....Some services require networking, I'm looking at the Guix Build Coordinator agent. Networking seems to work in the childhurd VM, so I think this change makes sense. * gnu/system/hurd.scm (%base-services/hurd): Add 'networking to the provision parameter for the static-networking service. Christopher Baines
2021-02-21image: Add rock64 support....* gnu/system/images/rock64.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. Marius Bakke
2021-02-17scripts: system: Accept <image> records as input....* guix/scripts/system.scm (system-derivation-for-action): Replace "os" argument by "image". Remove "image-size", "image-type", "label" and "volatile-root?" arguments. (perform-action): Ditto. (process-action): Construct the <image> record and pass it to "perform-action" procedure. * tests/guix-system.sh: Adapt accordingly. * gnu/system/images/hurd.scm: Return the default image. * gnu/system/images/novena.scm: Ditto. * gnu/system/images/pine64.scm: Ditto. * gnu/system/images/pinebook-pro.scm Ditto. Mathieu Othacehe
2021-02-17scripts: system: Remove 'vm-image' command....Remove the 'vm-image' command that has been superseded by the 'image' command. * gnu/system/vm.scm (system-qemu-image): Remove it. * guix/scripts/system.scm (system-derivation-for-action): Mark 'vm-image' command as deprecated and use the image API to produce the VM image. (perform-action, show-help): Adapt accordingly. * tests/guix-system.sh: Ditto. * doc/guix.texi (Invoking guix system, Running Guix in a VM): Ditto. * etc/completion/fish/guix.fish: Ditto. * etc/completion/zsh/_guix: Ditto. Mathieu Othacehe
2021-01-20images: pinebook-pro: Fix default serial port....* gnu/system/images/pinebook-pro.scm (pinebook-pro-barebones-os)[services]: Start agetty on ttyS2 instead of ttyS0. Caliph Nomble
2021-01-20services: Do not warn, when duplicate users are eq?....* gnu/system/shadow.scm (account-activation): Delete duplicate (eq?) users and groups before transforming them to specs and asserting, that names are unique. Leo Prikler
2021-01-20shadow: End duplicate warnings with new lines....The change from formatted message causes the line to no longer automatically be ended. This will need to be reverted once again, when duplicate names become hard errors. * gnu/system/shadow.scm (assert-unique-account-names) (assert-unique-group-names): End format strings in ~%. Leo Prikler
2021-01-19system: Rename 'disk-image' command 'image'....* guix/scripts/system.scm (system-derivation-for-action): Rename 'disk-image' command 'image'. Warn when using the now deprecated 'disk-image' command. (show-help): Adapt accordingly. (guix-system): Ditto. * tests/guix-system.sh: Ditto. * gnu/system/examples/bare-hurd.tmpl: Ditto. * doc/guix.texi (Building the Installation Image, Building the Installation Image for ARM Boards, Invoking guix pack, Invoking guix system): Adapt documentation. Mathieu Othacehe
2021-01-17image: Rename "raw" image-type to "efi-raw"....* gnu/system/image.scm (raw-image-type): Rename to "efi-raw-image-type". * guix/scripts/system.scm (%default-options): Adapt accordingly. * doc/guix.texi: Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe
2021-01-13services: shepherd: 'shepherd-service-type' requires documentation....* gnu/services/shepherd.scm (shepherd-service-type): Require a 'description' form. * gnu/services/base.scm (root-file-system-service-type) (rngd-service-type, host-name-service-type): (virtual-terminal-service-type, console-keymap-service-type) (syslog-service-type, swap-service-type) (kmscon-service-type): Add description. * gnu/services/networking.scm (dhcp-client-service-type): Likewise. * gnu/system/install.scm (cow-store-service-type): Likewise. * gnu/system/linux-container.scm (dummy-networking-service-type): Likewise. * gnu/system/mapped-devices.scm (device-mapping-service-type): Likewise. * tests/guix-system.sh: Likewise. Ludovic Courtès
2021-01-13Reapply "system: Assert, that user and group names are unique."...* gnu/system/shadow.scm (assert-unique-account-names) (assert-unique-group-names): Demote formatted-message to warning. Leo Prikler
2021-01-12Revert "system: Assert, that user and group names are unique."...This reverts commit a3002104a84c60556b6616d100cb98019e48759d, which breaks certain system configurations like: $ guix system reconfigure config.scm guix system: error: the following groups appear more than once: lp Jonathan Brielmaier