X86架构下交叉编译arm64源代码

家电修理 2023-07-16 19:16www.caominkang.com电器维修

3.1 安装标准的C开发环境
Ubuntu apt-get install build-essential 
Centos yum groupinstall Development Tools 
1
2
3.2 在/usr/local 下建立名为ARM-toolchain的文件夹
mkdir /usr/local/ARM-toolchain
1
3.3 下载交叉编译器
可以通过get的形式下载

cd /usr/local/ARM-toolchain 
get https://releases.linaro./ponents/toolchain/binaries/latest-5/aarch64-linux-gnu/glinaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz 
1
2
也可以从网页上下载后上传到 /usr/local/ARM-toolchain 目录下,交叉编译工具链的地址g-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz

下载完成后,解压tar包

tar –xvf g-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz 
1
3.4 配置环境变量
修改配置文件,在配置文件的一行加入路径配置 
Ubuntuvim /etc/bash.bashrc  
# Add ARM toolschain path 
PATH= /usr/local/ARM-toolchain/g-linaro-5.5.0-2017.10-x86_64_aarch64-linuxgnu/bin:"${PATH}" 
Centos vim /etc/profile 
# Add ARM toolschain path 
export PATH=$PATH:/usr/local/ARM-toolchain/g-linaro-5.5.0-2017.10-x86_64_aarch64-linuxgnu/bin 
1
2
3
4
5
6
7
3.5 环境变量生效与测试
# 生效
Ubuntu source /etc/bash.bashrc
# 测试
aarch64-linux-gnu-g  -v 
执行上面的命令,显示 arm-linux-gnueabi-g -v信息和版本 
Centos source /etc/profile 
         aarch64-linux-gnu-g  -v 
执行上面的命令,显示 arm-linux-gnueabi-g -v信息和版本 

交叉编译工具使用的时候提示

/lib64/libc.so.6: version `GLIBC_2.14' not found
网上的好多种处理方法需要删除软连接或者删除其他一些什么,千万不要删,后果很严重,别问为什么,问就是我删了系统启动出问题了。

解决方法来自升级glic 解决"libc.so.6: version 'GLIBC_2.14' not found"问题 - 散尽浮华 - 博客园 (blogs.)

如下升级glibc版本到2.14做法
# get http://ftp.gnu./gnu/glibc/glibc-2.14.tar.gz
# tar -xvf glibc-2.14.tar.gz
# cd glibc-2.14
# mkdir build; cd build
# ../configure --prefix=/usr --disable-profile --enable-add-ons --ith-headers=/usr/include --ith-binutils=/usr/bin
# make -j 8
# make install
 
查看版本,发现已升级到2.14版本
# ldd --version
# strings /lib64/libc.so.6 |grep GLIBC_

原文链接https://blog.csdn./RivenDong/article/details/106967003

https://blog.csdn./eixin_41916310/article/details/125682042

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by