Loading nixos/maintainers/scripts/ec2/amazon-image.nix +6 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,9 @@ in { inherit lib config; inherit (cfg) contents format name; pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package partitionTableType = if config.ec2.hvm then "legacy" else "none"; partitionTableType = if config.ec2.efi then "efi" else if config.ec2.hvm then "legacy" else "none"; diskSize = cfg.sizeMB; fsType = "ext4"; configFile = pkgs.writeText "configuration.nix" Loading @@ -61,6 +63,9 @@ in { ${optionalString config.ec2.hvm '' ec2.hvm = true; ''} ${optionalString config.ec2.efi '' ec2.efi = true; ''} } ''; }; Loading nixos/modules/virtualisation/amazon-image.nix +11 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,9 @@ in { assertion = cfg.hvm; message = "Paravirtualized EC2 instances are no longer supported."; } { assertion = cfg.efi -> cfg.hvm; message = "EC2 instances using EFI must be HVM instances."; } ]; boot.growPartition = cfg.hvm; Loading @@ -35,6 +38,11 @@ in autoResize = true; }; fileSystems."/boot" = mkIf cfg.efi { device = "/dev/disk/by-label/ESP"; fsType = "vfat"; }; boot.extraModulePackages = [ config.boot.kernelPackages.ena ]; Loading @@ -50,8 +58,10 @@ in # Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd. boot.loader.grub.version = if cfg.hvm then 2 else 1; boot.loader.grub.device = if cfg.hvm then "/dev/xvda" else "nodev"; boot.loader.grub.device = if (cfg.hvm && !cfg.efi) then "/dev/xvda" else "nodev"; boot.loader.grub.extraPerEntryConfig = mkIf (!cfg.hvm) "root (hd0)"; boot.loader.grub.efiSupport = cfg.efi; boot.loader.grub.efiInstallAsRemovable = cfg.efi; boot.loader.timeout = 0; boot.initrd.network.enable = true; Loading nixos/modules/virtualisation/amazon-options.nix +8 −1 Original line number Diff line number Diff line { config, lib, ... }: { config, lib, pkgs, ... }: { options = { ec2 = { Loading @@ -9,6 +9,13 @@ Whether the EC2 instance is a HVM instance. ''; }; efi = lib.mkOption { default = pkgs.stdenv.hostPlatform.isAarch64; internal = true; description = '' Whether the EC2 instance is using EFI. ''; }; }; }; } Loading
nixos/maintainers/scripts/ec2/amazon-image.nix +6 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,9 @@ in { inherit lib config; inherit (cfg) contents format name; pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package partitionTableType = if config.ec2.hvm then "legacy" else "none"; partitionTableType = if config.ec2.efi then "efi" else if config.ec2.hvm then "legacy" else "none"; diskSize = cfg.sizeMB; fsType = "ext4"; configFile = pkgs.writeText "configuration.nix" Loading @@ -61,6 +63,9 @@ in { ${optionalString config.ec2.hvm '' ec2.hvm = true; ''} ${optionalString config.ec2.efi '' ec2.efi = true; ''} } ''; }; Loading
nixos/modules/virtualisation/amazon-image.nix +11 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,9 @@ in { assertion = cfg.hvm; message = "Paravirtualized EC2 instances are no longer supported."; } { assertion = cfg.efi -> cfg.hvm; message = "EC2 instances using EFI must be HVM instances."; } ]; boot.growPartition = cfg.hvm; Loading @@ -35,6 +38,11 @@ in autoResize = true; }; fileSystems."/boot" = mkIf cfg.efi { device = "/dev/disk/by-label/ESP"; fsType = "vfat"; }; boot.extraModulePackages = [ config.boot.kernelPackages.ena ]; Loading @@ -50,8 +58,10 @@ in # Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd. boot.loader.grub.version = if cfg.hvm then 2 else 1; boot.loader.grub.device = if cfg.hvm then "/dev/xvda" else "nodev"; boot.loader.grub.device = if (cfg.hvm && !cfg.efi) then "/dev/xvda" else "nodev"; boot.loader.grub.extraPerEntryConfig = mkIf (!cfg.hvm) "root (hd0)"; boot.loader.grub.efiSupport = cfg.efi; boot.loader.grub.efiInstallAsRemovable = cfg.efi; boot.loader.timeout = 0; boot.initrd.network.enable = true; Loading
nixos/modules/virtualisation/amazon-options.nix +8 −1 Original line number Diff line number Diff line { config, lib, ... }: { config, lib, pkgs, ... }: { options = { ec2 = { Loading @@ -9,6 +9,13 @@ Whether the EC2 instance is a HVM instance. ''; }; efi = lib.mkOption { default = pkgs.stdenv.hostPlatform.isAarch64; internal = true; description = '' Whether the EC2 instance is using EFI. ''; }; }; }; }