summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/i386/Makefile.pcbios6
-rwxr-xr-xsrc/util/padimg.pl7
2 files changed, 10 insertions, 3 deletions
diff --git a/src/arch/i386/Makefile.pcbios b/src/arch/i386/Makefile.pcbios
index 7aa0afd85..b1854181c 100644
--- a/src/arch/i386/Makefile.pcbios
+++ b/src/arch/i386/Makefile.pcbios
@@ -59,3 +59,9 @@ NON_AUTO_MEDIA += usb
%usb: $(BIN)/usbdisk.bin %hd
$(QM)$(ECHO) " [FINISH] $@"
$(Q)cat $^ > $@
+
+# Padded floppy image (e.g. for iLO)
+NON_AUTO_MEDIA += pdsk
+%pdsk : %dsk
+ $(Q)cp $< $@
+ $(Q)$(PADIMG) --blksize=1474560 $@
diff --git a/src/util/padimg.pl b/src/util/padimg.pl
index f3dcbbc3d..71d0eee8a 100755
--- a/src/util/padimg.pl
+++ b/src/util/padimg.pl
@@ -23,8 +23,8 @@ GetOptions ( { map { /^(\w+)/; $1 => $opts->{$_} } keys %$opts }, keys %$opts )
while ( my $filename = shift ) {
die "$filename is not a file\n" unless -f $filename;
my $oldsize = -s $filename;
- my $newsize = ( ( $oldsize + $blksize - 1 ) & ~( $blksize - 1 ) );
- my $padsize = ( $newsize - $oldsize );
+ my $padsize = ( ( -$oldsize ) % $blksize );
+ my $newsize = ( $oldsize + $padsize );
next unless $padsize;
if ( $verbosity >= 1 ) {
printf "Padding %s from %d to %d bytes with %d x 0x%02x\n",
@@ -40,5 +40,6 @@ while ( my $filename = shift ) {
truncate $filename, $newsize
or die "Could not resize $filename: $!\n";
}
- die "Failed to pad $filename\n" unless -s $filename == $newsize;
+ die "Failed to pad $filename\n"
+ unless ( ( ( -s $filename ) % $blksize ) == 0 );
}