Ich bin derzeit patchen Ext4 für akademische Zwecke (nur Linux/fs/ext4/*, wie file.c, ioctl.c, ext4.h). Ich arbeite an der virtuellen QEMU-Maschine und um den gesamten Prozess zu beschleunigen, habe ich Ext4 als Kernel-Modul kompiliert. Das Problem tritt auf, wenn es darum geht, neue Änderungen zu testen, auch wenn ich make modules ARCH=x86 && make modules_install ARCH=x86
ausführen und die Maschine neu starten (/ ist Ext4), sind sie nicht sichtbar, wenn ich den gesamten Kernel neu kompiliere. Es ist ein bisschen seltsam, wie ich eine Vielzahl von Zeichen haben, dass das Ext4 hat als Modul kompiliert worden:Patchen und Kompilieren von Ext4 als Kernelmodul
es so, dass konfiguriert ist:
$ grep EXT4 .config CONFIG_EXT4_FS=m
es als Modul nicht kompiliert:
$ 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
Nach
$ make modules_install ARCH=x86
die Dateien in /lib/modules/3.13.3/kernel/fs/ haben richtige Zeitstempel.Endlich:
$ lsmod Module Size Used by ext4 340817 1 (...)
Aus irgendeinem Grund habe ich $ make all ARCH=x86
zu tun, um meine Änderungen zu sehen erscheinen in der Laufzeit. Was habe ich verpasst? Vielen Dank!
Danke, das war natürlich die Antwort! Ich hätte daran denken können :) –