1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-06-14 20:24:05 +02:00
Commit Graph

1325 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli f71cf7b0df system: images: rock-4c-plus: remove duplicated serial port service.
Without this change, the rock-4c-plus boots fine and we can see the serial
port output is fine, but only part of what is typed through the serial port
reaches the console. This makes it very difficult to type commands.

And with this change, the serial port is already activated automatically and
in that case we can interact well with the console.

* gnu/system/images/rock-4c-plus.scm (rock-4c-plus-barebones-os):
  remove serial port service.

Change-Id: Ieb87f2ed6054b529ffa4399fcf4ec997e3e454a6
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-05-24 16:14:16 -07:00
Hilton Chain 93635a2bff file-systems: file-system-needed-for-boot?: Include more mount points.
This is useful when separating rootfs into many mount points, especially for
mounting tmpfs as /.  Mount points in this change are found and tested by
booting from a clean rootfs with such setup.

* gnu/system/file-systems.scm (file-system-needed-for-boot?): Mark /etc,
/var/lib and /var/log as needed for boot.

Merges: #8345
2026-05-24 23:05:34 +08:00
Maxim Cournoyer 8c4e19c1b4 file-systems: Register /etc/protocols in %network-configuration-files.
This is also needed in containers for defining the various protocols; its
absence would cause error like, for example with Perl:

   IO::Socket::INET6: sock_info: Bad protocol 'tcp'

* gnu/system/file-systems.scm (%network-configuration-files): Register
/etc/protocols.

Change-Id: I871cd01a0eac4f979d1e6e3614972fac8d1a5e0f
2026-05-21 20:06:20 +09:00
Janneke Nieuwenhuizen c62a39174e system: hurd-boot: Prepare for runsystem in Guile.
Fo guile to run, it needs pipe support: without pipe support it aborts at
startup.  Pipe support is currently createn in runsystem by creating a
passive translator

    settrans --create /servers/socket/1 /hurd/pflocal

However, this needs a writable root file-system, and runsystem is started with
a readonly root file-system.

This patch enables running guile early in runsystem, and thus prepares for
replacing the runsystem shell script with a guile program, by embedding the
servers/socket/1 passive translator into the hurd system image using xattr.

* gnu/build/hurd-boot.scm (make-hurd-device-nodes): Change optional root
parameter to keyword #:root.  Add #:hurd keyword parameter.  Use it to
create servers/socket/1 (pipe) and proc passive xattr translators.
* gnu/build/image.scm (initialize-root-partition): Update caller.
* gnu/system/image.scm (with-imported-modules*): Include (ice-9 optargs).
* gnu/system/images/hurd.scm (hurd-initialize-root-partition): Use it to
update caller.
* guix/scripts/system.scm (install): Update caller.

