I'm currently patching Ext4 for academic purposes (only linux/fs/ext4/*, like file.c, ioctl.c, ext4.h) . I'm working on the QEMU virtual machine, and to speed up the whole process I've selected Ext4 to compile as a kernel module. The problem occurs when it comes to test new changes, as, even though I run make modules ARCH=x86 && make modules_install ARCH=x86
and reboot the machine (/ is Ext4), they are not visible unless I recompile the whole kernel. It's a little bit weird as I have a variety of signs that the Ext4 has been compiled as a module:
It is configured as that:
$ grep EXT4 .config CONFIG_EXT4_FS=m
It does compile as a module:
$ make modules ARCH=x86 (...) CC [M] fs/ext4/ioctl.o LD [M] fs/ext4/ext4.o Building modules, stage 2. MODPOST 3 modules LD [M] fs/ext4/ext4.ko
After
$ make modules_install ARCH=x86
the files in /lib/modules/3.13.3/kernel/fs/ have proper time stamp.Finally:
$ lsmod Module Size Used by ext4 340817 1 (...)
For some reason I have to do $ make all ARCH=x86
in order to see my changes appear in the runtime. What have I missed? Thanks!