[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#35697] [PATCH 5/8] linux-container: Compute essential services for
From: |
Ludovic Courtès |
Subject: |
[bug#35697] [PATCH 5/8] linux-container: Compute essential services for THIS-OPERATING-SYSTEM. |
Date: |
Sun, 12 May 2019 12:37:59 +0200 |
Previously, the 'essential-services' would correspond to the initial,
non-containerized OS. Thus, all the file systems removed in
'container-essential-services' would actually still be there because the
essential services would be computed on the non-containerized OS.
This is a followup to 69cae3d3356a69b7fe69481338f760545995485e.
* gnu/system/linux-container.scm (container-essential-services): Call
'operating-system-default-essential-services' to get the baseline
services.
(containerized-operating-system): Pass THIS-OPERATING-SYSTEM, not OS, to
'container-essential-services'.
Add a dummy root file system to 'file-systems'.
---
gnu/system/linux-container.scm | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index 5adec064f7..fc2e05a5bc 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -45,7 +45,7 @@ from OS that are needed on the bare metal and not in a
container."
(list (service-kind %linux-bare-metal-service)
firmware-service-type
system-service-type)))
- (operating-system-essential-services os)))
+ (operating-system-default-essential-services os)))
(cons (service system-service-type
(let ((locale (operating-system-locale-directory os)))
@@ -85,14 +85,20 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file
systems to add to OS."
(operating-system
(inherit os)
(swap-devices '()) ; disable swap
- (essential-services (container-essential-services os))
+ (essential-services (container-essential-services this-operating-system))
(services (remove (lambda (service)
(memq (service-kind service)
useless-services))
(operating-system-user-services os)))
(file-systems (append (map mapping->fs mappings)
extra-file-systems
- user-file-systems))))
+ user-file-systems
+
+ ;; Provide a dummy root file system.
+ (list (file-system
+ (mount-point "/")
+ (device "none")
+ (type "none")))))))
(define* (container-script os #:key (mappings '()))
"Return a derivation of a script that runs OS as a Linux container.
--
2.21.0
- [bug#35697] [PATCH 0/8] Make 'guix system docker-image' readily usable, Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 1/8] system: Export 'operating-system-default-essential-services'., Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 2/8] linux-container: Improve filtering of unnecessary file systems., Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 4/8] linux-container: Do not add %CONTAINER-FILE-SYSTEMS to Docker image OSes., Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 3/8] services: 'gc-root-service-type' now has a default value., Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 6/8] system: Add 'operating-system-with-gc-roots'., Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 5/8] linux-container: Compute essential services for THIS-OPERATING-SYSTEM.,
Ludovic Courtès <=
- [bug#35697] [PATCH 7/8] docker: 'build-docker-image' accepts an optional #:entry-point., Ludovic Courtès, 2019/05/12
- [bug#35697] [PATCH 8/8] vm: 'system-docker-image' provides an entry point., Ludovic Courtès, 2019/05/12
- bug#35697: [PATCH 0/8] Make 'guix system docker-image' readily usable, Ludovic Courtès, 2019/05/15