Change-Id: Ib3a672ae78bd969a2a4c0e33db8e38ccf71238ba
Merges: #8609
2026-05-19 18:34:56 +02:00
Trevor Arjeski 1ff6e687c0 shadow: use emulate to source profile scripts
Since 306bd80481 ("system: Source scripts from the /etc/profile.d
directory."), /etc/profile a glob which does not silently fail on zsh,
which by default does not enable NULL_GLOB.

* gnu/system/shadow.scm (%default-zprofile): Use emulate sh
  to source profile scripts.

Change-Id: Ia647682fc7a35afe448d56a99f866f31da0de145
Merges: https://codeberg.org/guix/guix/pulls/8479
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-18 13:55:02 +09:00
Hilton Chain fa39bf58a7 system: virtualized-operating-system: Fix version comparison.
(string< "6.6" "6.14") => #f

* gnu/system/vm.scm (virtualized-operating-system): Use version>=? instead of
string< to compare version.

Merges: #7959
2026-05-16 19:43:55 +08:00
Janneke Nieuwenhuizen c2abb6d048 system: hurd: Add e2fsprogs.
* etc/manifests/cross-compile.scm (%base-packages/hurd): Do not remove
e2fsprogs.
* gnu/system/hurd.scm (%base-packages/hurd): Add e2fsprogs.

Change-Id: I45edf91846efed31309c4c30d185606ba68c3140
Co-authored-by: Brian Cully <bjc@spork.org>
2026-05-13 20:42:36 +02:00
Janneke Nieuwenhuizen 1100e266a6 system: hurd: Add pciutils to %base-packages/hurd.
* gnu/system/hurd.scm (%base-packages/hurd): Add pciutils.

Change-Id: Id5d69b83a51a59ca6214a3f7a8b61d53fe9f66d3
2026-05-10 18:44:27 +02:00
Johannes Christ 2ca5575e9d linux-container: Add #:child-is-pid1? to ‘eval/container’.
* gnu/system/linux-container.scm (eval/container): Add `#:child-is-pid1?`.

Change-Id: I522783f22a38093d862f5cfad1c68baaacd4ecc5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-04-27 10:03:05 +02:00
Anderson Torres 8a8d8ca39e gnu: installer: Use kmscon-8.
Because kmscon-9 lacks the patch to change keyboared layout in the installer.

* gnu/system/install.scm (%installation-services)[kmscon-service-type]: Set kmscon to kmscon-8.

Change-Id: Ib12d9ec8f32042dce8ade66bf042ae32a7d05e2c
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Merges: #7381
2026-04-17 03:07:05 +08:00
Danny Milosavljevic b90597b98d guix: Ask LUKS password only once on boot when using GRUB.
* gnu/bootloader/grub.scm (make-grub-configuration): Modify.
* gnu/system/mapped-devices.scm (open-luks-device): Modify.
* gnu/tests/install.scm (%encrypted-root-installation-script): Modify.
(%encrypted-root-os): Make debugging possible.
* doc/guix.texi (Mapped Devices): Cross-reference automatic LUKS master key
passing.
(BootloaderConfiguration): Document automatic LUKS master key passing via
GRUB's (proc)/luks_script.  Update extra-initrd documentation.

Change-Id: I5be74a524de04232d156e750109707fe7e50c28a
2026-04-09 19:55:05 +02:00
Maxim Cournoyer ef465f8910 system/nss: Add 'merge' to NSS actions.
* gnu/system/nss.scm (lookup-action): Add merge.

Change-Id: I68ef691fe66f295735d82d72fea82adda3552df3
2026-04-07 15:10:10 +09:00
Hilton Chain 853077feed linux-initrd: Handle builtin modules with different module and file names.
Previously, modules we want were not normalized before comparing with
builtin-modules, which was normalized by file-name->module-name.

This made the code unable to find modules like nls_iso8859-1 (normalized to
nls_iso8859_1) and usb-storage (normalized to usb_storage) when they're built
into the kernel.

* gnu/system/linux-initrd.scm (flat-linux-module-directory) [modules-to-lookup]:
Normalize module name before comparing with builtin ones.

Change-Id: Ifb3ab298b8435c38040a6d58cdb53a3a46eb8ee1
Merges: #7514
2026-04-03 16:26:52 +08:00
Hilton Chain 50d2fb94db linux-initrd: default-initrd-modules: Add nvme.
This avoids surprises when customizing the kernel ;)

* gnu/system/linux-initrd.scm (default-initrd-modules): Add nvme module.

Change-Id: I0f26a606f0eb9fda96ade1ca4a798a32b173cbae
Merges: #7513
2026-03-27 18:30:27 +08:00
Janneke Nieuwenhuizen 9c46c6886f system: examples: devel-hurd: Avoid building graphviz-minimal.
This is a follow-up to commit
    e54d574add
    gnu: guix: Depend on 'graphviz-minimal'.

(and subsequent bumping of the guix package).

* gnu/system/examples/devel-hurd.tmpl (guix-packages): Also remove
graphviz-minimal.

Change-Id: Icae506f0a442ae44fbd98dc1974bf6571bddd883
2026-03-23 10:15:55 +01:00
Ludovic Courtès 72e724cef4 services, tests: Refer to inherited field values where applicable.
* gnu/machine/hetzner.scm (operating-system-authorize): Refer to ‘services’
instead of calling ‘operating-system-user-services’.
* gnu/services/virtualization.scm (secret-service-operating-system): Likewise.
* gnu/tests.scm (operating-system-with-console-syslog): Likewise.
* gnu/tests/avahi.scm (%avahi-os): Likewise.
* gnu/tests/base.scm (%test-guix-daemon-unprivileged): Likewise.
* gnu/tests/nfs.scm (%nfs-os): Likewise.
(run-nfs-full-test): Likewise.
* gnu/system/vm.scm (virtualized-operating-system): Refer to ‘initrd-modules’
instead of calling ‘operating-system-initrd-modules’.

