Explicitly copy 'fsck*' into the initramfs

While fsck.ext4 and fsck.vfat are part of the initramfs, it turns out
that fsck itself isn't!
While it normally gets included in the initramfs, for some reason that
doesn't happen with our image creation, so it isn't available on first
boot, so explicitly copy 'fsck' so that it will be included.
For that to work, 'logsave' is needed too, so include that as well.

During boot up, initramfs wants to check the filesystems and it does so
via `fsck`, which then (presumably) checks the filesystem being used
and calls the appropriate fsck.* to do the actual checking.
But when `fsck` itself isn't available you get the following warning:
"Warning: fsck not present, so skipping root file system"
When it is available, you'll get a message like this:
"Begin: Will now check root file system ... fsck from util-linux 2.38.1"

Let's also follow our own advise and not *assume* the needed fsck
programs are present in initramfs, but add them explicitly.

Now we can start the resize operations while knowing the current
filesystem is in a proper/clean state.
This commit is contained in:
Diederik de Haas 2022-11-06 23:06:05 +01:00
parent 205dc21718
commit 82dfcf25ff
No known key found for this signature in database
GPG Key ID: D76E5BCE787EDB6E
1 changed files with 8 additions and 0 deletions

View File

@ -25,12 +25,19 @@ copy_exec /usr/bin/realpath
copy_exec /usr/bin/tail copy_exec /usr/bin/tail
copy_exec /usr/bin/test copy_exec /usr/bin/test
# from dosfstools
copy_exec /sbin/fsck.vfat
# from e2fsprogs # from e2fsprogs
copy_exec /sbin/resize2fs copy_exec /sbin/resize2fs
copy_exec /sbin/fsck.ext4
# from grep # from grep
copy_exec /bin/grep copy_exec /bin/grep
# from logsave
copy_exec /sbin/logsave
# from mount # from mount
copy_exec /bin/mount copy_exec /bin/mount
copy_exec /bin/umount copy_exec /bin/umount
@ -42,3 +49,4 @@ copy_exec /sbin/partprobe
# from util-linux # from util-linux
copy_exec /bin/lsblk copy_exec /bin/lsblk
copy_exec /sbin/blkid copy_exec /sbin/blkid
copy_exec /sbin/fsck