aboutsummaryrefslogtreecommitdiff
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
7 days[contrib] Remove obsolete rom-o-matic codeMichael Brown42-1955/+0
The rom-o-matic code does not form part of the iPXE codebase, has not been maintained for over a decade, and does not appear to still be in use anywhere in the world. It does, however, result in a large number of false positive security vulnerability reports from some low quality automated code analysis tools such as Fortify SCA. Remove this unused and obsolete code to reduce the burden of responding to these false positives. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2024-07-30[cloud] Add utility to read INT13CON partition in Google Compute EngineMichael Brown1-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>
2024-07-08[cloud] Add utility for importing images to Google Compute EngineMichael Brown1-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>
2023-11-07[cloud] Add utility script to read iPXE output from INT13CON partitionMichael Brown1-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>
2023-11-07[cloud] Add ability to overwrite existing AMI imagesMichael Brown1-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>
2022-04-06[cloud] Allow aws-import script to run on Python 3.6Michael Brown1-1/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2021-05-02[cloud] Allow multiple images to be imported simultaneouslyMichael Brown1-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>
2021-05-02[cloud] Autodetect CPU architecture from AMI disk imageMichael Brown1-6/+17
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2021-05-01[cloud] Use a sortable default AMI nameMichael Brown1-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>
2021-05-01[cloud] Add ability to generate Dokuwiki table of AMI imagesMichael Brown1-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>
2021-02-16[cloud] Add utility for importing images to AWS EC2Michael Brown1-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>
2021-02-02[contrib] Update bochsrc.txt to work with current versions8d337ecMichael Brown1-368/+542
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2019-08-17[coverity] Override assumptions about wcrtomb() and hmac_init()Michael Brown1-0/+8
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>
2017-03-22[coverity] Add Coverity user modelMichael Brown1-0/+21
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>
2013-04-29[errdb] Strip platform error code for non-platform-generated errorsMichael Brown1-0/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-10-05[contrib] Enable bochs debug port by defaultMichael Brown1-1/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-10-05[contrib] Allow more space for Bochs option ROMMichael Brown1-1/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-07-23[contrib] Fix rom-o-matic git version number issuesFloris Bos1-2/+7
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[contrib] Fix rom-o-matic build (add new LOG_LEVEL constant)Floris Bos1-0/+10
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-06-06[contrib] Update bochsrc.txt to latest version of bochsMichael Brown1-170/+550
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2012-02-12[contrib] Fix rom-o-maticPaul Sands6-27/+28
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2011-05-06[contrib] Update rom-o-matic to build iPXEFloris Bos4-9/+31
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2011-01-26[contrib] Specify boot order in bochsrc.txtMichael Brown1-0/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-10-19[contrib] Remove extraneous errcodedb filesMichael Brown2-3/+0
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-09-22[contrib] Allow "cow" script to create the SAN device itselfMichael Brown1-4/+5
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[contrib] Add script to easily create copy-on-write SAN imagesMichael Brown1-0/+48
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-09-22[contrib] Add contrib/vm, containing utilities from old contrib/bochsMichael Brown6-0/+1246
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-07-17[errcode] Remove unused contrib/errcode scriptsStefan Hajnoczi5-413/+0
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-05-31[errdb] Add errdb.pl script to build error databaseMichael Brown2-0/+109
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-04-19[build] Rename gPXE to iPXEMichael Brown15-53/+56
Access to the gpxe.org and etherboot.org domains and associated resources has been revoked by the registrant of the domain. Work around this problem by renaming project from gPXE to iPXE, and updating URLs to match. Also update README, LOG and COPYRIGHTS to remove obsolete information. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2010-01-18[contrib] Add README file to rom-o-maticMarty Connor1-0/+62
Signed-off-by: Marty Connor <mdc@etherboot.org>
2010-01-17[contrib] Add .hrom format to rom-o-maticMarty Connor1-0/+1
Signed-off-by: Marty Connor <mdc@etherboot.org>
2010-01-16[contrib] Add rom-o-matic to contribMarty Connor41-0/+1854
2010-01-16[contrib] Move most contrib content to a separate repositoryMarty Connor152-20360/+9
Most of the content that was previously in this directory has been moved to a separate git repository: http://git.etherboot.org/?p=contrib.git;a=summary or the Etherboot Project wiki: http://etherboot.org/
2010-01-14[3c90xutil] Update bromutil.c and cromutil.c.Thomas Miletich5-188/+582
bromutil.c has been updated with a command to "fix" 3c905B NICs so that EEPROMs larger than 8K may be used. cromutil.c has been replaced with an updated version that has been included in etherboot-5.4 for some time now. See README for usage. Signed-off-by: Marty Connor <mdc@etherboot.org>
2009-04-16[build] Pad .rom, .dsk, and .hd images to 512-byte boundariesMichael Brown1-2/+2
QEMU will silently round down a disk or ROM image file to the nearest 512 bytes. Fix by always padding .rom, .dsk and .hd images to the nearest 512-byte boundary. Originally-fixed-by: Stefan Hajnoczi <stefanha@gmail.com>
2009-02-16[image] Allow multiple embedded imagesMichael Brown2-0/+12
This patch extends the embedded image feature to allow multiple embedded images instead of just one. gPXE now always boots the first embedded image on startup instead of doing the hardcoded DHCP boot (aka autoboot). Based heavily upon a patch by Stefan Hajnoczi <stefanha@gmail.com>.
2009-02-01[contrib] Update qemu documentationMichael Brown1-18/+11
2008-10-21[contrib] Add patch to enable writable ROM images in bochsMichael Brown1-0/+20
Some of the gPXE romprefix.S code attempts to write to the ROM image, as allowed by the PCI spec. We do gracefully handle the case of read-only ROM images (for ISA ROMs and for normal bochs/qemu operation), but it can be handy to be able to use bochs to debug the code paths that depend on writable ROM images.
2008-09-07[util] Disable automatic CR->LF conversion in serial-console utilityMichael Brown1-2/+2
DUET (the EFI test environment) seems not to handle LF, so inhibit the CR->LF conversion that the pty does for us by default. This doesn't affect operation of gPXE, which will happily accept either CR or LF.
2008-09-07[contrib] Bring bochs/qemu READMEs up to date with latest upstream codeMichael Brown2-4/+4
2008-05-20[Contribs] Fix multi-line POSIX errno definitions.Stefan Hajnoczi1-8/+7
2008-05-20[Contribs] Fix parsing bug in errcode.pyStefan Hajnoczi1-1/+4
Make sure parser doesn't choke on line with space at end.
2008-05-20[Contribs] Add simple IRC bot for looking up error codes.Stefan Hajnoczi3-2/+126
2008-05-20[Contribs] Add README, license text, and invert error code dictionaries.Stefan Hajnoczi4-13/+106
2008-05-20[Contribs] Add a web interface for looking up error codes.Stefan Hajnoczi1-0/+65
Add a PHP script to act as a web interface for looking up error codes.
2008-05-20[Contribs] Add command-line utility for looking up gPXE error codes.Stefan Hajnoczi2-0/+129
2008-03-19[Contribs] Add updated wake-on-LAN patch from Bill <level42@sympatico.ca>Michael Brown13-1202/+145
2007-07-05Add .pdsk target (padded .dsk, suitable for qemu).Michael Brown1-3/+2
2007-07-02Build bochs with ne2000 support, and add sample lines in bochsrc.txtMichael Brown2-1/+4
to match.