Change-Id: I00c5f5c1e171b174bf0ca709b2dbd13a2fe161b5
2026-03-20 13:27:16 +01:00
Cayetano Santos 706541d384 gnu: genimage: Move to flashing-tools.
* gnu/packages/genimage.scm: Remove.
* packages/patches/genimage-mke2fs-test.patch: Remove.
* gnu/local.mk (GNU_SYSTEM_MODULES): Unregister module.
(dist_patch_DATA): Unregister patch.
* po/packages/POTFILES.in: Unregister module.
* gnu/packages/flashing-tools.scm (genimage): Add variable.
* gnu/packages/image.scm: Update used module.

Merges guix/guix!7045

Change-Id: Iaeafca2b63bcd92f588894543316b968f45c577c
2026-03-13 19:29:31 +01:00
Yelninei d4ee8de214 system: hurd: Remove %hurd64-default-* variants.
Since 8f852885de these are aliases.

* gnu/system/hurd.scm (%hurd64-default-operating-system,
%hurd64-default-operating-system-kernel): Delete variables.

* gnu/system/images/hurd.scm (hurd64-barebones-os): Replace
%hurd64-default-operating-system with %hurd-default-operating-system
* gnu/system/examples/bare-hurd64.tmpl (%hurd64-os): Same.
* gnu/tests/virtualization.scm (%childhurd64-os): Remove usage of
%hurd64-default-operating-system-kernel.

Merges: #5544.

Change-Id: Ie7345cd99dc37712e7a0f7683ad738c194c70fa7
2026-03-09 13:01:10 +01:00
Janneke Nieuwenhuizen 2cec204a4c system: examples: bare-hurd64: Remove now unnecessary kernel-arguments.
On x86_64-gnu, that only works with RumpDISK, the GRUB bootloader
configuration always inserts "noide".

* gnu/system/examples/bare-hurd64.tmpl (%hurd64-os)[kernel-arguments]:
Remove.

Change-Id: Ic648d88ea4171adaa0f932436fbeaadb208cdbfa
2026-03-06 19:47:54 +01:00
Ludovic Courtès a1611ced6d system: gdbinit: Save command history by default.
By default, GDB does not save history.  This improves on the default.

* gnu/system/shadow.scm (%default-gdbinit): Add ‘set history’ commands.
(gdb-history-placeholder): New variable.
(default-skeletons): Add it.

Change-Id: Ie3f9c26098066b4bd896b0593546015a1b429209
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6559
2026-02-27 23:54:00 +01:00
Ludovic Courtès 1892626390 system: gdbinit: Fix default ‘debug-file-directory’ for user profiles.
This fixes a bug whereby ‘file-exists?’ would be called on tilde-prefixed
directory names before tilde expansion has taken place.  As a result,
~/.guix-profile and ~/.guix-home/profile would never be included in
‘debug-file-directory’.

* gnu/system/shadow.scm (%default-gdbinit): Remove call to ‘file-exists?’.

Change-Id: I3a6bf1fec6bfbf208679d030dd6b380b9c6a4789
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-02-27 23:54:00 +01:00
Yelninei 73e5fc3854 system: examples: Remove comments on missing login prompt on hurd64.
* gnu/system/examples/bare-hurd64.tmpl: Remove outdated comment.
* gnu/system/examples/devel-hurd64.tmpl: Remove outdated comment.

Merges: https://codeberg.org/guix/guix/pulls/5545
Change-Id: Icd31fe47392263f2629e882c791013679a0fd597
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-27 22:26:08 +00:00
Denis 'GNUtoo' Carikli 40269978c0 images: Add am335x-evm support.
* gnu/system/images/am335x-evm.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Change-Id: Ic3695d9d26a4870500a9bf1b2a3d53d93fed6db6
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-02-24 21:29:40 -08:00
Andreas Enge 7911238d09 system: Remove asus-c201.tmp.
The file transitively depends on vboot-utils, which does not build
and which depends on python2. This effectively reverts commit
df2a96167f .

* gnu/system/examples/asus-c201.tmpl: Remove file.
* Makefile.am (EXAMPLES): Unregister file.

Change-Id: I90683a01fc53c0491a77670c850c7afe6026c878
2026-02-17 16:52:24 +01:00
Andreas Enge a2a00c2fcc system: Remove nintendo-nes-classic-edition installer.
* gnu/system/install.scm (nintendo-nes-classic-edition-installation-os):
Delete variable.
* gnu/bootloader/u-boot.scm
(u-boot-nintendo-nes-classic-edition-bootloader): Delete variable.

