内核启动参数
学习了好几种fs后,我们先缓缓,再次了解参数,这次不是模块参数,而是启动参数了,该参数是引导程序bootloader传递给kernel的配置参数,与模块参数一样是只能在初始化加载时使用,交互性弱,功能切换强,属于“不动产”配置,越少修改越好。
使用内核启动参数,需要使用到include/linux/init.h文件里的如下宏:
#define __setup(str, fn) \
__setup_param(str, fn, fn, 0)
其中,str为对应的启动参数名,fn是对该传入参数进行处理的函数。
而在Linux内核中也提供了整数参数值对应的处理函数,在lib/cmdline.c文件中有get_option和get_options两人函数的定义,前一个是针对于只有一个整数的情况,后一个则是针对以逗号分隔的一串整数的情况,而对于字符串则需要自行处理了,下面还是先上例子吧,注意这次源码需放至Kernel源码里来编译了,作为启动参数,当然是在内核的最前获取并处理了,还能留到模块加载时再处理吗?除非是获取处理后的值。
下面上代码并说明添加步骤:
1.在Linux Kernel源码下创建slam_boot_example目录:<