本人最近正在做一个无线产品的应用开发,由于涉及到WIFI,所以需要使用具备WIFI模块的开发板。之前由于没有这方面的设计经验,一开始选用了ESP8266这种型号的WIFI模块,ESP8266模块在物联网、智能家居等领域有较为广泛的应用,但是后来在实际的测试中,ESP8266WIFI转串口的速度比较低,稳定的速率在8K/S左右,无法满足我通过WIFI将大量数据高速的通过串口输出再进行数据的解码处理的要求,所以后来我选用了MT7688这种发开模块。
MT7688模块在物联网、智能家居等领域也有较大的应用,而且功能强大,具备支持无线+有线路由方案、具有丰富的接口等特点,方便用户的开发。但是原厂家提供的SDK需要在Linux环境下进行编译开发工作,而且是基于Ubuntu这种Linux系统。使用原厂提供的SDK需要搭建编译环境,安装若干软件才能正常的准备交叉编译环境。不同版本的Ubuntu系统,由于安装软件时使用的源可能不一样,而且有的版本已经没有正常可以更新的源了,造成软件无法正常安装。我在安装Ubuntu系统时,曾选用过3种版本的系统进行尝试,前2种均失败。给大家分享一下我发现的一些经验,希望可以帮到大家少走些弯路。
我采用的是虚拟机+SDK+Ubuntu的方式搭建编译环境,第一次我使用ubuntukylin-13.04-desktop-i386.iso这种镜像文件安装Linux但是后来在安装软件时发现这种版本的系统其软件源大多老旧,没有更新,安装时报错。后来使用了ubuntukylin-14.04.1-desktop-i386.iso这种镜像,但是发现了坑爹的问题,在虚拟机下无法正常的全屏,我安装了虚拟机工具并设置了屏幕自动适应也无法全屏,手动更改屏幕分辨率也不行,后来还更改了配置文件还是不行。所以后来放弃了这个系统,换用了较新版本的系统ubuntukylin-15.10-enhanced-release-i386.iso,终于可以正常的安装软件了。所以希望大家一开始在搭建交叉变异环境的时候就选用可以方便更新软件的版本。
安装MT7688的变异系统之前需要安装几个软件,依次是:libncurses5-dev、bison、flex、zlib1g-dev、g++
ubuntukylin-15.10-enhanced-release-i386.iso版本的源是可以安装这些软件的,可以查看它的源信息如下:
openwert@openwert:~$ cat /etc/apt/sources.list
#deb cdrom:[Ubuntu-Kylin 15.10 _Wily Werewolf_ - Release i386 (20151021)]/ wily main multiverse restricted universe
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ wily main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ wily-updates main restricted
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ wily universe
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily universe
deb http://cn.archive.ubuntu.com/ubuntu/ wily-updates universe
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.archive.ubuntu.com/ubuntu/ wily multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ wily-updates multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu wily-security main restricted
deb-src http://security.ubuntu.com/ubuntu wily-security main restricted
deb http://security.ubuntu.com/ubuntu wily-security universe
deb-src http://security.ubuntu.com/ubuntu wily-security universe
deb http://security.ubuntu.com/ubuntu wily-security multiverse
deb-src http://security.ubuntu.com/ubuntu wily-security multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu wily partner
# deb-src http://archive.canonical.com/ubuntu wily partner
正常安装的提示信息如下:
root@openwert:/home/openwert# apt-get install libncurses5-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
libtinfo-dev
建议安装的软件包:
ncurses-doc
下列【新】软件包将被安装:
libncurses5-dev libtinfo-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 254 kB 的软件包。
解压缩后会消耗掉 1,240 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily/main libtinfo-dev i386 5.9+20150516-2ubuntu1 [76.3 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ wily/main libncurses5-dev i386 5.9+20150516-2ubuntu1 [177 kB]
下载 254 kB,耗时 0秒 (276 kB/s)
正在选中未选择的软件包 libtinfo-dev:i386。
(正在读取数据库 ... 系统当前共安装有 169323 个文件和目录。)
正准备解包 .../libtinfo-dev_5.9+20150516-2ubuntu1_i386.deb ...
正在解包 libtinfo-dev:i386 (5.9+20150516-2ubuntu1) ...
正在选中未选择的软件包 libncurses5-dev:i386。
正准备解包 .../libncurses5-dev_5.9+20150516-2ubuntu1_i386.deb ...
正在解包 libncurses5-dev:i386 (5.9+20150516-2ubuntu1) ...
正在设置 libtinfo-dev:i386 (5.9+20150516-2ubuntu1) ...
正在设置 libncurses5-dev:i386 (5.9+20150516-2ubuntu1) ...
root@openwert:/home/openwert# apt-get install bison
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
libbison-dev libsigsegv2 m4
建议安装的软件包:
bison-doc
下列【新】软件包将被安装:
bison libbison-dev libsigsegv2 m4
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 782 kB 的软件包。
解压缩后会消耗掉 2,184 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily/main libsigsegv2 i386 2.10-4 [14.0 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ wily/main m4 i386 1.4.17-4 [190 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu/ wily/main libbison-dev i386 2:3.0.2.dfsg-2 [338 kB]
获取:4 http://cn.archive.ubuntu.com/ubuntu/ wily/main bison i386 2:3.0.2.dfsg-2 [240 kB]
下载 782 kB,耗时 2秒 (357 kB/s)
正在选中未选择的软件包 libsigsegv2:i386。
(正在读取数据库 ... 系统当前共安装有 169370 个文件和目录。)
正准备解包 .../libsigsegv2_2.10-4_i386.deb ...
正在解包 libsigsegv2:i386 (2.10-4) ...
正在选中未选择的软件包 m4。
正准备解包 .../archives/m4_1.4.17-4_i386.deb ...
正在解包 m4 (1.4.17-4) ...
正在选中未选择的软件包 libbison-dev:i386。
正准备解包 .../libbison-dev_2%3a3.0.2.dfsg-2_i386.deb ...
正在解包 libbison-dev:i386 (2:3.0.2.dfsg-2) ...
正在选中未选择的软件包 bison。
正准备解包 .../bison_2%3a3.0.2.dfsg-2_i386.deb ...
正在解包 bison (2:3.0.2.dfsg-2) ...
正在处理用于 install-info (6.0.0.dfsg.1-3) 的触发器 ...
正在处理用于 man-db (2.7.4-1) 的触发器 ...
正在设置 libsigsegv2:i386 (2.10-4) ...
正在设置 m4 (1.4.17-4) ...
正在设置 libbison-dev:i386 (2:3.0.2.dfsg-2) ...
正在设置 bison (2:3.0.2.dfsg-2) ...
update-alternatives: 使用 /usr/bin/bison.yacc 来在自动模式中提供 /usr/bin/yacc (yacc)
正在处理用于 libc-bin (2.21-0ubuntu4) 的触发器 ...
root@openwert:/home/openwert# apt-get install flex
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
libfl-dev
下列【新】软件包将被安装:
flex libfl-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 289 kB 的软件包。
解压缩后会消耗掉 886 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily/main libfl-dev i386 2.5.39-8 [13.1 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ wily/main flex i386 2.5.39-8 [276 kB]
下载 289 kB,耗时 0秒 (463 kB/s)
正在选中未选择的软件包 libfl-dev:i386。
(正在读取数据库 ... 系统当前共安装有 169490 个文件和目录。)
正准备解包 .../libfl-dev_2.5.39-8_i386.deb ...
正在解包 libfl-dev:i386 (2.5.39-8) ...
正在选中未选择的软件包 flex。
正准备解包 .../flex_2.5.39-8_i386.deb ...
正在解包 flex (2.5.39-8) ...
正在处理用于 man-db (2.7.4-1) 的触发器 ...
正在处理用于 doc-base (0.10.6) 的触发器 ...
Processing 40 changed doc-base files, 1 added doc-base file...
正在处理用于 install-info (6.0.0.dfsg.1-3) 的触发器 ...
正在设置 libfl-dev:i386 (2.5.39-8) ...
正在设置 flex (2.5.39-8) ...
正在处理用于 libc-bin (2.21-0ubuntu4) 的触发器 ...
root@openwert:/home/openwert# apt-get install zlib1g-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
zlib1g-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 167 kB 的软件包。
解压缩后会消耗掉 403 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ wily/main zlib1g-dev i386 1:1.2.8.dfsg-2ubuntu4 [167 kB]
下载 167 kB,耗时 0秒 (384 kB/s)
正在选中未选择的软件包 zlib1g-dev:i386。
(正在读取数据库 ... 系统当前共安装有 169582 个文件和目录。)
正准备解包 .../zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4_i386.deb ...
正在解包 zlib1g-dev:i386 (1:1.2.8.dfsg-2ubuntu4) ...
正在处理用于 man-db (2.7.4-1) 的触发器 ...
正在设置 zlib1g-dev:i386 (1:1.2.8.dfsg-2ubuntu4) ...
root@openwert:/home/openwert# apt-get install g++
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
g++ 已经是最新的版本。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
root@openwert:/home/openwert#
上述的工作完成后,再进行SDK的解压,准备交叉编译环境