嵌入式对节约硬件资源是要求很高的,所以很多地方都是有很大的限制,比如说内核,如果内核大小超过了硬件的限制,便只能进行相应的裁剪。
而相对于内核而言,空间就相对来说大很多了。
所以,我们在编译内核的时候就可以采用两种加载方式。
* 以内核形式加载,这样所有的驱动程序都在内核中。
M以模块形式加载,这样驱动程序的大部分都再文件系统中,这样内核的大小就得到了很大的改善。
在编译内核的时候我们选择以M形式,注意编译最后的部分的打印信息,他会告诉你如何,模块被保存在什么地方。
然后把你所要加载的模块拷到你的开发板的根文件系统中。
这里有两种方式一种是在将根文件系统做出二进制格式之前拷到文件系统中,
就是在执行 mkyafss2 rootfs rootfs.bin
之前,
也可以在整个系统启动后,通过u盘或者nfs传输到开发板上
然后insmod /lib/modules/模块名
即 insmod 路径+模块名
想要卸载只需要把 insmod换成rmmod