tar2fs: double /boot size
Factor of 2 is not enough for kernel upgrade due to filesystem overhead. Add BOOT_SIZE_FACTOR on top of that.
This commit is contained in:
parent
d79061fb44
commit
81a6ab9ec1
@ -20,7 +20,9 @@ fi
|
|||||||
[ -n "$GLOBAL_DEBUG" ] || message "WORKDIR: $WORKDIR"
|
[ -n "$GLOBAL_DEBUG" ] || message "WORKDIR: $WORKDIR"
|
||||||
|
|
||||||
MB=1048576 # a parted's "megabyte" in bytes is *broken*
|
MB=1048576 # a parted's "megabyte" in bytes is *broken*
|
||||||
|
|
||||||
SIZE_FACTOR=2 # multiply the sizes found by this value
|
SIZE_FACTOR=2 # multiply the sizes found by this value
|
||||||
|
BOOT_SIZE_FACTOR=2 # multiply /boot size by this value additionally
|
||||||
|
|
||||||
CUR_BOUNDARY=0 # align first partition at 1MB for performance (+1)
|
CUR_BOUNDARY=0 # align first partition at 1MB for performance (+1)
|
||||||
|
|
||||||
@ -87,15 +89,15 @@ IMG="$2"
|
|||||||
ROOTSIZE="$3"
|
ROOTSIZE="$3"
|
||||||
[ -n "$ROOTSIZE" -a "$ROOTSIZE" != 0 ] || unset ROOTSIZE
|
[ -n "$ROOTSIZE" -a "$ROOTSIZE" != 0 ] || unset ROOTSIZE
|
||||||
|
|
||||||
# image size in bytes (note the final ceil rounding to megabytes)
|
# image size in bytes
|
||||||
TARSIZE="$(stat -Lc %s "$TAR")"
|
TARSIZE="$(stat -Lc %s "$TAR")"
|
||||||
# /boot size in that tarball
|
# /boot size in that tarball
|
||||||
BOOTSIZE="$(boot_size "$TAR")"
|
BOOTSIZE="$(boot_size "$TAR")"
|
||||||
DEFSIZE="$(($SIZE_FACTOR * ($TARSIZE - $BOOTSIZE)))" # (exact sizes)
|
DEFSIZE="$(($SIZE_FACTOR * ($TARSIZE - $BOOTSIZE)))" # (exact sizes)
|
||||||
ROOTSIZE="$((${ROOTSIZE:-$DEFSIZE} + $MB - 1))"
|
ROOTSIZE="$((${ROOTSIZE:-$DEFSIZE} + $MB - 1))" # for ceil rounding to MB
|
||||||
# image and /boot sizes in megabytes
|
# image and /boot sizes in megabytes
|
||||||
ROOTSIZEM="$(($ROOTSIZE / $MB))"
|
ROOTSIZEM="$(($ROOTSIZE / $MB))"
|
||||||
BOOTSIZEM="$((($SIZE_FACTOR * $BOOTSIZE + $MB - 1) / $MB))"
|
BOOTSIZEM="$((($SIZE_FACTOR * $BOOT_SIZE_FACTOR * $BOOTSIZE + $MB - 1) / $MB))"
|
||||||
|
|
||||||
# tested to work: ext[234], jfs
|
# tested to work: ext[234], jfs
|
||||||
# NB: xfs doesn't have a spare sector for the bootloader
|
# NB: xfs doesn't have a spare sector for the bootloader
|
||||||
|
Loading…
Reference in New Issue
Block a user