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>
installer: network: Check response code to assess substitute availability. This is to accomodate following situation: - The proxy is up - The substitute server is down When that happens, 5xx is returned from the proxy, typically either Bad Gateway or Gateway Timeout. This implies the substitute server is down. Still, for checking if the user is online, we do not check the response code. If there is a response, even 4xx, 5xx, it still means the user is online. * gnu/installer/newt/network.scm (url-alive?): Add optional argument to to check the response code. (common-urls-alive?): Add the same argument, passing it to url-alive? (check-substitute-availability): Assume offline when non-successful http code returned. Follow up of 9ea2174ba8f05445227c952e0faa17d9f65ddb8f. Change-Id: I52ae8a49407009dd76ad5da3925355770bc25d0c Change-Id: I99a77cb7332198bae84f28a00a6cc0409d5bf3b9 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5217
installer: Add Hurd x86_64 as an option. * gnu/installer/newt/kernel.scm (run-kernel-page): Rename "Hurd" to "Hurd 32-bit (experimental)". On 64-bit, also offer "Hurd 64-bit (highly experimental!)", and make these strings translatable. Make "Linux Libre" the first option. Add a line break after "When in doubt...". Upon re-entrry, use pre-selected kernel as the default. Make sure to always [re]set %current-target-system, as this page may be revisited and another kernel choice selected. * gnu/installer/kernel.scm (kernel->configuration): Update accordingly. * gnu/installer/final.scm (install-system): Also cater for the 64-bit Hurd by simply adding --target=(%current-target-system). Change-Id: I14cb2d2815265b8841c16cf9bcc3857b1024f507
gnu: sudo: Add libxcrypt dependency on the Hurd. * gnu/packages/admin.scm (sudo)[inputs]: Add libxcrypt on the Hurd. Change-Id: I3d43526d10ca7d758b4f4870d84923be3a39977d
gnu: hurd: Add libxcrypt dependency. Fixes guix/guix#5538 * gnu/packages/hurd.scm (hurd)[inputs]: Add libxcrypt. Change-Id: I69e9624040d4b265ddb891ce894ce9a26032df36
gnu: llvm-18: Skip tests on powerpc64le-linux. * gnu/packages/llvm.scm (llvm-18)[arguments]: Adjust the tests flag to skip the tests on powerpc64le-linux. Change-Id: I2a1c25642b00b29f53be619b72eea27c005f2db8
gnu: freerdp: Update to 3.20.0. Fixes: #5268. * gnu/packages/rdesktop.scm (freerdp): Update to 3.20.0. [source]: Remove patch. [arguments]: Adjust test-exclude, configure-flags for new version. * gnu/packages/patches/freerdp-3.16.0-rpath.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: If30bfff499cc57b2158c7be5dc9644f8898bb492
gnu: plasma-desktop: Skip failing test on AArch64. The tst_calibrationtool test fails on aarch64 due to floating-point precision issues: QMatrix4x4 comparison fails with tiny differences (1.11759e-08 instead of exact 0). * gnu/packages/kde-plasma.scm (plasma-desktop)[arguments]: Add tst_calibrationtool to test-exclude on aarch64. Change-Id: I3875329704b50b1ecd3ccea41a355d53deb517cf Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #4846 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
gnu: kwin: Skip failing tests on AArch64. * gnu/packages/kde-plasma.scm (kwin)[arguments]: Add kwin-testSecurityContext and kwin-testXwaylandSelection to test-exclude. Change-Id: I0256e0e390552deb54eb0b5368f1799800ec8cb0 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
gnu: bcachefs-static: Do not depend on %current-system in toplevel. Make the variables that depend on %current-system procedures and call them from package arguments, a thunked field. * gnu/packages/file-systems.scm (bcachefs-tools-rust-target): Make it a procedure. (bcachefs-tools-target/release): Make it a procedure. (bcachefs-tools-cargo-args): Make it a procedure. (bcachefs-tools-make-flags): Make it a procedure. (bcachefs-tools-make-install-flags): Make it a procedure. (bcachefs-tools-minimal): Call newly made procedure. (bcachefs-tools): Call newly made procedure. (bcachefs-tools-minimal/static): Call newly made procedure. Fixes: #5195 Change-Id: I9f08b3e34f869b8f9f54b71192eff61357e9cc85 Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5219 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
system: operating-system-etc-service: Unset GUIX_PROFILE. This seems to have been omitted, currently users on default Guix System installations do have GUIX_PROFILE set to their ~/.config/guix/current. This is wrong and can lead to some surprises when sourcing etc/profile of a Guix profile. Followup of 50a2d73eac1577e35b526d3fc91423b97e581aef. * gnu/system.scm (operating-system-etc-services): Clean up GUIX_PROFILE. Change-Id: Ia5bfb1907fa7ae887ac0336e6cd1922e611b6bdf Signed-off-by: Rutherther <rutherther@ditigal.xyz> Merges: #5119 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
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 efc32c6684f75531cfd600874ba5d23a0bd643b9 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>
gnu: guix: Disable new syscall tests on armhf. These tests currently fail on armhf. They would require large amount of time or knowledge to be fixed and it's on a platform that's already not being supported too well. Followup of d339785a0fbd8f13930082a4fa7a73b6685630fd. * gnu/packages/package-management.scm (guix): Disable new tests in tests/syscalls.scm on arm32. Change-Id: I056fb04a9a1230ed3d8718a4719a5f6d7010b847 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
gnu: guix: Update to 1.5.0rc1. Change-Id: I5afcfb7071c559b356e435bdefb4624a2c4ffa00
installer: Drop uri from provenance log. To synchronize the artifacts made from Cuirass, pre-inst-env and time-machine, drop the url from provenance sexp. * gnu/installer.scm (provenance-sexp): Drop url. Change-Id: Ibe2515abdc92853ce06c0381dd03cc61b2077335 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
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>
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>
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>
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>
system: vm-image-efi.tmpl: Add example efi vm image. This is a copy of vm-image.tmpl, but with efi bootloader. Since user ends up with this config in their /run/current-user/configuration.scm and the regular way to continue is to copy that file and reconfigure off of it, it seems better to just keep distinct configuration. Moreover xf86-video-intel is removed, because it doesn't compile on aarch64. * gnu/system/examples/vm-image-efi.tmpl Change-Id: I0f72ac5a775339ee84cb1a4046ca5a8deca0e2ea Signed-off-by: Rutherther <rutherther@ditigal.xyz>