
正文
linux下交叉编译命令 linux交叉编译工具安装
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何编译/交叉编译内核模块, Linux 2.6.
椤�build 能够编译内核树目录内的内核模块,也能够编译内核树目录外的内核模块(外部内核模块)。. 编译外部内核模块的命令: #cd your-module-dir #make -C path-to-kernel M=`pwd` 其中your-module-dir 为要编译的内核模块所在目录,path-to-kernel 为内核源码所在的目录。 对于发行版本的Linux ,可以用: #make -C /lib/modules/`uname -r`/build M=`pwd` 注意:使用Kbuild 之前,必须先成功编译过内核源码。 说明: .#make -C path-to-kernel M=`pwd` modules 作用与上面的命令一样 .以前的内核版本可以使用 #make -C path-to-kernel SUBDIRS=`pwd` modules. 安装外部内核模块 #make -C path-to-kernel M=`pwd` modules_install 默认安装目录为:/lib/modules/`uname -r`/extra ,可以通过INSTALL_MOD_PATH 宏在默认安装路径前加前缀。 例如: #make -C path-to-kernel INSTALL_MOD_PATH=/opt M=`pwd` modules_install 则编译后的模块会放在/opt/lib/modules/`uname -r`/extra 通过宏INSTALL_MOD_DIR 可以修改是否放在'extra' 下,例如: #make -C path-to-kernel INSTALL_MOD_DIR=golf M=`pwd` modules_install 则编译后的模块会放在/lib/modules/`uname -r`/golf . 编译单个文件 #make -C path-to-kernel M=`pwd` filename. 其他命令 #make -C path-to-kernel M=`pwd` clean #make -C path-to-kernel M=`pwd` help.Kbuild 文件 Linux的Kbuild 会在内核模块目录下查找Kbuild 文件,如果有,则在编译时会使用该文件。示例: 假设有这么几个文件:8123_if.c 8123_if.h 8123_pci.c 8123_bin.o_shipped( 二进制的模块文件) Kbuild 文件的内容: obj-m := 8123.o 8123-y:8123_if.o 8123_pci.o 8123_bin.o Makefile的内容: #为了兼容旧版本的Kbuild ifneq($(KERNELRELEASE),) include Kbuildelse# 正常的Makefile KDIR:=/lib/modules/`uname -r`/buildall::$(MAKE) -C $(KDIR) M=`pwd` $@ # 其他targetgenbin:echo "X" 8123_bin_shippedendif 注意,没有源码的二进制.o 文件必须以原文件名加_shipped 结尾,例如8123_bin.o_shipped,KBuild 会把8123_bin.o_shipped 复制为8123_bin.o ,然后一起编译。 应该用: ifeq ($(obj),) obj= .
相关问答
Q1: 如何在linux下安装交叉编译器
sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install g++-arm-linux-gnueabi
sudo apt-get install binutils-arm-linux-gnueabi
这是Ubuntu系统下安装gcc和g++的交叉编译器的命令。
Q2: 如何使Linux在交叉编译工具安装配置并立即生效
#tar xvzf arm-linux-gcc-4.3.2.tar.gz -C /
(需要注意linux下交叉编译命令的是linux下交叉编译命令,在大写字母后面有一个空格)
第二、利用vi编辑器打开/etc/profile文件linux下交叉编译命令,并在下面的位置中添加一句话:pathmunge /opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/bin
(注意:该处的/opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/bin根据各人的交叉编译工具解压后所存放的位置而不同)
#vim /etc/profile
# Path manipulation
if [ $EUID = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/binfi第三、执行下列的命令即可是刚才的配置生效
#source /etc/profile
最后linux下交叉编译命令你就可以检测自己的交叉编译环境是否安装成功。可以输入下面的命令来检查:
Q3: Linux系统中如何安装交叉编译器?
交叉编译器通常以 arm-none-linux-gnueabi.tar.bz2 这样的名称发布(不同厂家的不同开发平台,交叉编译工具链的实际名称可能有所差别,请以实际为准),解压命令linux下交叉编译命令:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2
如果希望解压到一个指定的目录,可以先将 arm-none-linux-gnueabi.tar.bz2 压缩包复制到目标目录,然后进入目标目录再运行解压命令,也可以在任意目录解压,通过-C 指定目标目录。假定希望解压到“/home/ctools/”目录,则命令如下linux下交叉编译命令:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 -C /home/ctools/
在终端中添加环境变量,需要每次打开终端都设置,也很麻烦。可以考虑将设置的过程添加到系统配置文件中。/etc/profile 是系统全局的配置文件,在该文件中设置交叉编译器的路径,能够让登录本机的全部用户都可以使用这个编译器。
打开终端,输入“sudo vi /etc/profile”命令,打开/etc/profile 文件,在文件末尾添加:
export PATH=$PATH:/home/ctools/arm-2011.03/bin/
然后输入“. /etc/profile”(点+空格+文件名),执行 profile 文件,使刚才的改动生效。如果没有书写错误,此时打开终端,输入 arm-none-linux-gnueabi-,然后按键盘 TAB 键,同样可以看到很多 arm-none-linux-gnueabi-开头的命令。
这些周立功那边很多的,不知道你有没去看过。
Q4: 如何建立Linux下的ARM交叉编译环境
从网上下载arm-linux-gcc
4.4.3的源码
2
进入Linux的终端,将当前目录设为arm-linux-gcc的下载目录,输入tar
-xzf
arm-linux-gcc-4.4.3.tar.gz,将文件解压,解压后会有一个opt的文件夹。
arm-linux-gcc交叉编译环境的安装
3
在/usr/local/下建立一个名为arm的文件夹,在终端中输入命令:cd
/usr/local/,回车,然后再输入命令:mkdir
arm,建立arm目录,并修改该文件夹的属性为rwx,输入命令:chmod
777
arm
arm-linux-gcc交叉编译环境的安装
4
将之前解压得到的opt文件压下的源码,复制到上一步中创建的arm文件夹下,在终端中输入命令:sudo
cp
-r
/opt/FriendlyARM/toolschain/4.4.3
/usr/local/arm
arm-linux-gcc交叉编译环境的安装
5
到这里已经基本安装好了,到为了避免每次使用arm-linux-gcc时都要输入它所在的完整路径,所以这里我们要修改一下环境变量$PATH。在终端中输入:sudo
gedit
/etc/profile,打开profile文件,在最后一行加上“export
PATH=$PATH:/usr/local/arm/4.4.3/bin”然后保存文件。
arm-linux-gcc交叉编译环境的安装
arm-linux-gcc交叉编译环境的安装
6
立即使新的环境变量生效,输入:source
/etc/profile。再输入:echo
$PATH查看环境变量,如图。如果不成功,则直接重新启动系统,再查看。因为之前我已经安装过了,为了演示,所以图中会有两个/usr/local/arm/4.4.3/bin。
arm-linux-gcc交叉编译环境的安装
arm-linux-gcc交叉编译环境的安装
7
最后检查是否安装完成,输入:arm-linux-gcc
-v查看版本信息,如果出现以下信息,则说明安装成功。
arm-linux-gcc交叉编译环境的安装
Q5: linux arm 交叉编译怎么使用
交叉编译器通常以 arm-none-linux-gnueabi.tar.bz2 这样linux下交叉编译命令的名称发布(不同厂家的不同开发平台linux下交叉编译命令,交叉编译工具链的实际名称可能有所差别linux下交叉编译命令,请以实际为准)linux下交叉编译命令,解压命令linux下交叉编译命令: vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 如果希望解压...
关于linux下交叉编译命令和linux交叉编译工具安装的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





