linux user/kernel 参数的传递和修改
2018-02-07 11:38
344 查看
内核的驱动以两种方式存在,那么传给内核的参数该如何弄呢?
1. 内核以驱动方式存在的,在insmod ko文件的时候,跟在命令后面给出参数,比如:
insmod hello_world.ko
parameter1=50 parameter2='welcome'
但是parameter1和parameter2必须在内核已经做了登记,需要调用接口:
module_param,比如:
MODULE_PARM_DESC(parameter1,
" just for debug")
module_param(parameter1,
int, 0644);
也可以通过module_param_array(para
, type , &n_para , perm) 来一个para数组,perm是指定了权限
perm 指定了在sysfs中相应文件的访问权限。访问权限与linux文件访问权限相同的方式管理,如0644,或使用stat.h中的宏如S_IRUGO表示。
0 表示完全关闭在sysfs中相对应的项。
#define S_IRUSR 00400 文件所有者可读
#define S_IWUSR 00200 文件所有者可写
#define S_IXUSR 00100 文件所有者可执行
#define S_IRGRP 00040 与文件所有者同组的用户可读
#define S_IWGRP 00020
#define S_IXGRP 00010
#define S_IROTH 00004 与文件所有者不同组的用户可读
#define S_IWOTH 00002
#define S_IXOTH 00001
2. 内核以image方式存在的,会在/sys/module/parameters/下有对应的文件,直接用cat 修改后,kernel/user空间都会看到这个值也跟这变。
1. 内核以驱动方式存在的,在insmod ko文件的时候,跟在命令后面给出参数,比如:
insmod hello_world.ko
parameter1=50 parameter2='welcome'
但是parameter1和parameter2必须在内核已经做了登记,需要调用接口:
module_param,比如:
MODULE_PARM_DESC(parameter1,
" just for debug")
module_param(parameter1,
int, 0644);
也可以通过module_param_array(para
, type , &n_para , perm) 来一个para数组,perm是指定了权限
perm 指定了在sysfs中相应文件的访问权限。访问权限与linux文件访问权限相同的方式管理,如0644,或使用stat.h中的宏如S_IRUGO表示。
0 表示完全关闭在sysfs中相对应的项。
#define S_IRUSR 00400 文件所有者可读
#define S_IWUSR 00200 文件所有者可写
#define S_IXUSR 00100 文件所有者可执行
#define S_IRGRP 00040 与文件所有者同组的用户可读
#define S_IWGRP 00020
#define S_IXGRP 00010
#define S_IROTH 00004 与文件所有者不同组的用户可读
#define S_IWOTH 00002
#define S_IXOTH 00001
2. 内核以image方式存在的,会在/sys/module/parameters/下有对应的文件,直接用cat 修改后,kernel/user空间都会看到这个值也跟这变。
相关文章推荐
- linux usermod命令参数及用法详解(linux修改用户账号信息命令)
- hi3531 SDK 编译 kernel, 修改 参数 分类: arm-linux-Ubuntu HI3531 2014-05-07 11:23 1120人阅读 评论(0) 收藏
- hi3531 SDK 编译 kernel, 修改 参数 . 分类: HI3531 arm-linux-Ubuntu 2014-06-18 08:54 773人阅读 评论(0) 收藏
- Embedded Linux kernel的启动参数command line的传递方式
- 探究Linux下参数传递及查看和修改方法
- 探究Linux下参数传递及查看和修改方法
- Linux Kernel Module 中传递参数
- linux usermod命令参数及用法详解(linux修改用户账号信息命令
- linux和window下网络配置网络参数修改
- linux kernel lpj参数
- BootLoader与Linux内核的参数传递
- Mysql 5.5 在windows 或linux下修改max_allowed_packet参数
- linux中probe函数传递参数的寻找(下)
- linux提高机器的性能,修改系统参数。
- linux提高机器的性能,修改系统参数。
- linux--参数修改--修改最大文件打开书
- 【linux系统参数修改命令】
- 修改Linux系统参数以支持单机同时打开数百万文件句柄
- java调用linux命令 传递多个参数和通配符的问题
- android 利用cmdline,将参数从preloader传递到kernel