add optional padding for x86 grub images (useful for running jffs2 images in qemu)
[openwrt/svn-archive/archive.git] / target / linux / x86-2.6 / image / gen_image.sh
index 795a46b710bc2f53bab28a084ef65c335889d2a9..b4845f5a7783f4bc9274b3c7bf9e84056c7e7172 100755 (executable)
@@ -23,19 +23,22 @@ set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m`
 
 KERNELOFFSET="$(($1 / 512))"
 ROOTFSOFFSET="$(($2 / 512))"
+ROOTFSSIZE="$(( ($3 - $2) / 512))"
 
 BLOCKS="$((($ROOTFSOFFSET - $KERNELOFFSET) / 2 - 1))"
 
 genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
 dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
+[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE"
 dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
 #rm -f "$OUTPUT.kernel"
 
 which chpax >/dev/null && chpax -zp $(which grub)
-grub --device-map=/dev/null <<EOF
+grub --batch --no-curses --no-floppy --device-map=/dev/null <<EOF
 device (hd0) $OUTPUT
 geometry (hd0) $cyl $head $sect
 root (hd0,0)
 setup (hd0)
+quit
 EOF