10020 questions

11965 answers

18534 comments

19908 members

0 votes
590 views 4 comments
by
Hello,

I have found problem with the most recent RUT955 firmware RUT9XX_R_00.06.06.1_WEBUI.bin. Version before has the same problem.

I would like to mount ext4 filesystem. But system is missing crc32c module. I am unable to install it because the one provided by openwrt chaoscalmer repository is build for different kernel version. It would be nice, if you could provide similar package feed as openwrt does, but build with your version of SDK.

Right now i am in the middle of patching of the ancient build system that doesn't support recent glibc.

If anyone is interested here is patch that you need to apply to RUT9XX_R_GPL_00.06.06.1.tar.gz to build on recent linux systems (Arch/Artix linux tested)

https://gist.github.com/robots/29ac1058866c6dbd37e91f199f6991f6

2 Answers

0 votes
by

More information:

root@Teltonika-RUT955:~# mount /dev/mmcblk0p1 /mnt/mmcblk0p1/ -t ext4
mount: mounting /dev/mmcblk0p1 on /mnt/mmcblk0p1/ failed: No such file or directory

root@Teltonika-RUT955:~# dmesg
[  499.320000] EXT4-fs (mmcblk0p1): Cannot load crc32c driver.

Kernel module kmod-fs-ext4 has missing dependency:

Package: kmod-fs-ext4
Version: 3.18.44-1
Depends: kernel (=3.18.44-1-f1d3b083e83b6e473255e8f23b2d300c), kmod-lib-crc16, kmod-crypto-hash
Source: package/kernel/linux
License: GPLv2
Section: kernel
Status: unknown hold not-installed
Architecture: ar71xx
Installed-Size: 226209
Description:  Kernel module for EXT4 filesystem support

 

0 votes
by
Hello,

Is there a reason why you need ext4 support? Our routers support ext2 out of the box if you want to expand its user space via external storage media.
by
ext4 has its advantages like journaling. I don't want to go into details of our project.

I still think that this is BUG and it should be resolved :-)
by
and its not too much to change 3 lines, and rebuild the project.

https://gist.github.com/robots/29ac1058866c6dbd37e91f199f6991f6#file-fix-ext4-patch
by

Did you try manually installing kernel modules taken from bin/ar71xx/packages/ after the build? This way you won't need to reflash the whole firmware and just install the modules using OPKG.

I installed the following packages taken from the GPL build (With correct filename applied in RUT9XX_R_GPL/package/kernel/linux/modules/crypto.mk) directly on the router (Transfer using scp, install using opkg):

kmod-crypto-hash_3.18.44-1_ar71xx.ipk

kmod-crypto-core_3.18.44-1_ar71xx.ipk

kmod-lib-crc32c_3.18.44-1_ar71xx.ipk

kmod-crypto-crc32c_3.18.44-1_ar71xx.ipk

And it seems that ext4 mounts successfully.

Note: I had to use --force-depends option in opkg.

Regarding FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko

I'll report the issue to RnD regarding the incorrect file name specified (crc32c_generic.ko) for kmod-crypto-crc32c to build correctly

but I cannot say if the option will be enabled by default, most probably it will be disabled by default and up to the user if he want's to build with it or not.

by
Force adding modules into kernel on production router is very bad idea. This is very hackish solution to my problem. And still it doesn't allow mounting ext4 as extroot (memory extension, or overlay, or whatever you want to call it).

Another problem is that MMC card module is modprobed AFTER boot process starts. (in /etc/init.d/boot) So having overlay in mmc is not possible... Mmc module is not in /modules-boot.d/* which is scanned by module loader. This is probably worth opening another issue :-)