我想试验KVM模块和内核,例如,如果我改变链表的实现(在/include/linux/list.h中定义)等,它是如何预先形成的 . 这不是我真正做的,但足以解释我的问题 .
所以我所做的是跟随this tutorial并且在运行 make sync; make
之前我刚刚在第500行的 virt/kvm/kvm_main.c
中插入了一行(就在使用了list_add宏之后)我添加了 printk(KERNINFO, "here\n");
. 这个我可以看到 dmesg
就好了 . 但在函数 list_add
中的文件 list.h
内 . 我还添加了一条没有出现的 printk(KERNINFO, "here 2\n");
行 .
那么,发生了什么?它将部分链接回真正的内核吗?
为简单起见,这是我做的行动:
git clone git://git.kiszka.org/kvm-kmod.git
cd kvm-kmod
git submodule update --init
./configure [--kerneldir=linux]
#### add the printk to the files.
make sync
make
- 对于那些花时间做测试的人,首先要感谢,其次,
git submodule update --init
会下载很多,所以需要时间 . 并且make
将编译很多,所以它也需要几分钟 .