diff options
author | Mark H Weaver <mhw@netris.org> | 2015-02-24 23:54:29 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2015-04-10 09:22:49 -0400 |
commit | 5e738ac224c7aea948773e89235dc1418bff448e (patch) | |
tree | 14b340562dbbbad8cac35a1f292e83b199fb622f | |
parent | 1b922590d758e458ce4f9abd3d1694045bcccb58 (diff) | |
download | guix-5e738ac224c7aea948773e89235dc1418bff448e.tar.gz |
system: Clean /tmp and /var/run during early boot.
* gnu/system.scm (operating-system-boot-script): Clean out /tmp and /var/run before activating the system.
-rw-r--r-- | gnu/system.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/system.scm b/gnu/system.scm index ece61adb2b..a91c7136da 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -695,6 +696,20 @@ we're running in the final root." (dmd-conf (dmd-configuration-file services))) (gexp->file "boot" #~(begin + (use-modules (guix build utils)) + + ;; Clean out /tmp and /var/run. + ;; + ;; XXX This needs to happen before service activations, so + ;; it has to be here, but this also implicitly assumes + ;; that /tmp and /var/run are on the root partition. + (false-if-exception (delete-file-recursively "/tmp")) + (false-if-exception (delete-file-recursively "/var/run")) + (false-if-exception (mkdir "/tmp")) + (false-if-exception (chmod "/tmp" #o1777)) + (false-if-exception (mkdir "/var/run")) + (false-if-exception (chmod "/var/run" #o755)) + ;; Activate the system. ;; TODO: Use 'load-compiled'. (primitive-load #$activate) |