Commit Graph

67 Commits

Author SHA1 Message Date
Michael Brown 77b07ea4fd [cloud] Add utility script to read iPXE output from INT13CON partition
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>
2023-11-07 18:05:45 +00:00
Michael Brown d8f9c221ed [cloud] Add ability to overwrite existing AMI images
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>
2023-11-07 15:57:13 +00:00
Michael Brown 70995397e5 [cloud] Allow aws-import script to run on Python 3.6
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2022-04-06 14:36:07 +01:00
Michael Brown 106f4c5391 [cloud] Allow multiple images to be imported simultaneously
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>
2021-05-02 12:38:03 +01:00
Michael Brown 438513f6f6 [cloud] Autodetect CPU architecture from AMI disk image
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2021-05-02 09:39:10 +01:00
Michael Brown 6dad316e66 [cloud] Use a sortable default AMI name
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>
2021-05-01 22:08:17 +01:00
Michael Brown e994237c0b [cloud] Add ability to generate Dokuwiki table of AMI images
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>
2021-05-01 21:36:19 +01:00
Michael Brown d16535aa4f [cloud] Add utility for importing images to AWS EC2
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>
2021-02-16 00:27:40 +00:00
Michael Brown 5bdb75c9d0 [contrib] Update bochsrc.txt to work with current versions
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2021-02-02 00:01:41 +00:00
Michael Brown a5c41483d2 [coverity] Override assumptions about wcrtomb() and hmac_init()
Newer versions of Coverity use built-in models for wcrtomb() and
hmac_init() that are capable of returning errors, and reports defects
due to code failing to check for these errors.  The actual iPXE
implementations are simpler than Coverity's models and can never
return errors, so these defects are false positives.

Fix by overriding Coverity's built-in models for these functions.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2019-08-17 17:18:54 +01:00
Michael Brown 65a3518013 [coverity] Add Coverity user model
Add a trivial model file to prevent Coverity from making various
incorrect assumptions about functions where the iPXE behaviour
diverges from POSIX or Linux norms.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-03-22 16:46:03 +02:00
Michael Brown de1fafd2f8 [errdb] Strip platform error code for non-platform-generated errors
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-04-29 15:36:32 +01:00
Michael Brown 40044f9d43 [contrib] Enable bochs debug port by default
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-10-05 13:24:07 +01:00
Michael Brown dcbbf54eb2 [contrib] Allow more space for Bochs option ROM
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-10-05 13:24:07 +01:00
Floris Bos ee3636370d [contrib] Fix rom-o-matic git version number issues
Fixes issue in which git version number is not displayed on startup
when iPXE is built through rom-o-matic.

Remove special characters from filename generated by rom-o-matic (so
that you get "ipxe-1.0.0+c3b4-undionly.kkpxe" instead of
"ipxe-1.0.0+ (c3b4)-undionly.kkpxe")

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-07-23 17:07:31 +01:00
Floris Bos def7f57eb2 [contrib] Fix rom-o-matic build (add new LOG_LEVEL constant)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-07-23 13:29:04 +01:00
Michael Brown 1050135159 [contrib] Update bochsrc.txt to latest version of bochs
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-06-06 20:37:53 +01:00
Paul Sands 4108321bf5 [contrib] Fix rom-o-matic
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-02-12 13:35:43 +00:00
Floris Bos b7d923f468 [contrib] Update rom-o-matic to build iPXE
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2011-05-06 18:33:05 +01:00
Michael Brown 21d6f9cd8e [contrib] Specify boot order in bochsrc.txt
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2011-01-26 23:24:44 +00:00
Michael Brown 9ed3bc498c [contrib] Remove extraneous errcodedb files
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-10-19 02:27:06 +01:00
Michael Brown d052efb254 [contrib] Allow "cow" script to create the SAN device itself
Allow for an invocation pattern such as:

  ./cow /path/to/image/file vblade 1 2 eth0

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-09-22 16:40:06 +01:00
Michael Brown 45d066d4cd [contrib] Add script to easily create copy-on-write SAN images
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-09-22 16:26:18 +01:00
Michael Brown 041f01e601 [contrib] Add contrib/vm, containing utilities from old contrib/bochs
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-09-22 16:26:01 +01:00
Stefan Hajnoczi 232c208882 [errcode] Remove unused contrib/errcode scripts
The new errdb error code database is more accurate than the regular
expression-based errcode scripts.  This patch removes errcode scripts
in favor of errdb.

The gpxebot.py script is no longer needed, gpxebot has been released
as a separate open source codebase:

  http://git.etherboot.org/?p=people/stefanha/gpxebot.git;a=summary

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-07-17 17:04:16 +01:00