diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-05-23 18:15:11 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-05-23 18:15:11 +0000 |
commit | 1c4a785b0bea0322094804f823d69fde025f2ab4 (patch) | |
tree | f0efe986a887f6b29e4d780d84e1d0d9d58e697f | |
parent | f9fec6fd6cd3dd0922152f411d65c6abb4c79fb4 (diff) |
fix x86 boot filesystem allocation (#1736)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7312 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-x | target/linux/rb532-2.6/image/gen_image.sh | 2 | ||||
-rwxr-xr-x | target/linux/x86-2.6/image/gen_image.sh | 7 | ||||
-rw-r--r-- | tools/firmware-utils/src/ptgen.c | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/target/linux/rb532-2.6/image/gen_image.sh b/target/linux/rb532-2.6/image/gen_image.sh index e812859797..8875834b9e 100755 --- a/target/linux/rb532-2.6/image/gen_image.sh +++ b/target/linux/rb532-2.6/image/gen_image.sh @@ -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" diff --git a/target/linux/x86-2.6/image/gen_image.sh b/target/linux/x86-2.6/image/gen_image.sh index b4845f5a77..d48e3720dc 100755 --- a/target/linux/x86-2.6/image/gen_image.sh +++ b/target/linux/x86-2.6/image/gen_image.sh @@ -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 diff --git a/tools/firmware-utils/src/ptgen.c b/tools/firmware-utils/src/ptgen.c index ce93016667..8733e252cb 100644 --- a/tools/firmware-utils/src/ptgen.c +++ b/tools/firmware-utils/src/ptgen.c @@ -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); |