在linux的config文件中有一个特殊的宏定义CMDLINE,以前也一直在使用这个宏的参数,但是真正这个宏的解析和使用却不怎么明确。这次有机会多对它有些了解,不妨把这个浅显的认识说出来,记下来。

        到底linux kernel中是如何使用这个参数的呢?

        又为何一定要写在kernel的config文件中呢?

        对于这个参数的使用主要是通过对它的解析完成。而Linux Kernel中使用最多的处理Kernel的启动参数的函数是:__setup这条宏。当然网上关于此的解释挺多的,我也没看懂,所以也没资格谈论。

        简单的讲,这个宏的作用就是解析CMDLINE中某个字符串之后的字符串,例如以下的使用

                                               __setup("nandcfg=", nfccfg_setup);

        就是将CMDLINE宏中”nandcfg=“之后的字符串读取出来,然后进行解析使用。当然此处完全可以参考内核中原有的对于CMDLINE的解析文件来做。

        另外,如果涉及到大小的参数,可以使用如下的函数完成解析:

kernel/include/linux/kernel.h

extern unsigned long long memparse(const char *ptr, char **retptr);

 

相关文章:

  • 2022-01-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
  • 2022-12-23
  • 2021-11-11
  • 2022-02-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2021-12-13
  • 2022-02-21
相关资源
相似解决方案