来自云龙湖轮廓分明的月亮 发表于 2024-6-15 02:12:38

虚拟机中Ubuntu 20.04安装arm-linux-gcc交叉编译器

一、Ubuntu中安装arm-linux-gcc交叉编译器 
        在网上找了好多办法都没安装成功,网上大部分以及老师给的教程都是安装4.4.3版本的,我这边系统版本是64位的,但是安装之后4.4.3之后,即使安装了32位运行库,仍旧报"not found"或”arm-linux-gcc不是可实行命令“。最后成功安装了64位的arm-linux-gcc交叉编译器。
步骤如下:
arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2
链接:https://pan.baidu.com/s/1iFrEWgjr16-IzELkguhVKQ?pwd=9asc 
提取码:9asc
(1)首先将该文件通过U盘放到Ubuntu系统的桌面上,然后进入该文件夹内,内里是安装包,鼠标右键在终端打开,进入该目录的终端下,利用命令将该安装包解压到根目录下,注意是大写C。
sudo tar -xjvf /tmp/arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2 -C / https://img-blog.csdnimg.cn/direct/63e08f89d2a44f46a7a4377368e4fa9e.png
https://img-blog.csdnimg.cn/direct/50a6f041f7a84ae6af886d629107aba4.png
(2)新建目录用来存放解压后的目录,
https://img-blog.csdnimg.cn/direct/6dc246d205134d8b8cc6d72569c15ec2.png
或者利用命令行创建目录,
sudo mkdir /usr/local/arm 创建目录后,输入命令释放arm目录的全部权限:
sudo chmod 777 /usr/local/arm (3) 把最开始解压的目录放到arm目录中
cd /
sudo cp -r   opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4 /usr/local/arm -r表现整个目录以及内里所有东西;
(4)为了以后可以在任何位置利用该交叉编译器,打开/etc/profile设置情况变量和库变量,
sudo gedit /etc/profile https://img-blog.csdnimg.cn/direct/796006a9ecf14193bac6159b800774a4.png
export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib 点击右上角的保存,然后关闭;
利用source命令加载见效该设置文件
source /etc/profile (5)接着进入“/home/用户名”目录下的“.bashrc”隐藏文件下举行同样的设置;
https://img-blog.csdnimg.cn/direct/fc98871362f94e19b7b7d8fe6c82518e.png
export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib 保存后,关闭。
(6)检查是否安装成功
arm-linux-gcc -v https://img-blog.csdnimg.cn/direct/0b44a0b1867a40f282b1eba01d6e6c07.png
出现如上图提示,则证实安装成功。
(7)利用交叉编译工具验证;
在桌面上新建一个文件夹,内里存放c文件,在文件里编写hello.c文件
touch hello.c https://img-blog.csdnimg.cn/direct/554196c92b1e4498b1638660863db288.png
直接双击该文件,举行编辑,
#include<stdio.h>
int main()
{
printf("Hello World\n");
return 0;
} 在该目录下打开终端,利用编译命令举行编译;
arm-linux-gcc hello.c -o Hello 利用实行命令;
./Hello 利用file Hello命令查看编译后的是不是arm的可实行文件;
file Hello 可以看到编译后的可实行文件是在32bit的arm架构上运行的。
https://img-blog.csdnimg.cn/direct/47910509bf4f4f5b8823af66a83bd903.png

