当前位置: 技术问答>linux和unix
编译好的内核模块可以直接安装到别的机器上吗?
来源: 互联网 发布时间:2017-01-01
本文导语: 需要一个内核模块, 希望在特定的机器上编译好后能在众多客户机上安装,而不希望将代码带到客户机上去编译, 如何实现呢?实现要求? | 内核版本最好一样,gcc版本最好一样 为什么linux下许多...
需要一个内核模块, 希望在特定的机器上编译好后能在众多客户机上安装,而不希望将代码带到客户机上去编译,
如何实现呢?实现要求?
如何实现呢?实现要求?
|
内核版本最好一样,gcc版本最好一样
为什么linux下许多闭源驱动不敢像Windows那样直接提供完全的二进制文件,而是提供一个目标文件.o和连接这个目标文件.o的c源码入口?
就是为了在本机内核下走一次编译器,保证编译器、内核的兼容
为什么linux下许多闭源驱动不敢像Windows那样直接提供完全的二进制文件,而是提供一个目标文件.o和连接这个目标文件.o的c源码入口?
就是为了在本机内核下走一次编译器,保证编译器、内核的兼容
|
一般不能。需要用对方机器的内核头文件重新编译才行。
|
如果机器硬件大致相同,操作系统环境相同,直接编译过去,然后inmod就可以用啊。。。
少的一部分不可以把
注意make gcc版本保持一致
少的一部分不可以把
注意make gcc版本保持一致
|
学习,觉得肯定是要保持底层版本库,如glib,还有编译器gcc,内核版本的一致性
|
大部分发行版的2.6内核一般都设置了强制要求ko模块和内核使用同一版本的gcc
你那是交叉编译用户级程序,不一样的,Windows照样可以编译Linux程序,但不代表Windows和Linux兼容
|
应该不行
|
不行吧,内核版本,编译器,机器性能都会受影响吧
|
一般是可以的,需要了解gcc和Makefile在不同机器(不同CPU指令集)上的设置。
在编译机上,按照目标机的配置进行编译即可。曾经在Linux上编译针对iPhone的程序。
内核比较特别,但直觉是可以的。
在编译机上,按照目标机的配置进行编译即可。曾经在Linux上编译针对iPhone的程序。
内核比较特别,但直觉是可以的。
|
应该不行吧
|
可能对内核版本一致性这块要求会更高一点.