diff --git a/doc/builders/images/makediskimage.section.md b/doc/builders/images/makediskimage.section.md index 833a6461e57..c4566e75310 100644 --- a/doc/builders/images/makediskimage.section.md +++ b/doc/builders/images/makediskimage.section.md @@ -101,6 +101,7 @@ in diskSize = "auto"; additionalSpace = "0M"; # Defaults to 512M. copyChannel = false; + memSize = 2048; # Qemu VM memory size in megabytes. Defaults to 1024M. } ``` diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index 365fc1f03a5..d641d1289fe 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -154,6 +154,9 @@ To solve this, you can run `fdisk -l $image` and generate `dd if=$image of=$imag , # Shell code executed after the VM has finished. postVM ? "" +, # Guest memory size + memSize ? 1024 + , # Copy the contents of the Nix store to the root of the image and # skip further setup. Incompatible with `contents`, # `installBootLoader` and `configFile`. @@ -525,7 +528,7 @@ let format' = format; in let "-drive if=pflash,format=raw,unit=1,file=$efiVars" ] ); - memSize = 1024; + inherit memSize; } '' export PATH=${binPath}:$PATH diff --git a/nixos/lib/make-multi-disk-zfs-image.nix b/nixos/lib/make-multi-disk-zfs-image.nix index f9046a485a7..ecbde44971a 100644 --- a/nixos/lib/make-multi-disk-zfs-image.nix +++ b/nixos/lib/make-multi-disk-zfs-image.nix @@ -73,6 +73,9 @@ , # Shell code executed after the VM has finished. postVM ? "" +, # Guest memory size + memSize ? 1024 + , name ? "nixos-disk-image" , # Disk image format, one of qcow2, qcow2-compressed, vdi, vpc, raw. @@ -242,6 +245,7 @@ let { QEMU_OPTS = "-drive file=$bootDiskImage,if=virtio,cache=unsafe,werror=report" + " -drive file=$rootDiskImage,if=virtio,cache=unsafe,werror=report"; + inherit memSize; preVM = '' PATH=$PATH:${pkgs.qemu_kvm}/bin mkdir $out