我想在Linux内核的kvm
模块中进行一些修改。为此,我做了以下事情:
apt-get source linux-image-source-$(uname-r)
printk
语句。fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary generic
sudo dpkg -i linux*(version)*.deb
QEMU
执行kvm
。 然而,当我尝试在QEMU中测试时,我所做的更改似乎没有反映出来。当我使用printk
核对时,dmesg
语句都没有执行。
任何人都可以指出哪个部分我错了?
答案 0 :(得分:1)
安装新内核不一定会启动它,您可能需要更改引导加载程序中的默认值。 (例如grub)
您可以检查刚编译和安装的内核是否与使用以下内容启动的内核相同:
cat /proc/version
如果这不符合预期,那么您需要调整Grub配置和/或重新启动并手动选择正确的内核。
建立了正确的内核后,您可能需要更改内核报告的消息级别(通过dmesg)
这是由内核proc文件控制的。您可以通过打印此文件来查看当前值:
cat /proc/sys/kernel/printk
示例输出:
4 4 1 7
第一个参数 - 严重性为<的消息将记录4(即0,1,2或3)。 第二个参数 - 没有指定严重性的消息默认为4,因此在上例中系统没有看到。
因此,以下内容将更改日志,以便查看所有内核消息:
echo 8 > /proc/sys/kernel/printk
有关详细信息,请参阅(例如)http://www.makelinux.net/books/lkd2/ch18lev1sec3。