[OE-core] systemd/busybox fsck fail to run
Andrej Valek
andrej.valek at siemens.com
Wed Sep 5 12:46:05 UTC 2018
Hi Alex,
There could be multiple options, how to handle this.
My 2cents about this problem:
1. Use update-alternatives to handle this
2. Rework busybox itself to handle this option
3. Just create a patch to ignore this option
Cheers,
Andrej
On 09/05/18 10:37, Alex Kiernan wrote:
> I've just come across a box with a corrupt filesystem which wasn't
> being cleaned (using systemd and busybox):
>
> Aug 29 16:03:22 localhost systemd-fsck[143]: read_bad_blocks_file: No
> such file or directory while trying to open -M
> Aug 29 16:03:22 localhost systemd-fsck[143]: Warning: fsck.ext4
> /dev/mmcblk0p4 terminated by signal 8
> Aug 29 16:03:22 localhost systemd-fsck[143]: fsck failed with exit status 8.
> Aug 29 16:03:22 localhost systemd-fsck[143]: Ignoring error.
> Aug 29 16:03:22 localhost systemd[1]:
> systemd-fsck at dev-mmcblk0p4.service: cgroup is empty
> Aug 29 16:03:22 localhost systemd[1]:
> systemd-fsck at dev-mmcblk0p4.service: Child 143 belongs to
> systemd-fsck at dev-mmcblk0p4.service.
> Aug 29 16:03:22 localhost systemd[1]:
> systemd-fsck at dev-mmcblk0p4.service: Main process exited, code=exited,
> status=0/SUCCESS
> Aug 29 16:03:22 localhost systemd[1]:
> systemd-fsck at dev-mmcblk0p4.service: Changed start -> exited
> Aug 29 16:03:22 localhost systemd[1]:
> systemd-fsck at dev-mmcblk0p4.service: Job
> systemd-fsck at dev-mmcblk0p4.service/start finished, result=done
> Aug 29 16:03:22 localhost systemd[1]: Started File System Check on
> /dev/mmcblk0p4.
>
> It turns out systemd-fsck unconditionally passes `-l` to lock the filesystem:
>
> https://github.com/systemd/systemd/blame/master/src/fsck/fsck.c#L408
>
> which busybox fsck doesn't interpret and so passes on to fsck.ext4,
> which then interprets it as a badblocks file...
>
> What's the right answer here? Add a patch to busybox fsck so it just
> ignores `-l`, or do we need something more sophisticated?
>
> Obviously swapping in util-linux-fsck works around the problem.
>
More information about the Openembedded-core
mailing list