1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-25 22:27:45 +02:00

fix x86 boot filesystem allocation (#1736)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7312 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2007-05-23 18:15:11 +00:00
parent f9fec6fd6c
commit 1c4a785b0b
3 changed files with 6 additions and 5 deletions

View File

@ -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` set `ptgen -o "$OUTPUT" -h 16 -s 32 -t 0x27 -p ${KERNELSIZE}m -t 0x83 -p ${ROOTFSSIZE}m`
KERNELOFFSET="$(($1 / 512))" KERNELOFFSET="$(($1 / 512))"
ROOTFSOFFSET="$(($2 / 512))" ROOTFSOFFSET="$(($3 / 512))"
dd if="$KERNELIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$KERNELOFFSET" dd if="$KERNELIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$KERNELOFFSET"
dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$ROOTFSOFFSET" dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 conv=notrunc seek="$ROOTFSOFFSET"

View File

@ -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` set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m`
KERNELOFFSET="$(($1 / 512))" KERNELOFFSET="$(($1 / 512))"
ROOTFSOFFSET="$(($2 / 512))" KERNELSIZE="$(($2 / 512))"
ROOTFSSIZE="$(( ($3 - $2) / 512))" ROOTFSOFFSET="$(($3 / 512))"
ROOTFSSIZE="$(($4 / 512))"
BLOCKS="$((($ROOTFSOFFSET - $KERNELOFFSET) / 2 - 1))" BLOCKS="$((($KERNELSIZE / 2) - 1))"
genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel" genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc

View File

@ -140,8 +140,8 @@ static int gen_ptable(int nr)
if (verbose) 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); 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) 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) { if ((fd = open(filename, O_WRONLY|O_CREAT, 0644)) < 0) {
fprintf(stderr, "Can't open output file '%s'\n",filename); fprintf(stderr, "Can't open output file '%s'\n",filename);