交叉编译bash

1 下载bash版本:【version 4.2.53】
地址:http://ftp.gnu.org/gnu/bash/

 

2 解压
将下载的bash压缩包解压,命令:

# mkdir /home/carrie/bash             # 创建bash工作目录
# cp bash-4.2.53.tar.gz /home/carrie/bash    # 复制安装包
# cd /home/carrie/bash               # 进入/home/carrie/bash目录
# tar zxvf bash-4.2.53.tar.gz           # 解压

 

3、配置
编译之前,要进行配置,命令:

# mkdir /home/carrie/bash/bash-4.2.53/arm_build # 创建安装目录
# cd /home/carrie/bash/bash-4.2.53 # 进入目录
# vim ./support/config.sub    #添加支持aarch64
242 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243 | am33_2.0 \
244 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 | aarch64 \
245 | bfin \
246 | c4x | clipper \

#.
/configure --prefix=/home/carrie/bash/bash-4.2.53/arm_build/ --target=aarch64-linux-gnu --host=aarch64-linux-gnu --build=x86_64-linux-gnu CC=aarch64-linux-gnu-gcc AR=aarch64-linux-gnu-ar # make & make install

 



转载于:https://www.cnblogs.com/carriezhangyan/p/9829883.html

在Linux下进行bash交叉编译,主要是指在一种架构(通常称为目标架构,如arm、risc-v等)的系统上,使用另一种架构(通常是主机架构,如x86或AMD64)的工具链来编译源代码,以便生成可以在目标架构设备上运行的程序。以下是一个基本步骤: 1. **设置工具链**: 首先,你需要下载并安装适合目标架构的编译器(如`gcc-arm-linux-gnueabihf`)、链接器和其他必要的支持库。在Debian或Ubuntu这样的基于GNU/Linux的发行版上,你可以通过包管理器(apt-get或apt)来获取它们。 ```sh sudo apt-get install gcc-cross-arm-linux-gnueabi g++-cross-arm-linux-gnueabi binutils-arm-linux-gnueabi ``` 2. **配置环境变量**: 确保在`.bashrc`或其他启动脚本中设置了交叉编译所需的环境变量,如`CC`, `CXX`, 和`AR`。 3. **指定目标架构**: 使用`-target`选项告诉编译器正在编译的目标架构,例如: ```sh gcc -target arm-linux-gnueabi -o myapp mysource.c ``` 4. **编译和链接**: 将源代码(`.c` 或 `.cpp` 文件)传给编译器,它会生成可在目标机器上运行的可执行文件。 5. **验证**: 完成编译后,你可以尝试在交叉编译后的环境中(可能需要一个模拟器或者直接在硬件上)运行生成的二进制文件。 **相关问题:** 1. 交叉编译过程中如何处理库文件? 2. 是否可以直接在Linux host上运行交叉编译的二进制文件? 3. 如何检查bash交叉编译是否成功?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值