tokiclover / mkinitramfs-ll

Lightweight, modular and powerfull initramfs generating tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

e2fsck recommended

royneary opened this issue · comments

Hi again,
I'm procrastinating this for a while (at the moment still using version 0.10.0):


[...]
2 logical volume(s) in volume group "vg" now active
/init: eval: line 1: iswap:vg-swap=: not found
* Switching to init shell runlevel: 3d
* Switching to init shell runlevel: 3f
/init: line 1: -text4: not found
* Switching to init shell runlevel: 3m
EXT4-fs (dm-2): warning: maximal mount count reached, running e2fsck is recommended
EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)
[...]

I described my setup in issue #6. I'm not sure if the init script is able to run e2fsck at all. The corresponding entry in /etc/mkinitramfs-ll looks like this:

opts[-bin]+=:cryptsetup:e2fsck:v86d

By default it was:

opts[-bin]+=:cryptsetup:fsck.ext4:fsck.jfs:fsck.reiserfs:fsck.xfs:v86d

I build my initramfs using '/usr/sbin/mkinitramfs-ll.bash --luks --lvm --keymap'. In both cases the wished binaries are put into /sbin and can be executed from the rescue shell but init doesn't run any of them.
In the first case mkinitramfs-ll.bash tells me '* /sbin/e2fsck is not a static binary.' but the config file says it can handle this by copying library dependancies over.
So what can I do to make init run a file system check?

Hi,
First of, your root device is not checked at all because there's no
fsck.ext4' in your initramfs but onlye2fsck'
binay-->=mkinitramfs-ll-0.10.?5[? don't remember the exact version] handle
this and copy the source binary. And the ebuild will generate the right
opts[-bin]... value for you depending on the USE flags enabled. I'll advice
to upgrade to the latest version. Or either append fsck.ext4' as well to opts[-bin]'. Again, I recommand using the latest version.

Secondly. Are appending any `iswap=' argument to your kernel command
line? It seems your appending one and not providing any valid argument. You
should'nt append anything else than the necessary if not using a particular
option/cmdline argument.

If that does not solve your issue, answer with your actual kernel command
line.

And lastly, you do not really need to append any iswap' cmdline argument if you're not resuming from hibernation. I suppose you are nott because TuxOnIce patchset is not that widely used right now. You only need to enable swap in that case with script because otherwise dmcrypt init service will take of enabling them when starting your machine. Normaly you won't need anyikroot=', and not
ikswap=<arg>'!, if you appendikswap=' because doswap() is
treated before dorootfs()! I'd like to not assist you every time you
decide to upgrade. You should get all these things reading the README
file.

Of course you have to append ikroot' orikswap' when using an encrypted rootfs or swap. The exception is cited above! Closing.