Permalink
Browse files

Merge pull request #51207 from samueldr/fix/sd-image-slimming

sd-image: Slims the ext4 filesystem even more.
  • Loading branch information...
samueldr committed Dec 6, 2018
2 parents 3776a9e + 61bdaad commit 70488665fae8a5d3270390b6d8676c059ac4964a
Showing with 19 additions and 0 deletions.
  1. +19 −0 nixos/lib/make-ext4-fs.nix
@@ -94,5 +94,24 @@ pkgs.stdenv.mkDerivation {
cat errorlog
return 1
fi
(
# Resizes **snugly** to its actual limits (or closer to)
free=$(dumpe2fs $out | grep '^Free blocks:')
blocksize=$(dumpe2fs $out | grep '^Block size:')
blocks=$(dumpe2fs $out | grep '^Block count:')
blocks=$((''${blocks##*:})) # format the number.
blocksize=$((''${blocksize##*:})) # format the number.
# System can't boot with 0 blocks free.
# Add 16MiB of free space
fudge=$(( 16 * 1024 * 1024 / blocksize ))
size=$(( blocks - ''${free##*:} + fudge ))
echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)"
EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size
)
# And a final fsck, because of the previous truncating.
fsck.ext4 -n -f $out
'';
}

0 comments on commit 7048866

Please sign in to comment.