Mount_root Unrecognized mount option "compr=zlib"

Hi
i have a qnap (ipq8072) ... and somehow I am know getting the following

[   19.806581] F2FS-fs (loop0): Unrecognized mount option "compr=zlib" or missing value
[   19.806690] mount_root: failed to mount -t f2fs /dev/loop0 /tmp/overlay: Invalid argument
[   19.817955] urandom-seed: Seed file not found (/etc/urandom.seed)
[   19.839880] nss-dp 3a001600.dp4 lan1: PHY Link is down

the only thing I have done was adding additional packagest ... any clue why is this happening ?

the only I can think off is the image too large ? I am already compressing the ramdisk with zstd though...

i have rebuild the entire system ... distclean ... etc ...and still not able to boot the system properly

Do you have FSTOOLS_OVL_MOUNT_COMPRESS_ZLIB selected?
Cause, that would explain it as F2FS uses compress_algorithm= as the desired compressor and it even requires the partition to be first formatted with compression and xattr support.

1 Like

thank you very much @robimarko it is indeed selected ...

weird ... now i am getting the same issue but with ext4 after removing the FSTOOLS_OVL ... i decided to use failsafe to debug

root@(none):/# mount_root
[   20.571275] mount_root: loading kmods from internal overlay
[   20.582714] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[   20.584909] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[   21.240834] block: attempting to load /etc/config/fstab
[   21.243242] block: unable to load configuration (fstab: Entry not found)
[   21.244887] block: no usable configuration
[   21.252467] loop0: detected capacity change from 0 to 1048576
[   21.297160] loop0: detected capacity change from 1048576 to 1008640
[   21.298048] ext4: Unknown parameter 'compr'
[   21.302271] mount_root: failed to mount -t ext4 /dev/loop0 /tmp/overlay: Invalid argument

where does this compr setting comes from ?

It comes from fstools

1 Like

thank you ... this is the weirdest so

libfstools/overlay.c

#ifdef OVL_MOUNT_COMPRESS_ZLIB
                "compr=zlib"
#else
                NULL
#endif

which should not pass the compr setting right? but instead it seems to pass "compr="...

... I forced clean&compiled the package and it is now working something sometime somewhere went wrong

thank you again Robi