我想尝试使用KVM模块和内核,例如,如果我更改链接列表的实现(在/include/linux/list.h中定义)等,它将如何预先形成。这不是我真正做的,但足以解释我的问题。
所以我所做的就是关注this tutorial,在运行make sync; make
之前,我刚刚在第{500行virt/kvm/kvm_main.c
中插入一行(就在使用了list_add宏之后),我添加了{{ 1}}。这个我可以用printk(KERNINFO, "here\n");
看得很清楚。但是在函数dmesg
中的文件list.h
内。我还添加了一条没有出现的行list_add
。
那么,发生了什么?它将部分链接回真实的内核吗?
为简单起见,我采取了以下行动:
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
会编译很多,所以也需要几分钟。