guix-mirrors/gnu/system
Ludovic Courtès a391394a22
linux-container: Support having a read-only root file system.
Until now, the read-only file system set up by ‘call-with-container’
would always be writable.  With this change, it can be made read-only.
With this patch, only ‘least-authority-wrapper’ switches to a read-only
root file system.

* gnu/build/linux-container.scm (remount-read-only): New procedure.
(mount-file-systems): Add #:writable-root? and #:populate-file-system
and honor them.
(run-container): Likewise.
(call-with-container): Likewise.
* gnu/system/linux-container.scm (container-script): Pass #:writable-root?
to ‘call-with-container’.
(eval/container): Add #:populate-file-system and #:writable-root? and
honor them.
* guix/scripts/environment.scm (launch-environment/container):
Pass #:writable-root? to ‘call-with-container’.
* guix/scripts/home.scm (spawn-home-container): Likewise.
* tests/containers.scm ("call-with-container, mnt namespace, read-only root")
("call-with-container, mnt namespace, writable root"): New tests.

Change-Id: I603e2fd08851338b737bb16c8af3f765e2538906
2025-05-05 14:33:59 +02:00
..
examples gnu: Fix some misspellings. 2025-02-19 11:21:47 +02:00
images images: visionfive2: Add support for booting from nvme. 2025-04-08 14:58:19 +08:00
accounts.scm system: Add /etc/subuid and /etc/subgid support. 2024-12-18 18:32:40 +01:00
file-systems.scm Revert "file-systems: %base-file-systems: Add tmpfs /run." 2025-03-05 14:45:15 +08:00
hurd.scm services: shepherd: Default to 1.0. 2024-12-09 23:15:44 +01:00
image.scm image: Add support for btrfs. 2024-10-14 14:08:43 +02:00
install.scm install: Use ‘shepherd-system-log-service-type’. 2025-03-10 18:22:55 +01:00
keyboard.scm
linux-container.scm linux-container: Support having a read-only root file system. 2025-05-05 14:33:59 +02:00
linux-initrd.scm linux-initrd: Add mmc_block. 2025-04-08 14:57:23 +08:00
locale.scm system: locale: ‘glibc-supported-locales’ uses zstd instead of xz. 2024-09-09 17:17:55 +02:00
mapped-devices.scm mapped-devices/luks: Add support for --allow-discards. 2025-03-22 22:53:13 +09:00
nss.scm
pam.scm system: pam: Export pam records predicates. 2024-12-18 18:32:40 +01:00
privilege.scm privilege: Add file-like->setuid-program helper. 2024-09-08 02:00:00 +02:00
setuid.scm privilege: Add file-like->setuid-program helper. 2024-09-08 02:00:00 +02:00
shadow.scm services: account: Create /var/guix/profiles/per-user/$USER. 2025-04-20 18:50:51 +02:00
uuid.scm uuid: Add support for exFAT. 2024-09-01 02:00:00 +02:00
vm.scm vm: Account for an upstream change in the name of the Cirrus kernel module. 2025-04-27 02:29:41 -04:00