diff --git a/rootfs/etc/initramfs-tools/hooks/rpi-resizerootfs b/rootfs/etc/initramfs-tools/hooks/rpi-resizerootfs index f4776aa..35e67fc 100755 --- a/rootfs/etc/initramfs-tools/hooks/rpi-resizerootfs +++ b/rootfs/etc/initramfs-tools/hooks/rpi-resizerootfs @@ -13,11 +13,40 @@ esac . /usr/share/initramfs-tools/hook-functions -# XXX: tail and realpath are included by default, right? -#copy_exec /usr/bin/realpath -#copy_exec /usr/bin/tail -copy_exec /sbin/blkid -copy_exec /bin/lsblk +# List ALL the programs we need, because we explicitly call them +# Don't *assume* it will be included! +# The update-initramfs script will figure out any dependencies +# that also need to be included, so lets not do that +# +# Find the path as used by the package itself; usrmerge may not be used + +# from coreutils +copy_exec /usr/bin/realpath +copy_exec /usr/bin/tail +copy_exec /usr/bin/test + +# from dosfstools +copy_exec /sbin/fsck.vfat + +# from e2fsprogs +copy_exec /sbin/resize2fs +copy_exec /sbin/fsck.ext4 + +# from grep +copy_exec /bin/grep + +# from logsave +copy_exec /sbin/logsave + +# from mount +copy_exec /bin/mount +copy_exec /bin/umount + +# from parted copy_exec /sbin/parted copy_exec /sbin/partprobe -copy_exec /sbin/resize2fs + +# from util-linux +copy_exec /bin/lsblk +copy_exec /sbin/blkid +copy_exec /sbin/fsck diff --git a/rootfs/etc/initramfs-tools/scripts/local-bottom/rpi-resizerootfs b/rootfs/etc/initramfs-tools/scripts/local-bottom/rpi-resizerootfs index 64b4dee..3826847 100755 --- a/rootfs/etc/initramfs-tools/scripts/local-bottom/rpi-resizerootfs +++ b/rootfs/etc/initramfs-tools/scripts/local-bottom/rpi-resizerootfs @@ -45,6 +45,9 @@ wait_for_udev 5 partprobe "$rootdev" resize2fs "$rootpart" +# After resizing, (re)check the root partition's filesystem +fsck "$rootpart" + # Remount root # Don't quote ${ROOTFLAGS} as that results in an extra (empty) argument # to 'mount', which in turn causes a boot failure