Parcourir la source

Allow to provide customized DispVM home directly in the template VM

This significantly speeds up DispVM creation for large customized
homes, since no data has to be copied, and instead CoW is used.
qubesuser il y a 8 ans
Parent
commit
f380c346cf
2 fichiers modifiés avec 12 ajouts et 8 suppressions
  1. 6 4
      misc/dispvm-prerun.sh
  2. 6 4
      vm-systemd/mount-dirs.sh

+ 6 - 4
misc/dispvm-prerun.sh

@@ -3,10 +3,12 @@
 apps="/usr/libexec/evinced"
 
 #If user have customized DispVM settings, use its home instead of default dotfiles
-if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
-	cp -af /rw/home/user /home/
-else
-	cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+if [ ! -e /home/user/.qubes-dispvm-customized ]; then
+	if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
+		cp -af /rw/home/user /home/
+	else
+		cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+	fi
 fi
 
 for app in $apps ; do

+ 6 - 4
vm-systemd/mount-dirs.sh

@@ -79,10 +79,12 @@ if [ -e /var/run/qubes-service/qubes-dvm ]; then
     touch /etc/this-is-dvm
 
     #If user have customized DispVM settings, use its home instead of default dotfiles
-    if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
-        cp -af /rw/home/user /home/
-    else
-        cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+    if [ ! -e /home/user/.qubes-dispvm-customized ]; then
+        if [ -e /rw/home/user/.qubes-dispvm-customized ]; then
+            cp -af /rw/home/user /home/
+        else
+            cat /etc/dispvm-dotfiles.tbz | tar -xjf- --overwrite -C /home/user --owner user 2>&1 >/tmp/dispvm-dotfiles-errors.log
+        fi
     fi
 else
     mount /home