当前位置: 技术问答>linux和unix
linux(rh 9版)开机加载一个硬件驱动程序
来源: 互联网 发布时间:2016-03-16
本文导语: 我有一个驱动需要每次启动计算机都加载一次.所以想添加成PC启动自动加载的. 驱动程序是编译加载的.编译加载只需要执行一个 shell 文件(loadModule)就可以了. 比如我平时加载驱动需要如下写: cd module ./loadModule 问题...
我有一个驱动需要每次启动计算机都加载一次.所以想添加成PC启动自动加载的.
驱动程序是编译加载的.编译加载只需要执行一个 shell 文件(loadModule)就可以了.
比如我平时加载驱动需要如下写:
cd module
./loadModule
问题:
在loadModule文件中使用了一些相对路径.所以,我在 etc/rc.d/rc.loacl 文件中如果直接写成 ./module/loadModule 的话,肯定会报"找没有XX文件或者目录"错误的.
文件结构:
[module]
loadModule
[xxxx(文件夹)]
x1,x2 等等...
loadModule中的shell语句:
cd xxxx(5行处就使用了相对路径,平时由于我进入了 module文件夹,所以 cd xxxx不会有错误,但是启动自动运行时候没有 cd module,所以会报错误)
请问
1. 我要启动PC时候,自动加载一个硬件驱动(其实就是启动时候,自动运行一个 shell),要写到那个文件中比较好? /etc/rc.d/rc.loacl ?
2. 我该怎么解决自动运行的shell中使用了相对路径的问题呢? 修改shell吗? 如何修改呢? 通过 shell 得到自己所在路径 myDir,然后把所有的 cd xxxx 之类的命令都改变成 cd myDir/xxxx ? 那么命令这么写呢?
ps:我表达的非常的罗嗦,我都不想在发布前再检查一下了...没办法,就这个问题和其他朋友沟通的时候让他们很不理解了一会儿. shell编写我完全不懂.还请大家多多指点.
驱动程序是编译加载的.编译加载只需要执行一个 shell 文件(loadModule)就可以了.
比如我平时加载驱动需要如下写:
cd module
./loadModule
问题:
在loadModule文件中使用了一些相对路径.所以,我在 etc/rc.d/rc.loacl 文件中如果直接写成 ./module/loadModule 的话,肯定会报"找没有XX文件或者目录"错误的.
文件结构:
[module]
loadModule
[xxxx(文件夹)]
x1,x2 等等...
loadModule中的shell语句:
cd xxxx(5行处就使用了相对路径,平时由于我进入了 module文件夹,所以 cd xxxx不会有错误,但是启动自动运行时候没有 cd module,所以会报错误)
请问
1. 我要启动PC时候,自动加载一个硬件驱动(其实就是启动时候,自动运行一个 shell),要写到那个文件中比较好? /etc/rc.d/rc.loacl ?
2. 我该怎么解决自动运行的shell中使用了相对路径的问题呢? 修改shell吗? 如何修改呢? 通过 shell 得到自己所在路径 myDir,然后把所有的 cd xxxx 之类的命令都改变成 cd myDir/xxxx ? 那么命令这么写呢?
ps:我表达的非常的罗嗦,我都不想在发布前再检查一下了...没办法,就这个问题和其他朋友沟通的时候让他们很不理解了一会儿. shell编写我完全不懂.还请大家多多指点.
|
/etc/rc.d/rc.loacl添加即可
|
将你编译后的module 拷到 /lib/modules/`uname -r`/下, 然后 depmod -a, 最后modprobe
不知道能不能满足你的要求
不知道能不能满足你的要求
|
./module/loadModule 的意思是执行在当前目录下的module目录下的loadModule,所以出错。
你直接在/etc/rc.d/rc.loacl 下添加 /module/loadModule 就可以了,没什么土不土的。
你直接在/etc/rc.d/rc.loacl 下添加 /module/loadModule 就可以了,没什么土不土的。
|
以后需再关注,现在先帮你顶一下