SVN: geninitrd/trunk/geninitrd
glen
glen at pld-linux.org
Thu Oct 19 15:39:03 CEST 2006
Author: glen
Date: Thu Oct 19 15:38:59 2006
New Revision: 7876
Modified:
geninitrd/trunk/geninitrd
Log:
Make ext2 image size dynamic -- calculated at building time.
Modified: geninitrd/trunk/geninitrd
==============================================================================
--- geninitrd/trunk/geninitrd (original)
+++ geninitrd/trunk/geninitrd Thu Oct 19 15:38:59 2006
@@ -1045,25 +1045,7 @@
exit 1
fi
-if [ "$INITRDFS" = "ext2" ] ; then
- case "$(uname -m)" in
- ia64|amd64|x86_64|sparc64)
- IMAGESIZE=5000
- ;;
- *)
- IMAGESIZE=1500
- ;;
- esac
-
- dd if=/dev/zero of="$IMAGE" bs=1k count="$IMAGESIZE" 2> /dev/null
- mke2fs -q -F -b 1024 -m 0 "$IMAGE" 2>/dev/null 1>&2
- tune2fs -i 0 "$IMAGE" >/dev/null 2>&1
-
- mkdir -p "$MNTPOINT"
- mount -o loop -t ext2 "$IMAGE" "$MNTPOINT"
-else
- mkdir -p "$MNTPOINT"
-fi
+mkdir -p "$MNTPOINT"
mkdir -p "$MNTIMAGE"/{lib,bin,etc,dev,loopfs,var}
@@ -1463,6 +1445,21 @@
case "$INITRDFS" in
ext2)
+ IMAGESIZE=$(du -ks $MNTPOINT | awk '{print $1 + 512}')
+ [ "$verbose" ] && echo "ext2 image size: $IMAGESIZE ($MNTPOINT)"
+ if [ "$IMAGESIZE" -gt 4096 ]; then
+ echo >&2 "$0: Your image size is larger than 4096, You should add ramdisk_size=$IMAGESIZE to your kernel commandline!"
+ fi
+
+ dd if=/dev/zero of="$IMAGE" bs=1k count="$IMAGESIZE" 2> /dev/null
+ mke2fs -q -F -b 1024 -m 0 "$IMAGE" 2>/dev/null 1>&2
+ tune2fs -i 0 "$IMAGE" >/dev/null 2>&1
+
+ tmpmnt="`mktemp -d /tmp/initrd.mnte2-XXXXXX`"
+ mount -o loop -t ext2 "$IMAGE" "$tmpmnt"
+
+ (cd "$MNTPOINT"; tar cf - .) | (cd "$tmpmnt"; tar xf -)
+
umount "$IMAGE"
;;
rom)
More information about the pld-cvs-commit
mailing list