基本环境搭建

1 交叉编译工具

在虚拟机中安装交叉编译工具,为后续开发做准备。

1.1 工具版本

工具版本:Linaro Releases

当前虚拟机为64位系统,因此下载64位系统的工具:

$ uname -a
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

1.2 安装说明

将工具安装在:/usr/local/arm/arm-linaro-4-9-4目录

1)将工具压缩包拷贝到安装目录:

[root@localhost] /usr/local/arm/arm-linaro-4-9-4
$ ls
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz*

2)解压缩

 tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

3)修改环境变量,在文件末尾添加编译工具链路径

$ vim /etc/profile
export PATH=$PATH:/usr/local/arm/arm-linaro-4-9-4/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

4)重启虚拟机

5)查看安装是否成功

$ arm-linux-gnueabihf-gcc -v
Thread model: posix
gcc version 4.9.4 (Linaro GCC 4.9-2017.01)

2 网络环境配置-方式1

参考文档:【正点原子】I.MX6U网络环境TFTP&NFS搭建手册V1.3.1.pdf

2.1 网络拓扑

拓扑图如下:

开发板:开发板配置IP为192.168.1.20,通过网线和笔记本相连,由于电脑没有网口,通过USB转网口相连。

有线网卡:有点网卡配置的IP为192.168.1.8。

笔记本:笔记本的WiFi配置IP为192.168.1.6,笔记本中安装有虚拟机。

虚拟机:虚拟机配置IP为192.168.1.10,虚拟机设置为桥接模式,桥接在有线网卡上。

2.2 基本配置

虚拟机需要配置2个网卡,一个用于和开发板进行通信,一个用于上网。

(1)虚拟机配置为桥接模式(用于和开发板之间通信)

(2)虚拟机上网还需要再配置一个网卡,配置为NAT模式,用于虚拟机上网。

(3)启动虚拟机,可以看到虚拟机有两个网卡。

ens33是用于和开发通信的(需要和有限网卡配置在同一个网段);

ens37是用于上网的,登录SSH也可以使用这个地址。

2.3 测试

开发板Ping虚拟机:

root@ATK-IMX6U:~# ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=1.92 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=1.65 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=64 time=1.29 ms

虚拟机Ping开发板:

$ ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.704 ms
64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=0.546 ms
64 bytes from 192.168.1.20: icmp_seq=3 ttl=64 time=1.12 ms

虚拟机Ping百度:

$ ping www.baidu.com
PING www.baidu.com (39.156.66.18) 56(84) bytes of data.
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=128 time=40.3 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=2 ttl=128 time=43.9 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=3 ttl=128 time=43.3 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=4 ttl=128 time=44.3 ms

笔记本Ping虚拟机:

C:\Users\grace>ping 192.168.1.10

正在 Ping 192.168.1.10 具有 32 字节的数据:
来自 192.168.1.10 的回复: 字节=32 时间=3ms TTL=128
来自 192.168.1.10 的回复: 字节=32 时间=5ms TTL=128
来自 192.168.1.10 的回复: 字节=32 时间=3ms TTL=128 C:\Users\grace>ping 192.168.17.128 正在 Ping 192.168.17.128 具有 32 字节的数据:
来自 192.168.17.128 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.17.128 的回复: 字节=32 时间<1ms TTL=64

3 网络环境配置-方式2

参考文档:关于电脑两个网卡,有线网络直连开发板,无线上网.pdf

分享文档 :关于电脑两个网卡,有线网络直连开发板,无线上网-OpenEdv-开源电子网

3.1 网络拓扑

拓扑图如下:

3.2 基本配置

虚拟机需要配置2个网卡(都使用桥接模式),一个用于和开发板进行通信,一个用于上网。

(1)虚拟机配置两个桥接模式:VMnet0用于桥接到笔记本,用于上网;VMnet1用于连接到有线网卡,和开发板进行通信。

(2)虚拟机配置两个网卡,都使用桥接模式。

(3)启动虚拟机

配置ens37的IP:

ifconfig ens37 192.168.1.15 up

3.3 测试

虚拟机Ping百度:

$ ping www.baidu.com
PING www.baidu.com (39.156.66.18) 56(84) bytes of data.
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=52 time=39.8 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=2 ttl=52 time=42.1 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=3 ttl=52 time=39.8 ms

虚拟机Ping开发板:

$ ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.530 ms
64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=1.29 ms
64 bytes from 192.168.1.20: icmp_seq=3 ttl=64 time=1.08 ms

开发板Ping虚拟机:

root@ATK-IMX6U:~# ping 192.168.1.15
PING 192.168.1.15 (192.168.1.15) 56(84) bytes of data.
64 bytes from 192.168.1.15: icmp_seq=1 ttl=64 time=0.702 ms
64 bytes from 192.168.1.15: icmp_seq=2 ttl=64 time=1.38 ms

3.4 遇到的问题

虚拟机配置双网卡后,无法通过SSH连接,Samba无法正常使用,FTP无法正常使用等问题。

解决办法:参考(16条消息) CentOS7 配置双网卡_Benny-文俊的博客-CSDN博客_centos7双网卡配置

主要途径:将笔记本有线网卡、虚拟机ens37网卡、开发板网卡重新配置在另外一个网段。

(1)配置双网卡为静态IP

1)网卡ens33,桥接到电脑的WiFi,需要用来连接外网,配置文件的内容如下:

$ pwd
/etc/sysconfig/network-scripts
$ vim ifcfg-ens33
1 TYPE="Ethernet"
2 PROXY_METHOD="none"
3 BROWSER_ONLY="no"
4 BOOTPROTO=static
5 DEFROUTE="yes"
6 IPV4_FAILURE_FATAL="no"
7 IPV6INIT="yes"
8 IPV6_AUTOCONF="yes"
9 IPV6_DEFROUTE="yes"
10 IPV6_FAILURE_FATAL="no"
11 IPV6_ADDR_GEN_MODE="stable-privacy"
12 NAME="ens33"
13 UUID="0ab7073a-2165-4e45-b6e2-536bbdd70077"
14 DEVICE="ens33"
15 ONBOOT="yes"
16 IPADDR=192.168.1.10
17 NETMASK=255.255.255.0
18 GATEWAY=192.168.1.1
19
20 DNS1=114.114.114.114
21 DNS2=8.8.8.8

2)网卡ens37,桥接到有线网卡,拷贝一份ens33的配置文件,取命为ens37,配置文件的内容如下:

$ vim ifcfg-ens37
1 TYPE="Ethernet"
2 PROXY_METHOD="none"
3 BROWSER_ONLY="no"
4 BOOTPROTO=static
5 DEFROUTE="yes"
6 IPV4_FAILURE_FATAL="no"
7 IPV6INIT="yes"
8 IPV6_AUTOCONF="yes"
9 IPV6_DEFROUTE="yes"
10 IPV6_FAILURE_FATAL="no"
11 IPV6_ADDR_GEN_MODE="stable-privacy"
12 NAME="ens37"
13 DEVICE="ens37"
14 ONBOOT="yes"
15 IPADDR=192.168.2.15
16 NETMASK=255.255.255.0
17 GATEWAY=192.168.2.1

和ens33的配置文件相比:

1、删除了UUID,这个是唯一的,不能和ens33重复;

2、删除了DNS1和DNS2,不需要上网。

3、配置的IP在192.168.2.0这个网段。

3 TFTP服务器搭建

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。我们可以使用 TFTP来加载内核zImage、设备树和其他较小的文件到开发板DDR上,从而实现网络挂载。

参考博客:linux-Centos 7下tftp-server服务的安装与配置 - 520_1351 - 博客园 (cnblogs.com)

Linux版本:

$ uname -a
Linux 192.168.17.128 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

1)安装tftp服务器

$ yum install tftp-server -y

2)修改tftp配置文件来开启服务

$ vim /etc/xinetd.d/tftp

其中tftp的默认根目录为:/var/lib/tftpboot

3)可以使用TFTP服务的默认根目录,也可以修改一下,我这边进行修改。