Change-Id: I538d1b7d80f4d475c5389bd41cee4ab4358c05c2
2026-02-17 13:44:24 +01:00
Efraim Flashner 0689ad6dd0 system: vm: Remove grub-efi workaround.
Bug https://bugs.gnu.org/28768 no longer needs working around.

* gnu/system/vm.scm (virtualized-operating-system): Don't override the
bootloader of the system configuration used.

Change-Id: I495f59a6edd7929e2d47276db53fd86a89ac95e9
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-02-11 18:32:51 +02:00
Efraim Flashner 485819c180 system: images: Add image names.
* gnu/system/images/a20-olinuxino-lime2.scm
(a20-olinuxino-lime2-image-type):
* gnu/system/images/novena.scm (novena-image-type),
* gnu/system/images/orangepi-r1-plus-lts-rk3328.scm
(orangepi-r1-plus-lts-rk3328-image-type),
* gnu/system/images/pine64.scm (pine64-image-type),
* gnu/system/images/pinebook-pro.scm (pinebook-pro-image-type),
* gnu/system/images/rock-4c-plus.scm (rock-4c-plus-image-type),
* gnu/system/images/rock64.scm (rock64-image-type):  Add name field to
constructor.
* gnu/system/images/unmatched.scm (unmatched-disk-image),
* gnu/system/images/visionfive2.scm (visionfive2-disk-image): Add name
field.

Change-Id: Id64082f912e6346c1f3b47619ce31f129612ff34
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-02-09 08:36:09 +02:00
Sergey Trofimov dbbdc41b0c system: pam: Replace deprecated setuid-program-service-type
* gnu/system/pam.scm (pam-root-service-type): Replace
setuid-program-service-type with privileged-...

Change-Id: I0a736cc49d8710d4b2b03d3e9761f9daed8b74b1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-02-06 20:49:03 +01:00
Hilton Chain 689ee928a6 system: skeleton-directory: Remove special cases of directory creation.
Directories have been supported in skeleton names since
d9ea94dc44.

* gnu/system/shadow.scm (default-skeletons): Add directories to skeleton names.
(skeleton-directory): Remove special cases of directory creation.

Change-Id: I7918498c2ff115ad8d1f5e3472678da1db8b4f2e
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2026-02-06 19:14:44 +08:00
Denis 'GNUtoo' Carikli 69cc00def4 system: Add am335x-evm installer.
* gnu/system/install.scm (am335x-evm-installation-os):
  New exported variable.

Change-Id: I6dbe95f64d2c6f609fbf0e9c09e484f90850c70b
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-02-01 10:57:47 -08:00
Denis 'GNUtoo' Carikli 2f51ef95b4 system: export rock-4c-plus-installation-os.
* gnu/system/install.scm (rock-4c-plus-installation-os):
  Export variable.

Change-Id: Id91a9d77e34685a6bd62f2098b3b812e246cb758
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2026-02-01 10:57:02 -08:00
Maxim Cournoyer 1b761aa3df system/linux-container: Re-export %namespaces, %writable-/tmp variables.
* gnu/system/linux-container.scm: Re-export %namespaces and %writable-/tmp,
which are from (guix build linux-container).

Change-Id: Iaad362247825e30fb6837af013018f2c472c19fa
2026-01-27 14:27:25 +09:00
Ludovic Courtès 15f87a0f03 describe: Define and use ‘modules-from-current-profile’.
Fixes <https://issues.guix.gnu.org/75458>.

Fixes a bug whereby bootloader, image, platform, etc. modules would be
searched for in locations other than the current profile, possibly leading to
incompatible files being loaded.  More generally, this bug would break
statelessness: depending on what happens to be available in $GUILE_LOAD_PATH,
some modules would or would not be loaded.

* guix/describe.scm (modules-from-current-profile): New procedure.
* gnu/bootloader.scm (bootloader-modules): Use it instead of ‘all-modules’.
* gnu/system/image.scm (image-modules): Likewise.
(not-config?): Rename to…
(neither-config-nor-git?): … this, and add (guix git).  Adjust users.
* guix/import/utils.scm (build-system-modules): Likewise.
* guix/platform.scm (platform-modules): Likewise.
* guix/upstream.scm (importer-modules): Likewise.

Change-Id: I8ac55a5bcdf54990665c70d0aa558b9b2c2548d4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4859
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-25 21:17:44 +01:00
Ludovic Courtès 73899752f8 system: hurd: Switch to the Shepherd’s system log.
This is a followup to 8492a3c896.

