[arch-general] mkinitcpio/fsck.btrfs

Tom Gundersen teg at jklm.no
Wed Jan 16 05:22:41 EST 2013


Hi Arno,

On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury <arnaud.gaboury at gmail.com> wrote:
> HOOKS="base udev autodetect block lvm2 filesystems fsck usr usbinput
> shutdown modconf"
>
> When # mkinitcpio, I get this error:
>   -> Running build hook: [fsck]
> ==> ERROR: file not found: `fsck.btrfs'
> ==> WARNING: No fsck helpers found. fsck will not be run on boot.
>
> The initramfs-linux.img is still correct, but I was wondering why this
> error.

As you correctly observe, there is no fsck.btrfs binary.

> When reading the /usr/lib/initcpio/install/fsck script, it seems to me
> fsck will add the filesystem name and run
> /usr/bin/fsck.filesystemame.This will of course translate to fsck.btrfs,
> which does not exist. /usr/bin/btrfsck is the correct binary.

This is not a mistake; the btrfsck binary is not meant to be run
automatically at boot as the other fsck.* helpers, it is only meant to
be used manually to fix problems. btrfs is designed not to need
fsck'ing at boot, but does integrity checking at run-time instead.

> According to /usr/lib/initcpio/install/btrfs script, the btrfs hook is
> not needed when using udev.
>
> How can I solve this issue? Shall I add the btrfs hook?

You could add the btrfs hook, but it would not make a difference for
the automatic fsck. What it would give you is the ability to fsck
btrfs manually from the initramfs in case of problems (i.e., in case
root can not be mounted at all).

HTH,

Tom


More information about the arch-general mailing list