linux将应用程序打印加入dmesg,linux – 如何添加将使用dmesg读取的消息?

dmesg显示内核缓冲区中的内容,而logger则显示syslogd.我想如果你想把东西打印到内核缓冲区,你需要创建一个使用printk()内核函数的驱动程序.如果您只想在/ var / log / messages中使用,那么使用“正常”设置我认为您使用logger所做的事情已经很好了.

printk()驱动程序最基本的例子是:

你好ç:

#include

#include

int init_module(void)

{

printk(KERN_INFO "Hello world\n");

return 0;

}

void cleanup_module(void)

{

printk(KERN_INFO "Goodbye world\n");

}

Makefile文件:

obj-m += hello.o

all:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

然后:

$make

$sudo insmod hello.ko

$dmesg | tail -n1

[7089996.746366] Hello world

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现在uboot中添加一个ubootargs参数,并且在linux一个模块中读取打印该参数,可以按照以下步骤进行: 1. 在uboot中添加ubootargs参数 可以通过修改uboot中的代码来添加ubootargs参数。具体来说,可以在uboot中的include/configs/目录下找到相应的配置文件(如imx6ull_evk.h),并在该文件中添加以下代码: #define CONFIG_EXTRA_ENV_SETTINGS \ "ubootargs=hello world\0" \ 这样就在uboot中添加了一个名为ubootargs的参数,并设置其值为"hello world"。 2. 在linux添加一个模块 可以通过创建一个简单的linux模块来读取打印ubootargs参数。具体来说,可以创建一个名为ubootargs_module.c的文件,并添加以下代码: #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/string.h> static char *ubootargs; module_param(ubootargs, charp, 0); static int __init ubootargs_module_init(void) { printk(KERN_INFO "ubootargs_module: ubootargs=%s\n", ubootargs); return 0; } static void __exit ubootargs_module_exit(void) { printk(KERN_INFO "ubootargs_module: exiting\n"); } module_init(ubootargs_module_init); module_exit(ubootargs_module_exit); 在该模块中,我们首先定义了一个名为ubootargs的变量,并使用module_param宏定义该变量,表示该变量可以从命令行中传入。然后,我们实现了模块的初始化和退出函数,在初始化函数中打印ubootargs参数的值。 3. 编译并运行模块 最后,我们需要编译并运行这个模块。可以使用以下命令来编译该模块: make -C /path/to/kernel/source M=$PWD modules 其中,/path/to/kernel/source是指linux内核源代码的路径。编译成功后,可以使用insmod命令将该模块加载到内核中: sudo insmod ubootargs_module.ko ubootargs="hello world" 这里的ubootargs参数需要和uboot中设置的参数保持一致。加载成功后,我们可以使用dmesg命令查看模块的输出: dmesg | tail 可以看到类似如下输出: [ 205.310564] ubootargs_module: ubootargs=hello world 这表明我们成功地从uboot中添加了一个ubootargs参数,并且在linux一个模块中读取打印了该参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值