* gnu/system/hurd.scm (%base-services/hurd): Replace
‘syslog-service-type’ by ‘shepherd-system-log-service-type’.

Change-Id: I3e12087a04f06210bd10b649b29fcf9949c5aa35
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2659
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-25 21:17:39 +01:00
Rutherther 7c0cd7e45b Merge branch 'version-1.5.0'
Change-Id: Id73c0c74600a3da3373b3a37236b505af65bfe31
2026-01-22 13:27:13 +01:00
Rutherther 6d4cb99a15 gnu: %desktop-services: Switch to GDM on 64-bit systems.
* gnu/services/desktop.scm
(desktop-services-for-system): Use gdm on all 64-bit systems.

* gnu/services/xorg.scm (set-xorg-configuration): Adapt to
desktop-services-for-system change.

* gnu/system/examples/desktop.tmpl: Determine the support of Gnome by checking
for supported package.

Fixes: #5388
Change-Id: I0d512a7c31188cea0335e66f00a6d65ae59d09a4
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-19 18:51:12 +01:00
Rutherther a6a0c82d73 system: install: Add support for more boot devices on AArch64.
The state is not great, there are many unsupported devices in the current
state. This adds support for much more USB controllers than before and also
SD cards.

* gnu/system/install.scm (%installation-initrd-modules): Add a lot of new
modules to support booting on various devices

Change-Id: I523ebe992a7e3740708622899d1209f20eb23e63
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5320
2026-01-16 20:28:28 +01:00
Artyom V. Poptsov 0e4fd181d9 gnu: visionfive2: Update the module commentary.
* gnu/system/images/visionfive2.scm: Update the module commentary.

Change-Id: If3d12bb0e3ccb9eaced4eb1e3afe636c7b89896f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4855
2026-01-16 20:23:49 +01:00
Artyom V. Poptsov 2cb6948dc2 gnu: visionfive2: Update the module commentary.
* gnu/system/images/visionfive2.scm: Update the module commentary.

Change-Id: If3d12bb0e3ccb9eaced4eb1e3afe636c7b89896f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #4855
2026-01-16 20:13:43 +01:00
Rutherther 9448ec6fb2 install: Add guix-system-installer executable to system profile.
To allow users in headless consoles to use the graphical installer, add an
executable. This executable is referred to by the console motd, so users
in headless setups will get to know about it.

* gnu/system/install.scm
(installer-command-package): New variable.
(%installation-services): Use it, add it to the profile-service-type

Change-Id: Id2d07b3f190aa17c99c7667c3bb31ae696499dde
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5346
2026-01-14 09:17:35 +01:00
Rutherther 94f9177cf8 install: Show different motd in headless console.
motd is shown by the pam module, it doesn't support changing what motd gets
displayed easily. The only way to control it is by read permissions on
individual motd files, making files unreadable by the user logging in.

So instead of that, make a custom script that prints different motd,
checking if a temporary file exists. An environment variable would be better
suited for this purpose, but those aren't passed through by PAM.

* gnu/system/install.scm
(%installation-login-pam-service): New variable. Modified login pam service.
(%installation-console-login): New variable. Wrapper around login to create a
file for PAM rule.
(%installation-services): Use new login pam service and wrapper.

Change-Id: I5e05e604b3106390181190559ade62ca5e2db216
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 09:17:34 +01:00
Rutherther ab22501915 install: Register agetty on primary console on AArch64.
This adds the possibility to parse /proc/consoles to find a primary console.
Then, on AArch64 this is used in the installation image. On AArch64, the boot
usually happens with chosen device tree that contains the serial console.
On x86_64, this does not happen so often, so we keep the installation iso
minimal there.

The primary console is chosen, but there is a fallback to any non-virtual one.
Virtual console (/dev/tty0) is skipped, because that one can point to any
console, like /dev/tty1 and so on. So it's not safe to register agetty on it.

* gnu/build/linux-boot.scm (read-linux-consoles): New variable.
* gnu/services/base.scm (default-serial-console): Use primary console as
fallback.
* gnu/system/install.scm (%installation-services): Add agetty tty for
consoles.

