Filip Navara wrote:
Sebastian Herbszt wrote:
v0.11.0-rc0-182-g28e738d/pc-bios/optionrom/signrom.sh multiboot.raw
multiboot.bin
v0.11.0-rc0-182-g28e738d/pc-bios/optionrom/signrom.sh: * 512 - 1 :
syntax
error: operand expected (error token is "* 512 - 1 ")
make[1]: *** [multiboot.bin] Error 1
rm multiboot.raw multiboot.img multiboot.o
make: *** [romsubdir-optionrom] Error 2
pc-bios/optionrom/signrom.sh has
# find out the file size
x=`dd if="$1" bs=1 count=1 skip=2 2>/dev/null | od -t u1 -A n`
#size=`expr $x \* 512 - 1`
size=$(( $x * 512 - 1 ))
but it seems (at least my) MinGW doesn't include "dd".
I have already reported that on the mailing list earlier.
Workaround/fix is to download MSYS coreutils from the MinGW download
page.
Thanks for the hint - got it working now.
On a closer look at the "od" tool, the use of "dd" seems redundant:
-j, --skip-bytes=BYTES
skip BYTES input bytes first
-N, --read-bytes=BYTES
limit dump to BYTES input bytes
"od -N 1 -j 2 -t u1 -A n multiboot.raw" seems to do the same job and
"od" is pre-shipped on
MinGW/MSYS. But maybe "-j" and "-N" are not widely implemented. A
possible alternative could
be the use of "head" and "cut".