Linux kernel 如何从Linux内核模块访问内核命令行?

Linux kernel 如何从Linux内核模块访问内核命令行?,linux-kernel,kernel-module,Linux Kernel,Kernel Module,如何从Linux内核模块获取内核命令行 这可以通过读取/proc/cmdline来实现,但从内核模块访问命令行似乎比打开和读取文件更简单。您真的需要访问enture内核命令行还是只需要几个参数? 您可以在每个显著参数前面加上模块名称 my_module.my_variable=value 然后您的内核模块可以使用module_param()宏检索它,如中所述。您知道/proc/cmdline只是告诉您在引导时传递给内核的参数吗?您不能实际使用它与内核交互或发送命令@当然是查理。我根本不想用/p

如何从Linux内核模块获取内核命令行


这可以通过读取
/proc/cmdline
来实现,但从内核模块访问命令行似乎比打开和读取文件更简单。

您真的需要访问enture内核命令行还是只需要几个参数?
您可以在每个显著参数前面加上模块名称

my_module.my_variable=value

然后您的内核模块可以使用module_param()宏检索它,如中所述。您知道/proc/cmdline只是告诉您在引导时传递给内核的参数吗?您不能实际使用它与内核交互或发送命令@当然是查理。我根本不想用/proc/cmdline与内核交互。我试图在Linux内核模块中获取这些参数,这通常是通过读取/proc/cmdline来完成的,但是从内核模块中获取这些参数没有简单的方法。这是一种奇怪的情况,我需要将cmdline打印到内核日志中。但是我可以这样做:
insmod module.ko cmdline=$(cat/proc/cmdline)
似乎仍然应该有一种直接访问cmdline的方法,但是没有导出
saved_命令行
。“我需要将cmdline打印到内核日志中。”--为什么?它已经在日志中了。它是内核输出的前十几行代码之一,很奇怪。我需要用KERN_ERR emergency再次打印它,以便通过日志程序显示它。