[Top][All Lists]

[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
(containerized-operating-system): Pass THIS-OPERATING-SYSTEM, not OS, to
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 
                     (list (service-kind %linux-bare-metal-service)
-            (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."
     (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)
                       (operating-system-user-services os)))
     (file-systems (append (map mapping->fs mappings)
-                          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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]