当前位置: 技术问答>linux和unix
请教使用arm-linux-gcc 3.4.1 如何交叉编译linux 2.6的内核模块?
来源: 互联网 发布时间:2016-12-12
本文导语: 如题,请高手指点,郁闷中!! 总是交叉编译过不去??哎!! | 我觉得应该看看LDD3这本书的 第二章。 尤其是 2.2. The Hello World Module 和2.4. Compiling and Loading 当交叉编译时要设...
如题,请高手指点,郁闷中!!
总是交叉编译过不去??哎!!
总是交叉编译过不去??哎!!
|
我觉得应该看看LDD3这本书的 第二章。
尤其是 2.2. The Hello World Module
和2.4. Compiling and Loading
当交叉编译时要设置 CROSS_COMPILE=
再有不懂的话,google吧。
不过要把你的问题说清楚了。
尤其是 2.2. The Hello World Module
和2.4. Compiling and Loading
当交叉编译时要设置 CROSS_COMPILE=
再有不懂的话,google吧。
不过要把你的问题说清楚了。
|
编译模块要加库函数的路径吧
|
make CROSS_COMPILE=....
|
一、交叉编译环境arm-linux-gcc-2.95.3 的建立
1.下载cross-2.95.3.tar.bz2
2.建目录,复制,解压
# cd /usr/local
# mkdir arm
# cd arm
复制cross-2.95.3.tar.bz2 到当前目录
# tar jxvf cross-2.95.3.tar.bz2
3.导出/usr/local/arm/2.95.3/bin 到环境变量
在/etc/profile 最后添加 PATH=$PATH:/usr/local/arm/2.95.3/bin
二、交叉编译环境arm-linux-gcc-3.4.1的建立
1.下载arm-linux-gcc-3.4.1.tar.bz2
ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
2.复制,解压
# cd /
复制arm-linux-gcc-3.4.1.tar.bz2到当根目录
# tar jxvfarm-linux-gcc-3.4.1.tar.bz2
3.导出/usr/local/arm/3.4.1/bin 到环境变量
在/etc/profile 最后添加 PATH=$PATH:/usr/local/arm/3.4.1/bin
三、导出使环境变量(具体这一步都没有写,也可以)
1.用export PATH=$PATH:/usr/local/arm/2.95.3/bin/: (临时起作用)
2.在你的家目录里,修改自己的环境变量:vi ~/.bash_profile 把这个文件添加到 .bash_profile中就行了 ;(对某用户起作用)
3.修改/etc/porfile文件,在最后加上export PATH=$PATH:/usr/local/arm/2.95.3/bin/: (对所有用户起作用);
文件修改后,要使更改环境变量生效一般的做法是重新登录,
运行# source /etc/profile 可以使导出的环境变量马上生效,避免重启。『在执行这之后,在echo $PATH中又多出了一条我们在/etc/profile中添加的路径:/usr/local/arm/2.95.3/bin/。但重启后又没有了』
1.下载cross-2.95.3.tar.bz2
2.建目录,复制,解压
# cd /usr/local
# mkdir arm
# cd arm
复制cross-2.95.3.tar.bz2 到当前目录
# tar jxvf cross-2.95.3.tar.bz2
3.导出/usr/local/arm/2.95.3/bin 到环境变量
在/etc/profile 最后添加 PATH=$PATH:/usr/local/arm/2.95.3/bin
二、交叉编译环境arm-linux-gcc-3.4.1的建立
1.下载arm-linux-gcc-3.4.1.tar.bz2
ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
2.复制,解压
# cd /
复制arm-linux-gcc-3.4.1.tar.bz2到当根目录
# tar jxvfarm-linux-gcc-3.4.1.tar.bz2
3.导出/usr/local/arm/3.4.1/bin 到环境变量
在/etc/profile 最后添加 PATH=$PATH:/usr/local/arm/3.4.1/bin
三、导出使环境变量(具体这一步都没有写,也可以)
1.用export PATH=$PATH:/usr/local/arm/2.95.3/bin/: (临时起作用)
2.在你的家目录里,修改自己的环境变量:vi ~/.bash_profile 把这个文件添加到 .bash_profile中就行了 ;(对某用户起作用)
3.修改/etc/porfile文件,在最后加上export PATH=$PATH:/usr/local/arm/2.95.3/bin/: (对所有用户起作用);
文件修改后,要使更改环境变量生效一般的做法是重新登录,
运行# source /etc/profile 可以使导出的环境变量马上生效,避免重启。『在执行这之后,在echo $PATH中又多出了一条我们在/etc/profile中添加的路径:/usr/local/arm/2.95.3/bin/。但重启后又没有了』
|
估计是库函数路径等环境变量设置有点问题的吧
|
试试
如下修改lib_arm/_umodsi3.S、lib_arm/_udivsi3.S:
bl __div0 (PLT) ===> bl __div0
如下修改lib_arm/_umodsi3.S、lib_arm/_udivsi3.S:
bl __div0 (PLT) ===> bl __div0