在开发板上烧录了新移植的文件系统后,使用rmmod命令来卸载一个调试的驱动时,出现无法卸载驱动的错误,提示如下:
rmmod: chdir(/lib/modules): No such file or directory
用lsmod查看时发现hixx模块并没有被卸载掉。
查看/lib目录,果然没有modules这个目录存在,于是在/lib/目录下手动创建了modules目录。
再次执行卸载命令时,又提示:
rmmod: chdir(3.0.8): No such file or directory
于是又在modules目录下再新建目录3.0.8,再次执行卸载命令时,提示:
rmmod: module 'hixx' not found
此时再用lsmod查看,发现hixx驱动模块已经卸载掉了。
上面提示: module 'hixx' not found,是因为编译内核时开启了如下选项:
【*】Enable loadable module support --->
所以系统在运行时会自动到/lib/modules/目录下去搜索相关的模块。
如果在制作文件系统时,把hixx.ko放置到/lib/modules/目录下,则在任意目录下执行rmmod命令来卸载相应驱动模块时都不会提示这个错误的。
另外一种方法是,在系统启动脚本里加上如下一行创建modules目录的命令也可以:
mkdir -p /lib/modules/$(uname -r)