소스 검색

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 8 년 전
부모
커밋
f380c346cf
2개의 변경된 파일12개의 추가작업 그리고 8개의 파일을 삭제
  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