Can a built-in Linux kernel function be extended with a module?
I am using Linux kernel 3.4.31+ in an embedded environment which has built-in support for SquashFs using the zlib compression method. Now I would like to add support for compressing the xz method without replacing the kernel, but just adding it as a module. Is it possible?
After I
- Select SquashFs support as a module in the kernel menuconfig menu
- Recompile kernel
- Leave the original kernel on my target device, but update the entire contents of / lib / modules / 3.4.31 +
- invoke modprobe squashfs
I get
# modprobe squashfs
modprobe: failed to load module squashfs (kernel/fs/squashfs/squashfs.ko): Cannot allocate memorycode
dmesg shows:
kmem_cache_create: duplicate cache squashfs_inode_cache
[<c000e5e4>] (unwind_backtrace+0x0/0xf0) from [<c0077264>] (kmem_cache_create+0x4a4/0x514)
[<c0077264>] (kmem_cache_create+0x4a4/0x514) from [<bf011024>] (init_module+0x24/0x7c [squashfs])
[<bf011024>] (init_module+0x24/0x7c [squashfs]) from [<c0008840>] (do_one_initcall+0x11c/0x190)
[<c0008840>] (do_one_initcall+0x11c/0x190) from [<c0048c40>] (sys_init_module+0x36c/0x1874)
[<c0048c40>] (sys_init_module+0x36c/0x1874) from [<c00092e0>] (ret_fast_syscall+0x0/0x2c)
Is there a workaround to force the removal of built-in SquashFs support?
+3
source to share