Merge pull request #145442 from NixOS/uefi-ami
amis: enable setting ami boot mode on registration
This commit is contained in:
commit
a2e610cfca
2 changed files with 9 additions and 0 deletions
|
@ -4,6 +4,7 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.amazonImage;
|
cfg = config.amazonImage;
|
||||||
|
amiBootMode = if config.ec2.efi then "uefi" else "legacy-bios";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
@ -106,10 +107,12 @@ in {
|
||||||
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
||||||
--arg root_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$rootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
--arg root_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$rootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||||
--arg boot_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$bootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
--arg boot_logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$bootDisk" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||||
|
--arg boot_mode "${amiBootMode}" \
|
||||||
--arg root "$rootDisk" \
|
--arg root "$rootDisk" \
|
||||||
--arg boot "$bootDisk" \
|
--arg boot "$bootDisk" \
|
||||||
'{}
|
'{}
|
||||||
| .label = $system_label
|
| .label = $system_label
|
||||||
|
| .boot_mode = $boot_mode
|
||||||
| .system = $system
|
| .system = $system
|
||||||
| .disks.boot.logical_bytes = $boot_logical_bytes
|
| .disks.boot.logical_bytes = $boot_logical_bytes
|
||||||
| .disks.boot.file = $boot
|
| .disks.boot.file = $boot
|
||||||
|
@ -145,9 +148,11 @@ in {
|
||||||
--arg system_label ${lib.escapeShellArg config.system.nixos.label} \
|
--arg system_label ${lib.escapeShellArg config.system.nixos.label} \
|
||||||
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
--arg system ${lib.escapeShellArg pkgs.stdenv.hostPlatform.system} \
|
||||||
--arg logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$diskImage" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
--arg logical_bytes "$(${pkgs.qemu}/bin/qemu-img info --output json "$diskImage" | ${pkgs.jq}/bin/jq '."virtual-size"')" \
|
||||||
|
--arg boot_mode "${amiBootMode}" \
|
||||||
--arg file "$diskImage" \
|
--arg file "$diskImage" \
|
||||||
'{}
|
'{}
|
||||||
| .label = $system_label
|
| .label = $system_label
|
||||||
|
| .boot_mode = $boot_mode
|
||||||
| .system = $system
|
| .system = $system
|
||||||
| .logical_bytes = $logical_bytes
|
| .logical_bytes = $logical_bytes
|
||||||
| .file = $file
|
| .file = $file
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -p awscli -p jq -p qemu -i bash
|
#!nix-shell -p awscli -p jq -p qemu -i bash
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
#
|
||||||
|
# Future Deprecation?
|
||||||
|
# This entire thing should probably be replaced with a generic terraform config
|
||||||
|
|
||||||
# Uploads and registers NixOS images built from the
|
# Uploads and registers NixOS images built from the
|
||||||
# <nixos/release.nix> amazonImage attribute. Images are uploaded and
|
# <nixos/release.nix> amazonImage attribute. Images are uploaded and
|
||||||
|
@ -275,6 +278,7 @@ upload_image() {
|
||||||
--region "$region" \
|
--region "$region" \
|
||||||
--architecture $amazon_arch \
|
--architecture $amazon_arch \
|
||||||
--block-device-mappings "${block_device_mappings[@]}" \
|
--block-device-mappings "${block_device_mappings[@]}" \
|
||||||
|
--boot-mode $(read_image_info .boot_mode) \
|
||||||
"${extra_flags[@]}" \
|
"${extra_flags[@]}" \
|
||||||
| jq -r '.ImageId'
|
| jq -r '.ImageId'
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue