aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-09-24 12:19:01 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-09-24 12:19:01 +0200
commitb18b2d13488f2a92331ccad2dc8cbb54ee15582f (patch)
treefe841af2c61142cf065f4bd0f9d5b8668ae90823 /gnu/system
parentafa9da84255d32d9f457be381c12666b69ac3f69 (diff)
parent35fd25af9bbcce84908101a9f487ba106a8d6df7 (diff)
downloadguix-b18b2d13488f2a92331ccad2dc8cbb54ee15582f.tar
guix-b18b2d13488f2a92331ccad2dc8cbb54ee15582f.tar.gz
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/file-systems.scm21
-rw-r--r--gnu/system/hurd.scm5
-rw-r--r--gnu/system/image.scm21
-rw-r--r--gnu/system/install.scm17
-rw-r--r--gnu/system/locale.scm5
5 files changed, 51 insertions, 18 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 95b757a698..529f1536de 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -85,6 +85,7 @@
%elogind-file-systems
%base-file-systems
+ %base-live-file-systems
%container-file-systems
<file-system-mapping>
@@ -495,6 +496,26 @@ TARGET in the other system."
%efivars-file-system
%immutable-store))
+(define %base-live-file-systems
+ ;; This is the bare minimum to use live file-systems.
+ ;; Used in installation-os.
+ (list (file-system
+ (mount-point "/")
+ (device (file-system-label "Guix_image"))
+ (type "ext4"))
+
+ ;; Make /tmp a tmpfs instead of keeping the overlayfs. This
+ ;; originally was used for unionfs because FUSE creates
+ ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
+ ;; Guix's test suite, for instance (see
+ ;; <http://bugs.gnu.org/23056>). We keep this for overlayfs to be
+ ;; on the safe side.
+ (file-system
+ (mount-point "/tmp")
+ (device "none")
+ (type "tmpfs")
+ (check? #f))))
+
;; File systems for Linux containers differ from %base-file-systems in that
;; they impose additional restrictions such as no-exec or need different
;; options to function properly.
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 22dafae622..3b138bef65 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -26,6 +26,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages certs)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages file)
@@ -34,6 +35,7 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages hurd)
#:use-module (gnu packages less)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages texinfo)
#:use-module (gnu services)
#:use-module (gnu services base)
@@ -71,7 +73,7 @@
(list shepherd-0.8 hurd netdde bash coreutils file findutils grep sed
diffutils patch gawk tar gzip bzip2 xz lzip
guile-3.0-latest guile-colorized guile-readline
- net-base inetutils less shadow sudo which
+ net-base nss-certs inetutils less procps shadow sudo which
info-reader))
(define %base-services/hurd
@@ -127,6 +129,7 @@
(file-systems '())
(packages %base-packages/hurd)
(timezone "GNUrope")
+ (locale-libcs (list glibc/hurd))
(name-service-switch #f)
(essential-services (hurd-default-essential-services this-operating-system))
(setuid-programs %setuid-programs/hurd)))
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 5b8da2f896..fa4cab0b03 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -77,6 +77,7 @@
root-partition
mbr-disk-image
+ mbr-hybrid-disk-image
efi-disk-image
iso9660-image
docker-image
@@ -86,6 +87,7 @@
image-with-os
mbr-raw-image-type
+ mbr-hybrid-raw-image-type
efi-raw-image-type
efi32-raw-image-type
qcow2-image-type
@@ -156,6 +158,13 @@ parent image record."
(inherit root-partition)
(offset root-offset))))))
+(define mbr-hybrid-disk-image
+ (image-without-os
+ (format 'disk-image)
+ (partition-table-type 'mbr)
+ (partitions
+ (list esp-partition root-partition))))
+
(define efi-disk-image
(image-without-os
(format 'disk-image)
@@ -217,6 +226,11 @@ set to the given OS."
(name 'mbr-raw)
(constructor (cut image-with-os mbr-disk-image <>))))
+(define mbr-hybrid-raw-image-type
+ (image-type
+ (name 'mbr-hybrid-raw)
+ (constructor (cut image-with-os mbr-hybrid-disk-image <>))))
+
(define efi-raw-image-type
(image-type
(name 'efi-raw)
@@ -516,6 +530,13 @@ used in the image."
(image-partition-table-type image)))
(else "")))
+ (when (and (gpt-image? image)
+ (not
+ (memq (bootloader-name bootloader) '(grub-efi grub-efi32))))
+ (raise
+ (formatted-message
+ (G_ "EFI bootloader required with GPT partitioning"))))
+
(let* ((format (image-format image))
(image-type (format->image-type format))
(image-type-options (genimage-type-options image-type image))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 7a68c19606..28161de153 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -517,22 +517,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(file-systems
;; Note: the disk image build code overrides this root file system with
;; the appropriate one.
- (cons* (file-system
- (mount-point "/")
- (device (file-system-label "Guix_image"))
- (type "ext4"))
-
- ;; Make /tmp a tmpfs instead of keeping the overlayfs. This
- ;; originally was used for unionfs because FUSE creates
- ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
- ;; Guix's test suite, for instance (see
- ;; <http://bugs.gnu.org/23056>). We keep this for overlayfs to be
- ;; on the safe side.
- (file-system
- (mount-point "/tmp")
- (device "none")
- (type "tmpfs")
- (check? #f))
+ (append %base-live-file-systems
;; XXX: This should be %BASE-FILE-SYSTEMS but we don't need
;; elogind's cgroup file systems.
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 6895b209dc..bc572baeb9 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2017, 2019-2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <jannek@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -147,7 +148,9 @@ data format changes between libc versions."
(define %default-locale-libcs
;; The libcs for which we build locales by default.
- (list glibc-2.33 glibc))
+ (if (system-hurd?)
+ (list glibc/hurd)
+ (list glibc-2.33 glibc)))
(define %default-locale-definitions
;; Arbitrary set of locales that are built by default. They are here mostly