Change-Id: Iae01f7bc85b5ffdef2e52b1d0710889915b0f54a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-14 09:17:33 +01:00
Ryan Sundberg 62c28bc6d8 image: Use unshare to map root user for btrfs
The current version of `mkfs.btrfs` has a regression when combined with
`fakeroot` where it does not detect the faked root uid/gid of files when
building the filesystem. This produces partition images with `/` owned by
the guixbuild user when it should be owned by root.

Using `unshare` rather than `fakeroot` resolves this by doing the uid
mapping at the kernel level rather than overloading the `stat` function.

An equivalent issue was [reported and patched in
NixOS](https://github.com/NixOS/nixpkgs/pull/434122)

* gnu/build/image.scm (system-disk-image): Import `util-linux` instead of
`fakeroot`.
* gnu/system/image.scm (make-btrfs-image): Use `unshare --map-root-user`

Change-Id: Id4eeaf510f3ec5f4a23b4d700a73e2cf46da40b1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5536
2026-01-12 10:56:38 +01:00
Rutherther 7c3185afcb image: operating-system-for-image: Bring back root-fs placeholder.
To calculate the UUID in `root-uuid`, the operating-system has to have a root
file system, because it's typically used in the
operating-system-boot-parameters.

Followup of efc32c6684 that it partially reverts.

* gnu/system/image.scm (operating-system-for-image): Re-introduce root file
system to operating-system used to calculate the UUID.

Fixes: #5131
Reported-By: Yelninei <yelninei@tutamail.com>
Change-Id: Ica2c3d3715cd90fccf3a7484f390b36de3cdfe7f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5141
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2026-01-04 12:46:55 +01:00
Tanguy Le Carrour 0f315ca398 system: images: Add A20-OLinuXino-LIME2 image.
* gnu/local.mk: Register image.
* gnu/system/images/a20-olinuxino-lime2.scm: New file.

Change-Id: Ib1370307951d78d3ac119c8ab9a612a8e8a5bd2b
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
2026-01-01 01:06:14 +01:00
Rutherther aff9ce3761 image: operating-system-for-image: Bring back root-fs placeholder.
To calculate the UUID in `root-uuid`, the operating-system has to have a root
file system, because it's typically used in the
operating-system-boot-parameters.

Followup of efc32c6684 that it partially reverts.

* gnu/system/image.scm (operating-system-for-image): Re-introduce root file
system to operating-system used to calculate the UUID.

Fixes: #5131
Reported-By: Yelninei <yelninei@tutamail.com>
Change-Id: Ica2c3d3715cd90fccf3a7484f390b36de3cdfe7f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5141
2025-12-26 19:54:23 +01:00
Rutherther e2857e21fa system: install: Remove current-guix url override.
Prefer parameterization of current-guix in release artifacts
generation.

* gnu/system/install.scm (%installation-service): Use (current-guix)
directly in guix service configuration.

Change-Id: Ifa363465e6a4f6936d0e51eaf1b33872519e2b0a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:46 +01:00
Rutherther 105dbf7dee vm-image.tmpl: Remove current-guix url override.
This simplifies things thanks to the release artifacts now, they have been
rewritten to Guile and can now supply current-guix-package as a parameter, as
was intended. That way the checkout is not leaked for the release artifacts.

* gnu/system/examples/vm-image.tmpl
(guix-package-commit): Remove variable.
(operating-system): Use (current-guix) directly.
* gnu/system/examples/vm-image-efi.tmpl: Likewise.

Change-Id: Iabf1bb5bbb86b9984bfb87ba0543782a6dce3192
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:45 +01:00
Rutherther d226cc4933 image: system-iso9660-image: Propagate image-name to derivation name.
* gnu/system/image.scm (system-iso9660-image): Use name from image-name
instead of hardcoded image.iso.

Change-Id: I3cea3857729c2eb7d6728f650db7fb33cf4c8c8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:44 +01:00
Rutherther 8ba84edf99 linux-initrd: Support more virtio modules in initrd.
Adds mmio and scsi modules for virtio. scsi one is needed for using
virtio-scsi-pci, that can be a common option on aarch64, where only two
options pop up for mounting disks:
- virtio-scsi-pci
- virtio-blk

While virtio-blk should generally be preferred, sometimes virtio-scsi-pci pops
up first on the internet, so people can use it.

virtio-mmio is a necessity on Aarch64 for virtio-blk to work.

* gnu/system/linux-initrd.scm (default-initrd-modules): Add virtio_mmio and
virito_scsi.

Change-Id: Ia8fabb5594893ef1712359d27d482d9f44dc89c0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:42 +01:00