相关疑难解决方法(0)

在启动期间更改默认控制台日志级别

我设置了CentOS 6.3设置,其中控制台loglevel设置为4,默认日志级别设置为4.我知道我可以使用以下步骤更改默认控制台日志级别:

cat /proc/sys/kernel/printk

4   4   1   7

echo 5 > /proc/sys/kernel/printk
cat /proc/sys/kernel/printk

5   4   1   7
Run Code Online (Sandbox Code Playgroud)

但是,重新启动后,控制台日志级别将恢复为原始值.我是否需要重新编译内核,或者有一种方法可以让更改后的值在重新引导时保持持久性.

linux linux-kernel

21
推荐指数
1
解决办法
7万
查看次数

为什么Linux内核的pr_debug没有提供任何输出?

我有一个可加载的内核模块,它的init如下所示

static int __init id_init(void)
{
    struct identity *temp;

    /* some code which is not relevant to the question */

    temp = identity_find(3);
    pr_debug("id 3 = %s\n", temp->name);

    temp = identity_find(42);
    if (temp == NULL)
        pr_debug("id 42 not found\n");

    /* some code which is not relevant to the question */

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我也在我正在使用的内核版本上启用了动态调试 - 即CONFIG_DYNAMIC_DEBUG=y.

而在模块的Makefile文件我已经添加了一行CFLAGS_[id].o := -DDEBUG这里id.c是文件名.

现在我检查/sys/kernel/debug/dynamic_debug/control了这个模块的insmod之后,我在其中找到了下面的行

/home/pauldc/Programming/Kernel/id/id.c:69 [id]id_init =_ "id 42 not found\012"
/home/pauldc/Programming/Kernel/id/id.c:65 [id]id_init =_ "id 3 …
Run Code Online (Sandbox Code Playgroud)

linux debugging linux-kernel

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

linux ×2

linux-kernel ×2

debugging ×1