二、安装设置网络文件系统NFS服务及目的机程序调试
(1)安装NFS
输入以下命令:
sudo apt-get update
sudo apt-get install portmap
sudo apt-get install nfs-kernel-server
sudo apt-get install nfs-common https://img-blog.csdnimg.cn/direct/1abe20dd7794497db131dc6a0c2f8b1a.pnghttps://img-blog.csdnimg.cn/direct/e95057939d51415bb692dcc8109f877b.png
https://img-blog.csdnimg.cn/direct/41c3021cd5f74a8ab398b0f64148dd37.png
如果出现以下标题,阐明网络设置有标题,建议关机重启,或者将网络设置为主动。
https://img-blog.csdnimg.cn/direct/324f0a96102648aab254629a41928928.png
(2)创建NFS共享目录
这里我在/mnt目录中创建,将NFS共享目录称为ShareFolder
sudo mkdir -p /mnt/ShareFolder https://img-blog.csdnimg.cn/direct/de164a3f1e4748b8821f1938b063b7d2.png
分配最高权限:
sudo chown nobody:nogroup /mnt/ShareFolder
sudo chmod -R 777 /mnt/ShareFolder/ (3)编辑exports设置文件
首先打开文件,然后在最后一行添加:
/mnt/ShareFolder *(rw,no_root_squash) https://img-blog.csdnimg.cn/direct/5d3fc38e939343af9afea1c566c57a86.png
利用下面的命令使共享文件夹启用并见效;
sudo exportfs -arv https://img-blog.csdnimg.cn/direct/cad8f6c2a7d84c44a4f1a42a0df91eff.png
如果没有显示共享文件夹的路径,阐明前面步骤有标题。
利用下面命令查看是否可以看到共享目录:
showmount -e https://img-blog.csdnimg.cn/direct/cff25e1bca7c477bad0d5cce2debaac3.png
Ubuntu上重启NFS服务:
sudo /etc/init.d/nfs-kernel-server restart https://img-blog.csdnimg.cn/direct/4ee4d782846d48188f88a50f6a0274d1.png
(4)Xshell毗连arm板
将pc机用交叉网线与开辟板的网络接口毗连,将开辟板电源接口接到插座上,打开arm板,修改网络设置为:
IP为:192.168.16.95;
子网掩码为:255.255.255.0;
默认网关为:192.168.16.1;
DNS为:192.168.16.1;
https://img-blog.csdnimg.cn/direct/7cc38d52e0254d6db81e050c931d89a8.jpeg
打开Xshell,
https://img-blog.csdnimg.cn/direct/63b99447e9a2475cbf4eea6885447f2b.png
https://img-blog.csdnimg.cn/direct/71a23ddb6ee24313b98e68566f59d03f.png
(5)修改虚拟机中Ubuntu  IP地址
 https://img-blog.csdnimg.cn/direct/322c92f5ba504733a5e73dc947be652d.png
毗连好arm板之后,应该会有以太网这个选项,如果没有,拔掉arm板重新毗连,将arm板毗连到虚拟机上。
点击以太网,点击设置,
https://img-blog.csdnimg.cn/direct/ed17a5d9ca3f4a948919b977241988ba.png
再次点击设置,
https://img-blog.csdnimg.cn/direct/46c33ed70aec4a688fbbee25ae98f2fe.png
修改Ipv4为手动,将ip地址修改为与开辟板同一网段的并且与网关和开辟板不同的恣意地址,这里将ip地址设置为192.168.16.3,子网掩码与网关地址以及开辟板地址相同(如上图所示)。
(6)利用ping命令·查看网络连通性;
https://img-blog.csdnimg.cn/direct/04c6e2f78aad4bc2af5ff3a95485df24.png
如图所示,可以ping通,代表网络设置成功,可以毗连。
(7)利用ssh毗连开辟板;
命令为:
ssh root@[开发板ip] ssh root@192.168.16.95 如果报错,利用下面的命令:
ssh root@192.168.16.95 -oHostKeyAlgorithms=+ssh-dss https://img-blog.csdnimg.cn/direct/40119d694a0942c8a01a11fdc8b918f3.png
这边的密码为自己在Xshell中设置的毗连密码。
(8)挂载共享文件夹
mkdir project
mount -t nfs 192.168.16.3:/mnt/ShareFolder /project -o nolock,tcp,bg,hard,intr,nfsvers 这个命令不成功利用下面这个命令:
mount -t nfs 192.168.16.3:/mnt/ShareFolder /project -o nolock 意思是将/mnt/ShareFolder目录下的文件夹及文件挂载到arm板上的project文件夹下。
(9)接下来就是在/mnt/ShareFolder中创建c文件,编译运行。
https://img-blog.csdnimg.cn/direct/085479a9c9d44f31b1cdb88922923577.png
https://img-blog.csdnimg.cn/direct/cbbd648d4162494d9aee1243b32f6c10.png
在arm端切换到挂载目录下,即前面挂载的project目录下,输入以下命令:
ls
./Hello



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 虚拟机中Ubuntu 20.04安装arm-linux-gcc交叉编译器