Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境.

准备工作:

  • ubuntu16.04.1 64位原版安装镜像

      链接:https://pan.baidu.com/s/1AWJl9t7tPUGKrYvfK-gf9g  提取码:iiru 
    
  • arm-linux-gcc-4.4.3 编译器

     链接:https://pan.baidu.com/s/1z0qdA3Hacf7U4S6dOd0gLA  提取码:ds4u 
    
  • VMware 虚拟机

  • FTP文件传输工具(FileZilla 或 winscp 或其他FTP文件传输工具 )
    Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第1张图片

开始:

实体PC机需连接网络,保证ubuntu环境联网,更新安装必须的库文件。
如没有安装ubuntu,先将ubuntu镜像文件在VM虚拟机中加载,并新建虚拟机安装ubuntu操作系统。
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第2张图片
根据向导进行安装。
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第3张图片
等待 安装完成后 进入 ubuntu操作系统。

下面配置网卡

因为后面需要联网更新库文件,所以需先配置网络。
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第4张图片
然后编辑 IPv4 模式为 Manual 并添加ip地址 掩码 网关 DNS ,根据自己实际网络情况进行添加保存。
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第5张图片
测试正常访问网络即可。
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第6张图片

FTP将arm-linux-gcc-4.4.3编译器压缩包文件 上传至 ubuntu 安装

1.更新源列表

sudo apt-get update

​​​Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第7张图片

2.安装vsftpd

sudo apt-get install vsftpd

在这里插入图片描述

3.修改配置文件 vsftpd 和 allowed_users

修改配置文件 保存

sudo gedit /etc/vsftpd.conf

修改如下添加:

#listen_ipv6=YES 要注释掉
listen=YES
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
local_enable=YES
write_enable=YES
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第8张图片
使用gedit新建/etc/allowed_users文件

sudo gedit /etc/allowed_users

在这里插入图片描述

添加用户名 后保存:
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第9张图片

4.防火墙允许端口访问(可选)

 sudo ufw allow 20

 sudo ufw allow 21

Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第10张图片

5.使用gedit查看/etc/ftpusers文件中的内容

sudo gedit /etc/ftpusers

打开这个文件后,看看有没有限制用户名,如果没有,就直接退出。如果有就删除uftp,因为这个文件中记录的是不能访问FTP服务器的用户清单。

Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第11张图片

6.启动ftp服务

sudo service vsftpd start

7、FTP工具连接并上传 arm-linux-gcc-4.4.3.tar.gz 至ubuntu

Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第12张图片

Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第13张图片

8.ubuntu内解压缩

sudo tar zxvf FileName.tar.gz

先cd 命令进入目标文件夹 再解压缩。
在这里插入图片描述
解压完成:
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第14张图片

9.配置系统环境变量

配置环境前先做下普及:

Ubuntu不同目录下profile与bashrc的区别

/etc/profile
此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。

/etc/bash.bashrc 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。

~/.bash_profile
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

~/.bashrc 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

~/.bash_logout 当每次退出系统(退出bash shell)时,执行该文件。

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

~/.bash_profile 是交互式、login 方式进入 bash 运行的。

~/.bashrc 是交互式 non-login 方式进入 bash 运行的。

通常二者设置大致相同,所以通常前者会调用后者。

接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。

使用命令:

sudo gedit /home/menhao/.bashrc 

编辑.bashrc文件,添加环境变量,注意你自己的路径。

在该文件中最后一行添加并保存:

export PATH=$PATH:/home/menhao/arm/opt/FriendlyARM/toolschain/4.4.3/bin

这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图:
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第15张图片

标题使用命令使环境变量生效
source /home/menhao/.bashrc

在这里插入图片描述
在终端输入 arm-linux- 按TAB键 出现自动联想证明变量已经设置生效 如下图:
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第16张图片

10.安装32位库兼容包

sudo apt-get install lib32ncurses5 lib32z1

11、安装依赖文件lib32stdc++6

arm-linux-gcc -v 查看 ARM-GCC 版本Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第17张图片
看来已经安装完成 尝试编译一个源文件Hello.c
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第18张图片
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第19张图片
出现error while loading shared libraries: libstdc++.so.6错误

是因为缺少依赖文件lib32stdc++6

执行下面命令安装一下:

sudo apt-get install lib32stdc++6

12.结束

安装完成 继续尝试编译
在这里插入图片描述
编译通过:
Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境._第20张图片
至此ubuntu16.04.1 64位中安装 arm-linux-gcc-4.4.3编译器 成功结束了。

by CN_PEAK_HAO & MH8888

你可能感兴趣的:(Linux ubuntu 虚拟机安装 arm-linux-gcc交叉编译环境.)