summaryrefslogtreecommitdiffstats
path: root/contrib/cloud
Commit message (Collapse)AuthorAgeFilesLines
* [cloud] Remove AWS public image access block only if not already unblockedMichael Brown2025-10-201-1/+3
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Remove AWS public image access block automatically if neededMichael Brown2025-10-171-0/+1
| | | | | | | Making images public is blocked by default in new AWS regions. Remove this block automatically whenever creating a public image. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add ability to delete old AMI imagesMichael Brown2024-09-091-10/+30
| | | | | | | Add the "--retain <N>" option to limit the number of retained old AMI images (within the same family, architecture, and public visibility). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add family and architecture tags to AWS snapshots and imagesMichael Brown2024-09-061-5/+21
| | | | | | | | Allow for easier identification of images and snapshots created by the aws-import script by adding tags for image family (e.g. "iPXE") and architecture (e.g. "x86_64") to both. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add utility to read INT13CON partition in Google Compute EngineMichael Brown2024-07-301-0/+146
| | | | | | | | | | | | | | Following the example of aws-int13con, add a utility that can be used to read the INT13 console log from a used iPXE boot disk in Google Compute Engine. There seems to be no easy way to directly read the contents of either a disk image or a snapshot in Google Cloud. Work around this limitation by creating a snapshot and attaching this snapshot as a data disk to a temporary Linux instance, which is then used to echo the INT13 console log to the serial port. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add utility for importing images to Google Compute EngineMichael Brown2024-07-081-0/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the example of aws-import, add a utility that can be used to upload an iPXE disk image to Google Compute Engine as a bootable image. For example: make CONFIG=cloud EMBED=config/cloud/gce.ipxe \ bin-x86_64-pcbios/ipxe.usb bin-x86_64-efi/ipxe.usb make CONFIG=cloud EMBED=config/cloud/gce.ipxe \ CROSS=aarch64-linux-gnu- bin-arm64-efi/ipxe.usb ../contrib/cloud/gce-import -p \ bin-x86_64-pcbios/ipxe.usb \ bin-x86_64-efi/ipxe.usb \ bin-arm64-efi/ipxe.usb The iPXE disk image is automatically wrapped into a tarball containing a single file named "disk.raw", uploaded to a temporary bucket in Google Cloud Storage, and used to create a bootable image. The temporary bucket is deleted after use. An appropriate image family name is identified automatically: "ipxe" for BIOS images, "ipxe-uefi-x86-64" for x86_64 UEFI images, and "ipxe-uefi-arm64" for AArch64 UEFI images. This allows the latest image within each family to be launched within needing to know the precise image name. Google Compute Engine images are globally scoped and are available (and cached upon first use) in all regions. The initial placement of the image may be controlled indirectly by using the "--location" option to specify the Google Cloud Storage location used for the temporary upload bucket: the image will then be created in the closest multi-region to the storage location. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add utility script to read iPXE output from INT13CON partitionMichael Brown2023-11-071-0/+68
| | | | | | | | | | | | | | | | | | Some AWS instance types still do not support serial console output or screenshots. For these instance types, the only viable way to extract debugging information is to use the INT13 console (which is already enabled via CONFIG=cloud for all AWS images). Obtaining the INT13 console output can be very cumbersome, since there is no direct way to read from an AWS volume. The simplest current approach is to stop the instance under test, detach its root volume, and reattach the volume to a Linux instance in the same region. Add a utility script aws-int13con to retrieve the INT13 console output by creating a temporary snapshot, reading the first block from the snapshot, and extracting the INT13 console partition content. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add ability to overwrite existing AMI imagesMichael Brown2023-11-071-2/+13
| | | | | | | | AMI names must be unique within a region. Add a --overwrite option that allows an existing AMI of the same name to be deregistered (and its underlying snapshot deleted). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Allow aws-import script to run on Python 3.6Michael Brown2022-04-061-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Allow multiple images to be imported simultaneouslyMichael Brown2021-05-021-19/+19
| | | | | | | | | | | | | | | | | | Allow both x86_64 and arm64 images to be imported in a single import command, thereby allowing for e.g. make CONFIG=cloud EMBED=config/cloud/aws.ipxe bin/ipxe.usb make CONFIG=cloud EMBED=config/cloud/aws.ipxe \ CROSS=aarch64-linux-gnu- bin-arm64-efi/ipxe.usb ../contrib/cloud/aws-import -w amilist.txt -p \ bin/ipxe.usb bin-arm64-efi/ipxe.usb This simplifies the process of generating a single amilist.txt file for inclusion in the documentation at https://ipxe.org/howto/ec2 Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Autodetect CPU architecture from AMI disk imageMichael Brown2021-05-021-6/+17
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Use a sortable default AMI nameMichael Brown2021-05-011-1/+9
| | | | | | | | | | | The AWS console user interface provides no convenient way to sort AMIs by creation date. Provide a default AMI name constructed from the current date and CPU architecture, to simplify the task of finding the most recent iPXE AMI in a given AWS region. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add ability to generate Dokuwiki table of AMI imagesMichael Brown2021-05-011-0/+20
| | | | | | | Add an option to generate the amilist.txt list of current AMI images as included in the EC2 documentation at https://ipxe.org/howto/ec2 Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cloud] Add utility for importing images to AWS EC2Michael Brown2021-02-161-0/+100
Add a utility that can be used to upload an iPXE disk image to AWS EC2 as an Amazon Machine Image (AMI). For example: make CONFIG=cloud EMBED=config/cloud/aws.ipxe bin/ipxe.usb ../contrib/cloud/aws-import -p -n "iPXE 1.21.1" bin/ipxe.usb Uploads are performed in parallel across all regions, and use the EBS direct APIs to avoid the need to store temporary files in S3 or to run VM import tasks. Signed-off-by: Michael Brown <mcb30@ipxe.org>