* Put /nix on /ephemeral0 using AUFS (with the original /nix from the

AMI as a base) because the root filesystem is rather small.

svn path=/nixos/trunk/; revision=23534
This commit is contained in:
Eelco Dolstra 2010-08-29 22:29:10 +00:00
parent 34719e0c4a
commit 68ebbb6093

View File

@ -68,9 +68,11 @@ with pkgs.lib;
swapDevices =
[ { device = "/dev/xvdb"; } ];
boot.initrd.kernelModules = [ "xen-blkfront" ];
boot.initrd.kernelModules = [ "xen-blkfront" "aufs" ];
boot.kernelModules = [ "xen-netfront" ];
boot.extraModulePackages = [ config.boot.kernelPackages.aufs2 ];
# Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd.
boot.loader.grub.device = "nodev";
boot.loader.grub.timeout = 0;
@ -79,13 +81,18 @@ with pkgs.lib;
# Put /tmp and /var on /ephemeral0, which has a lot more space.
# Unfortunately we can't do this with the `fileSystems' option
# because it has no support for creating the source of a bind
# mount.
# mount. Also, "move" /nix to /ephemeral0 by layering an AUFS
# on top of it so we have a lot more space for Nix operations.
boot.initrd.postMountCommands =
''
mkdir -m 1777 -p $targetRoot/ephemeral0/tmp
mount --bind $targetRoot/ephemeral0/tmp $targetRoot/tmp
mkdir -m 755 -p $targetRoot/ephemeral0/var
mount --bind $targetRoot/ephemeral0/var $targetRoot/var
mkdir -m 755 -p $targetRoot/ephemeral0/nix
mount -t aufs -o dirs=$targetRoot/ephemeral0/nix=rw:$targetRoot/nix=rr none $targetRoot/nix
'';
# There are no virtual consoles.