CMDLINE的解析

         在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);

原文地址:https://www.cnblogs.com/fuhaots2009/p/3455549.html