@@ -298,8 +298,8 @@ FDISK
298298 LODEV=$( losetup -f --show -o $offset $image )
299299 trap ' losetup -d $LODEV' EXIT
300300 if ( file -Ls $LODEV | grep -qi ext ); then
301- e2fsck -fy $LODEV
302- resize2fs -p $LODEV
301+ e2fsck -fy $LODEV
302+ resize2fs -p $LODEV
303303 elif ( file -Ls $LODEV | grep -qi btrfs ); then
304304 btrfs check --repair $LODEV
305305 if ( mount | grep $LODEV ); then
@@ -404,34 +404,45 @@ function minimize_ext() {
404404 LODEV=$( losetup -f --show -o $offset $image )
405405 trap ' losetup -d $LODEV' EXIT
406406
407- e2fsck -fy $LODEV
408- e2fblocksize=$( tune2fs -l $LODEV | grep -i " block size" | awk -F: ' {print $2-0}' )
409- e2fminsize=$( resize2fs -P $LODEV 2> /dev/null | grep -i " minimum size" | awk -F: ' {print $2-0}' )
410-
411- e2fminsize_bytes=$(( $e2fminsize * $e2fblocksize ))
412- e2ftarget_bytes=$(( $buffer * 1024 * 1024 + $e2fminsize_bytes ))
413- e2fsize_bytes=$(( ($e2fsize_blocks - 1 ) * 512 ))
407+ if ( file -Ls $LODEV | grep -qi ext ); then
408+ e2fsck -fy $LODEV
409+ resize2fs -p $LODEV
410+
411+ e2fblocksize=$( tune2fs -l $LODEV | grep -i " block size" | awk -F: ' {print $2-0}' )
412+ e2fminsize=$( resize2fs -P $LODEV 2> /dev/null | grep -i " minimum size" | awk -F: ' {print $2-0}' )
413+
414+ e2fminsize_bytes=$(( $e2fminsize * $e2fblocksize ))
415+ e2ftarget_bytes=$(( $buffer * 1024 * 1024 + $e2fminsize_bytes ))
416+ e2fsize_bytes=$(( ($e2fsize_blocks - 1 ) * 512 ))
417+
418+ e2fminsize_mb=$(( $e2fminsize_bytes / 1024 / 1024 ))
419+ e2fminsize_blocks=$(( $e2fminsize_bytes / 512 + 1 ))
420+ e2ftarget_mb=$(( $e2ftarget_bytes / 1024 / 1024 ))
421+ e2ftarget_blocks=$(( $e2ftarget_bytes / 512 + 1 ))
422+ e2fsize_mb=$(( $e2fsize_bytes / 1024 / 1024 ))
423+
424+ size_offset_mb=$(( $e2fsize_mb - $e2ftarget_mb ))
425+
426+
427+ echo " Actual size is $e2fsize_mb MB ($e2fsize_blocks blocks), Minimum size is $e2fminsize_mb MB ($e2fminsize file system blocks, $e2fminsize_blocks blocks)"
428+ echo " Resizing to $e2ftarget_mb MB ($e2ftarget_blocks blocks)"
429+
430+ if [ $size_offset_mb -gt 0 ]; then
431+ echo " Partition size is bigger then the desired size, shrinking"
432+ shrink_ext $image $partition $(( $e2ftarget_mb - 1 )) # -1 to compensat rounding mistakes
433+ elif [ $size_offset_mb -lt 0 ]; then
434+ echo " Partition size is lower then the desired size, enlarging"
435+ enlarge_ext $image $partition $(( - $size_offset_mb + 1 )) # +1 to compensat rounding mistakes
436+ fi
414437
415- e2fminsize_mb=$(( $e2fminsize_bytes / 1024 / 1024 ))
416- e2fminsize_blocks=$(( $e2fminsize_bytes / 512 + 1 ))
417- e2ftarget_mb=$(( $e2ftarget_bytes / 1024 / 1024 ))
418- e2ftarget_blocks=$(( $e2ftarget_bytes / 512 + 1 ))
419- e2fsize_mb=$(( $e2fsize_bytes / 1024 / 1024 ))
420-
421- size_offset_mb=$(( $e2fsize_mb - $e2ftarget_mb ))
438+ elif ( file -Ls $LODEV | grep -qi btrfs ); then
439+ echo " WARNING: minimize_ext not implemented for btrfs"
440+ btrfs check --repair $LODEV
441+ fi
422442
423443 losetup -d $LODEV
424444
425- echo " Actual size is $e2fsize_mb MB ($e2fsize_blocks blocks), Minimum size is $e2fminsize_mb MB ($e2fminsize file system blocks, $e2fminsize_blocks blocks)"
426- echo " Resizing to $e2ftarget_mb MB ($e2ftarget_blocks blocks)"
427-
428- if [ $size_offset_mb -gt 0 ]; then
429- echo " Partition size is bigger then the desired size, shrinking"
430- shrink_ext $image $partition $(( $e2ftarget_mb - 1 )) # -1 to compensat rounding mistakes
431- elif [ $size_offset_mb -lt 0 ]; then
432- echo " Partition size is lower then the desired size, enlarging"
433- enlarge_ext $image $partition $(( - $size_offset_mb + 1 )) # +1 to compensat rounding mistakes
434- fi
445+
435446}
436447
437448# Skip apt update if Cache not older than 1 Hour.
0 commit comments