From d19c223ba6285da363e8bb8022e67a52c7bb9e0a Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sun, 16 Dec 2012 13:07:42 -0500 Subject: [PATCH] Simplify unionfs-chroot bind-mounting --- modules/installer/cd-dvd/iso-image.nix | 16 ++++++++-------- modules/virtualisation/qemu-vm.nix | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/installer/cd-dvd/iso-image.nix b/modules/installer/cd-dvd/iso-image.nix index c9d443441e36..33000a3fbf1d 100644 --- a/modules/installer/cd-dvd/iso-image.nix +++ b/modules/installer/cd-dvd/iso-image.nix @@ -202,20 +202,20 @@ in # /nix/store (the squashfs image) to make this a live CD. boot.initrd.postMountCommands = '' - mkdir -p /unionfs-chroot$targetRoot - mount --rbind $targetRoot /unionfs-chroot$targetRoot + mkdir -p /unionfs-chroot/ro-root + mount --rbind $targetRoot /unionfs-chroot/ro-root - mkdir /unionfs-chroot/mnt-root-tmpfs - mount -t tmpfs -o "mode=755" none /unionfs-chroot/mnt-root-tmpfs + mkdir /unionfs-chroot/rw-root + mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-root mkdir /mnt-root-union - unionfs -o allow_other,cow,chroot=/unionfs-chroot /mnt-root-tmpfs=RW:$targetRoot=RO /mnt-root-union + unionfs -o allow_other,cow,chroot=/unionfs-chroot /rw-root=RW:/ro-root=RO /mnt-root-union oldTargetRoot=$targetRoot targetRoot=/mnt-root-union - mkdir /unionfs-chroot/mnt-store-tmpfs - mount -t tmpfs -o "mode=755" none /unionfs-chroot/mnt-store-tmpfs + mkdir /unionfs-chroot/rw-store + mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-store mkdir -p $oldTargetRoot/nix/store - unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot /mnt-store-tmpfs=RW:$oldTargetRoot/nix/store=RO /mnt-root-union/nix/store + unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot /rw-store=RW:/ro-root/nix/store=RO /mnt-root-union/nix/store ''; # Closures to be copied to the Nix store on the CD, namely the init diff --git a/modules/virtualisation/qemu-vm.nix b/modules/virtualisation/qemu-vm.nix index 8d50da8296c0..0367379b2444 100644 --- a/modules/virtualisation/qemu-vm.nix +++ b/modules/virtualisation/qemu-vm.nix @@ -286,12 +286,12 @@ in mkdir -p $targetRoot/boot mount -o remount,ro $targetRoot/nix/store ${optionalString cfg.writableStore '' - mkdir -p /unionfs-chroot$targetRoot - mount --rbind $targetRoot /unionfs-chroot$targetRoot + mkdir -p /unionfs-chroot/ro-store + mount --rbind $targetRoot/nix/store /unionfs-chroot/ro-store - mkdir /unionfs-chroot/mnt-store-tmpfs - mount -t tmpfs -o "mode=755" none /unionfs-chroot/mnt-store-tmpfs - unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot /mnt-store-tmpfs=RW:$targetRoot/nix/store=RO $targetRoot/nix/store + mkdir /unionfs-chroot/rw-store + mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-store + unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot /rw-store=RW:/ro-store=RO $targetRoot/nix/store ''} '';