Within Hardened Integrity, we need to mount all file systems with the iversion mount option. On a regular boot (without initramfs), this works fine. When using genkernel's initramfs, the mount of /usr fails: >> Mounting /dev/mapper/vg-usr as /usr: mount -t ext4 -o defaults,rw,noatime,data=journal,iversion,ro /dev/mapper/vg-usr /usr mount: mounting /dev/mapper/vg-usr on /newroot/usr failed: Invalid argument In the dmesg output, it mentions: EXT4-fs (dm-3): Unrecognized mount option "iversion" or missing value The problem is most likely the differences in i_version and iversion. In certain cases, i_version needs to be provided, and in others iversion. Reproducible: Always
Seems that busybox mount doesn't support iversion? There's some chatter on this on our mailinglist. I've added iversion in the strip_mount_options function in genkernel's defaults/initrd.scripts file, and added a "mount -o remount,iversion /usr" in the init bootup.
Reassigning back to hardened until I get more time to devote on this