[arch-general] mkinitcpio/fsck.btrfs
Dear list, here is my mkinitcpio hook list. 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. 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. 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? Thank you for advices. Regards.
Hi Arno, On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury <arnaud.gaboury@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
On 16/01/13||11:22, Tom Gundersen wrote:
Hi Arno,
On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury <arnaud.gaboury@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
Tom, thank you for your clean answer. I will then let this "error", as I understand it is more a "Warning" with no negative impact. Regards.
2013/1/16 Arno Gaboury <arnaud.gaboury@gmail.com>
On 16/01/13||11:22, Tom Gundersen wrote:
Hi Arno,
On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury <arnaud.gaboury@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
Tom,
thank you for your clean answer. I will then let this "error", as I understand it is more a "Warning" with no negative impact.
Regards.
If you want to stop getting that error/warning, you can create fsck.btrfs as a symlink to /bin/true (I think). Regards -- Leonardo Dagnino
On Thu, Jan 17, 2013 at 1:37 PM, Leonardo Dagnino <leodag.sch@gmail.com> wrote:
2013/1/16 Arno Gaboury <arnaud.gaboury@gmail.com>
On 16/01/13||11:22, Tom Gundersen wrote:
Hi Arno,
On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury <arnaud.gaboury@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
Tom,
thank you for your clean answer. I will then let this "error", as I understand it is more a "Warning" with no negative impact.
Regards.
If you want to stop getting that error/warning, you can create fsck.btrfs as a symlink to /bin/true (I think).
Regards -- Leonardo Dagnino
Am I mistaken in thinking that if you only have btrfs filesystems on a machine, then the fsck hook serves no purpose? Thanks, =-Jameson
On Jan 18, 2013 4:52 PM, "Jameson" <imntreal@gmail.com> wrote:
On Thu, Jan 17, 2013 at 1:37 PM, Leonardo Dagnino <leodag.sch@gmail.com>
2013/1/16 Arno Gaboury <arnaud.gaboury@gmail.com>
On 16/01/13||11:22, Tom Gundersen wrote:
Hi Arno,
On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury < arnaud.gaboury@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
wrote: 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
Tom,
thank you for your clean answer. I will then let this "error", as I understand it is more a "Warning" with no negative impact.
Regards.
If you want to stop getting that error/warning, you can create fsck.btrfs as a symlink to /bin/true (I think).
Regards -- Leonardo Dagnino
Am I mistaken in thinking that if you only have btrfs filesystems on a machine, then the fsck hook serves no purpose? Thanks,
=-Jameson
This is correct. People who want to add a symlink to /bin/true aren't solving the right problem and are only potentially causing trouble for themselves down the road.
2013/1/18 Dave Reisner <d@falconindy.com>
On Jan 18, 2013 4:52 PM, "Jameson" <imntreal@gmail.com> wrote:
On Thu, Jan 17, 2013 at 1:37 PM, Leonardo Dagnino <leodag.sch@gmail.com>
2013/1/16 Arno Gaboury <arnaud.gaboury@gmail.com>
On 16/01/13||11:22, Tom Gundersen wrote:
Hi Arno,
On Tue, Jan 15, 2013 at 12:34 PM, Arno Gaboury < arnaud.gaboury@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
wrote: 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
Tom,
thank you for your clean answer. I will then let this "error", as I understand it is more a "Warning" with no negative impact.
Regards.
If you want to stop getting that error/warning, you can create fsck.btrfs as a symlink to /bin/true (I think).
Regards -- Leonardo Dagnino
Am I mistaken in thinking that if you only have btrfs filesystems on a machine, then the fsck hook serves no purpose? Thanks,
=-Jameson
This is correct. People who want to add a symlink to /bin/true aren't solving the right problem and are only potentially causing trouble for themselves down the road.
Well if you pay attention to your pacman output you won't be having any problem. The thing is if you DO have another fs, and want it fsck'd, so you can get rid of that annoying error. To solve the right problem I should write a on-boot fsck for btrfs, but i'm too stupid and lazy to do that, and I think one won't be released so soon. If you only have btrfs partitions, it is safe to remove the fsck hook. But you will still be solving the wrong problem and potentially causing trouble for yourself down the road as a fsck.btrfs utility will (probably) be released someday. Regards -- Leonardo Dagnino
participants (5)
-
Arno Gaboury
-
Dave Reisner
-
Jameson
-
Leonardo Dagnino
-
Tom Gundersen