Posted: Mon May 07, 2018 0:19 Post subject: Dependencies for ext4.ko and jffs2.ko
I am trying to convert from a 2.6 build to a 3.x build for my E4200 (mainly to get VAP support). However I have found that the 3.x builds for the E4200 do not include any of the filesystem kernel modules (ext2/3/4, fat, vfat, jffs2, etc).
I have extracted the ext4.ko file from the "big" build and copied it over to /tmp, but insmod ext4.ko throws a bunch of Unknown symbol errors. I'm pretty sure that one of the kernel modules I need is mdcache.ko, but that also throws some Unknown symbol errors.
Does anyone know which (and in what order) kernel module dependencies I need to load for the filesystem modules? I am mostly interested in ext3 (or ext4) and jffs.
Here are the exact builds I am working with:
dd-wrt.v24-33679_NEWD-2_K2.6_big-nv60k.bin (Current 2.6 build where ext3/jffs work, but VAP does not)
dd-wrt.v24-33772_NEWD-2_K3.x_mega-e4200.bin (3.x build I am trying to upgrade to)
dd-wrt.v24-33772_NEWD-2_K3.x_big.bin (3.x build that I am extracting the kernel modules from)
Ok, so I made some progress. If found the modules.dep and modules.order files that list the dependencies and order that they are loaded in.
Unfortunately mbcache.ko shows no dependencies, and I am still getting the following errors:
Code:
mbcache: Unknown symbol register_shrinker (err 0)
mbcache: Unknown symbol unregister_shrinker (err 0)
mbcache: Unknown symbol sysctl_vfs_cache_pressure (err 0)
I just downloaded the source code, and at least register and unregister_shrinker are defined in vmscan.c which looks like it should be compiled into the kernel (linux/universal/linux-3.10/mm/Makefile). I don't see any config settings that would cause it not to be compiled into the kernel so I have no idea why I can't load this module
Joined: 26 Mar 2013 Posts: 1855 Location: Hung Hom, Hong Kong
Posted: Mon May 07, 2018 16:20 Post subject: Re: Dependencies for ext4.ko and jffs2.ko
bqq100 wrote:
I have extracted the ext4.ko file from the "big" build and copied it over to /tmp, but insmod ext4.ko throws a bunch of Unknown symbol errors. I'm pretty sure that one of the kernel modules I need is mdcache.ko, but that also throws some Unknown symbol errors.
Does anyone know which (and in what order) kernel module dependencies I need to load for the filesystem modules? I am mostly interested in ext3 (or ext4) and jffs.
I just found that there was no "depmod" command in DD-WRT. And modprobe doesn't support "--show-depends" option.
When you compile a kernel and its kernel modules *.ko, you need to have at least GCC and GNU Make...