Linux kernel 使用附加模块交叉编译Linux内核
我是新来交叉编译的。我必须交叉编译Linux内核,因为我打算在TS-7500 SBC(ARM处理器)上使用wifi模块,但它不支持。我有我的wifi模块的驱动程序,通过上网,我了解了交叉编译的一般过程。然而,我对额外模块部分有点困惑。以下是TS-7500官方网站上关于这些额外模块的信息: 附录-使用自定义选项编译TS内核 为了编译一个单独的内核模块并生成一个.ko文件以包含在已经存在的内核中,以下步骤将在步骤08之后执行,并在上面的步骤09结束。注:步骤02之后的步骤未经验证/未经测试。它们代表了一个人们将要经历的准确过程 01.)打开menuconfig并使用“M”模块化内核特性。对于 例如,要模块化cifs.ko,可以使用箭头键和Enter键 导航到文件系统->网络文件系统->CIFS支持。Linux kernel 使用附加模块交叉编译Linux内核,linux-kernel,arm,cross-compiling,kernel-module,Linux Kernel,Arm,Cross Compiling,Kernel Module,我是新来交叉编译的。我必须交叉编译Linux内核,因为我打算在TS-7500 SBC(ARM处理器)上使用wifi模块,但它不支持。我有我的wifi模块的驱动程序,通过上网,我了解了交叉编译的一般过程。然而,我对额外模块部分有点困惑。以下是TS-7500官方网站上关于这些额外模块的信息: 附录-使用自定义选项编译TS内核 为了编译一个单独的内核模块并生成一个.ko文件以包含在已经存在的内核中,以下步骤将在步骤08之后执行,并在上面的步骤09结束。注:步骤02之后的步骤未经验证/未经测试。它们代表
按“M”将CIFS支持模块化到内核中,然后继续 “退出”直到提示您保存更改,选择“是” 02.)使用模块编译内核,并将模块复制到Linux PC
make && make modules && make modules_install
03.)使用以下命令检索复制到Linux PC的模块:
cp,以便将其安装到MiniSD卡的内核中
mkdir /mnt/miniSD4
mount /dev/sdb4 /mnt/miniSD4
cp /lib/modules/2.6.24.4/kernel/fs/cifs/cifs.ko /mnt/miniSD4
04.)通过从分区4复制和粘贴将模块安装到内核中
在SBC上的分区2上的卡
cp -r /dev/nbd4/cifs.ko /dev/nbd2/lib/modules/2.6.24.4/kernel/fs/cifs/cifs.ko
05.)最后,要使用新模块,必须启用它。这个可以
可以包含在启动脚本中,例如linuxrc
depmod
modprobe cifs.ko
我对连续剧2感到困惑。有人能给我解释一下吗?我应该在哪里提供我想安装的驱动程序的地址
提前感谢。我假设您的SBC不支持它,这意味着您交叉编译的模块/驱动程序是一个“源代码外树”内核模块 上述过程仅适用于“树内内核模块” 这就给您留下了以下两个选项
insmod /path/to/module/filename.ko
这种方法只有一个局限性。i、 e如果此驱动程序/模块依赖于其他驱动程序,则必须首先加载它们modprobe drivername
将其与依赖项一起加载modprobe
比insmod更先进,因为它首先检查依赖项,并在加载模块本身之前自动加载它们insmod /path/to/module/filename.ko