fix x86 boot filesystem allocation (#1736)
authorFelix Fietkau <nbd@openwrt.org>
Wed, 23 May 2007 18:15:11 +0000 (18:15 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 23 May 2007 18:15:11 +0000 (18:15 +0000)
SVN-Revision: 7312

target/linux/rb532-2.6/image/gen_image.sh
target/linux/x86-2.6/image/gen_image.sh
tools/firmware-utils/src/ptgen.c

index e812859797e5a36ff9aae64c6f9ff97859f07c07..8875834b9e7458eeb850bcad79d8a35d8602ef1c 100755 (executable)
@@ -11,7 +11,7 @@ rm -f "$OUTPUT"
 set `ptgen -o "$OUTPUT" -h 16 -s 32 -t 0x27 -p ${KERNELSIZE}m -t 0x83 -p ${ROOTFSSIZE}m`
 
 KERNELOFFSET="$(($1 / 512))"
-ROOTFSOFFSET="$(($2 / 512))"
+ROOTFSOFFSET="$(($3 / 512))"
 
 dd if="$KERNELIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$KERNELOFFSET"
 dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$ROOTFSOFFSET"
index b4845f5a7783f4bc9274b3c7bf9e84056c7e7172..d48e3720dce3c629753e192dc211f0e9017943aa 100755 (executable)
@@ -22,10 +22,11 @@ cyl=$(( ($KERNELSIZE + $ROOTFSSIZE) * 1024 * 1024 / ($head * $sect * 512)))
 set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m`
 
 KERNELOFFSET="$(($1 / 512))"
-ROOTFSOFFSET="$(($2 / 512))"
-ROOTFSSIZE="$(( ($3 - $2) / 512))"
+KERNELSIZE="$(($2 / 512))"
+ROOTFSOFFSET="$(($3 / 512))"
+ROOTFSSIZE="$(($4 / 512))"
 
-BLOCKS="$((($ROOTFSOFFSET - $KERNELOFFSET) / 2 - 1))"
+BLOCKS="$((($KERNELSIZE / 2) - 1))"
 
 genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
 dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
index ce93016667e1715457650f5bb34224ccdcc5abe1..8733e252cb785610015ae2b227196662e9700dd0 100644 (file)
@@ -140,8 +140,8 @@ static int gen_ptable(int nr)
                if (verbose)
                        fprintf(stderr, "Partition %d: start=%ld, end=%ld, size=%ld\n", i, (long) start * 512, ((long) start + (long) len) * 512, (long) len * 512);
                printf("%ld\n", ((long) start * 512));
+               printf("%ld\n", ((long) len * 512));
        }
-       printf("%ld\n", ((long) (start + len) * 512));
 
        if ((fd = open(filename, O_WRONLY|O_CREAT, 0644)) < 0) {
                fprintf(stderr, "Can't open output file '%s'\n",filename);