david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/util/catrom.pl

30 lines
633 B
Perl
Executable File

#!/usr/bin/perl -w
use warnings;
use strict;
use FindBin;
use lib "$FindBin::Bin";
use Option::ROM qw ( :all );
my @romfiles = @ARGV
or die "Usage: $0 rom-file-1 rom-file-2 ... > multi-rom-file\n";
while ( my $romfile = shift @romfiles ) {
# Read ROM file
my $rom = new Option::ROM;
$rom->load ( $romfile );
# Tag final image as non-final in all except the final ROM
if ( @romfiles ) {
my $image = $rom;
$image = $image->next_image() while $image->next_image();
$image->pci_header->{last_image} &= ~PCI_LAST_IMAGE;
$image->fix_checksum();
}
# Write ROM file to STDOUT
$rom->save ( "-" );
}