$ pwd
/home/grace/IMX6U/tftpboot
# 更改目录权限
$ chmod 777 tftpboot/ -R
$ vim /etc/xinetd.d/tftp
# 更改为创建的路径,-c参数表示允许上传
13 server_args = -s /home/grace/IMX6U/tftpboot -c

4)启动tftp服务

$ service  tftp restart
$ service tftp status
Redirecting to /bin/systemctl status tftp.service
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running) since Sun 2022-04-17 14:50:06 CST; 2min 25s ago
Docs: man:in.tftpd
Main PID: 3712 (in.tftpd)
CGroup: /system.slice/tftp.service
└─3712 /usr/sbin/in.tftpd -s /var/lib/tftpboot Apr 17 14:50:06 localhost.localdomain systemd[1]: Started Tftp Server.
Apr 17 14:50:06 localhost.localdomain systemd[1]: Starting Tftp Server...

可以看到,tftp的目录为/var/lib/tftpboot,也就是更改的目录路径无效。暂时还没找到原因

systemctl restart xinetd
systemctl restart tftp

4 总结

当前还有一些问题:

1)虚拟机起来之后需要配置ens37网卡的地址

ifconfig ens37 192.168.1.15 up

2)需要启动TFTP服务

$ service tftp restart

IMX6ULL基本环境搭建的更多相关文章

  1. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  2. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  3. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  4. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  5. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  6. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  7. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  8. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  9. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

  10. Linux测试环境搭建的学习建议

    随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...

随机推荐

  1. 美团二面:如何保证Redis与Mysql双写一致性?连续两个面试问到了!

    引言 Redis作为一款高效的内存数据存储系统,凭借其优异的读写性能和丰富的数据结构支持,被广泛应用于缓存层以提升整个系统的响应速度和吞吐量.尤其是在与关系型数据库(如MySQL.PostgreSQL ...

  2. 我用这10招,能减少了80%的BUG

    前言 对于大部分程序员来说,主要的工作时间是在开发和修复BUG. 有可能修改了一个BUG,会导致几个新BUG的产生,不断循环. 那么,有没有办法能够减少BUG,保证代码质量,提升工作效率? 答案是肯定 ...

  3. MD5前端vue加密

    Vue 前端md5加密用户注册时将加密后的密码发送给后端存储当登陆的时候,再将加密后的密码和数据库中加密的密码相匹配.npm: https://www.npmjs.com/package/crypto ...

  4. 力扣209(java&python)-长度最小的子数组(中等)

    题目: 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, ...

  5. 力扣350(java&python)-两个数组的交集 II(简单)

    题目: 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集.返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值).可以不 ...

  6. 搭建Hadoop环境

    搭建Hadoop环境 一.虚拟机的安装 二. 安装JDK 1.下载jdk wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41- ...

  7. 一个好的科技公司logo长这样!

    ​简介:一个好的科技logo能体现出行业独有的专业性和技术优势,让你的公司科技感加满! 近年来,越来越多的初创公司崭露头角,其中科技互联网公司的比重非常高.小云也收到很多朋友的留言,询问科技类公司应该 ...

  8. 云原生时代如何用 Prometheus 实现性能压测可观测-Metrics 篇

    ​简介:可观测性包括 Metrics.Traces.Logs3 个维度.可观测能力帮助我们在复杂的分布式系统中快速排查.定位问题,是分布式系统中必不可少的运维工具. 作者:拂衣 什么是性能压测可观测 ...

  9. 直播回顾:准确性提升到 5 秒级,ssar 独创的 load5s 指标有多硬核?| 龙蜥技术

    ​简介: 你还在为分析机器负载高而苦恼?这款 ssar 工具独创 load5s 指标精准定位超硬核. 编者按:本文整理自龙蜥SIG技术周会,作者闻茂泉,阿里云计算平台事业部SRE运维专家,是龙蜥社区跟 ...

  10. Flink 在爱奇艺广告业务的实践

    简介: 5 月 22 日北京站 Flink Meetup 分享的议题. 本文整理自爱奇艺技术经理韩红根在 5 月 22 日北京站 Flink Meetup 分享的议题<Flink 在爱奇艺广告业 ...