diff options
author | Michael Brown | 2010-04-25 03:54:12 +0200 |
---|---|---|
committer | Michael Brown | 2010-04-25 03:54:12 +0200 |
commit | d8c1f2e94f5b072fb5de557bc796ba35f86db6d6 (patch) | |
tree | be27ca416a56916c56e4235e3a7f71592a129715 /src/util/fixrom.pl | |
parent | [main] Match "starting execution" and "initialising devices" message style (diff) | |
download | ipxe-d8c1f2e94f5b072fb5de557bc796ba35f86db6d6.tar.gz ipxe-d8c1f2e94f5b072fb5de557bc796ba35f86db6d6.tar.xz ipxe-d8c1f2e94f5b072fb5de557bc796ba35f86db6d6.zip |
[build] Replace obsolete makerom.pl with quick script using Option::ROM
The only remaining useful function of makerom.pl is to correct the ROM
and PnP checksums; the PCI IDs are set at link time, and padding is
performed using padimg.pl.
Option::ROM already provides a facility for correcting the checksums,
so we may as well just use this instead.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/util/fixrom.pl')
-rwxr-xr-x | src/util/fixrom.pl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/util/fixrom.pl b/src/util/fixrom.pl new file mode 100755 index 00000000..c3a31f41 --- /dev/null +++ b/src/util/fixrom.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w +# +# Copyright (C) 2010 Michael Brown <mbrown@fensystems.co.uk>. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin"; +use Option::ROM qw ( :all ); + +my @romfiles = @ARGV; + +foreach my $romfile ( @romfiles ) { + my $rom = new Option::ROM; + $rom->load ( $romfile ); + $rom->pnp_header->fix_checksum() if $rom->pnp_header; + $rom->fix_checksum(); + $rom->save ( $romfile ); +} |