1 硬件环境构建
1.1 主机与目标板结合的交叉开发模式
开发PC机上的软件时,可以直接在PC机上编辑、编译、调试软件,最终发布的软件也是在PC机上运行。对于物联网OpenWrt开发,最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并烧写到设备中;另外,嵌入式设备的资源并不足以用来开发软件。所以需要用到交叉开发模式:在主机上编辑、编译软件,然后在目标板上运行、验证程序。对于MT7621等开发板,进行物联网OpenWrt开发时一般可以分为以下3个步骤。
(1)在主机上编译U-boot,然后通过SPIFlash烧写器烧入单板。
通过SPIFlash烧写器烧写程序的效率非常低,而且还需要取下Flash芯片,它适用于烧写空白单板。为方便开发,通常选用具有串口传输、网络传输、烧写Flash功能的U-boot,它可以快速地从主机获取可执行代码,然后烧入单板。
该U-boot在开发板生产时,已经由工厂烧入到了SPIFlash中。特别强调,在做物联网openwrt开发时,一般不建议大家自己开发、重新烧写U-boot!否则,一不小心,开发板就会变成砖头的哦。
(2)在主机上编译OpenWrt,通过U-boot烧入单板或直接启动。一个可以在单板上运行的OpenWrt是进行后续开发的基础。
(3)在主机上编译各类应用程序,经过验证后烧入单板。
烧写、启动U-boot后,就可以通过U-boot的各类选项来下载、烧写、运行程序了。启动Linux后,也是通过执行各种命令来启动应用程序的。怎么输入这些命令、查看命令运行的结果呢?一般通过串口来进行输入输出。所以交叉开发模式中,主机与目标板通常需要2种连接:串口、网络。
1.2 硬件要求
1.主机要求
一般的PC机就可以用来进行物联网OpenWrt开发,它应该满足以下要求。
①有一个USB口;
②支持网络;
③至少20GB的硬盘。
2.目标板要求
由于后面会设计到大量的教程、大量的应用的移植,所以建议大家用512MB的内存、32MBFlash。所谓的硬件开发环境搭建很简单,将主机与目标板通过串口线(直接用miniUSB线连接主机和目标板即可)、网线(接单板上的任意网口)连接起来,将各类设备连接到目标板上去即可。
2 软件环境构建
2.1在Windows上安装虚拟机
本书基于Ubuntu16.04进行开发,它是一个很容易安装和使用的Linux发行版。光盘映象文件的下载地址为http://releases.ubuntu.com/。
安装方法有好几种:将映像文件刻录成光盘后安装,通过网络安装等。对于不熟悉Linux的读者,可以通过VMware虚拟机软件使用映象文件安装,这样可以在Windows中使用Linux──反过来也是可以的,安装Linux后,再使用VMware安装windows,这样就可以在Linux中同时使用Windows了。
这几种安装方法基本相同,下面介绍在Windows中通过VMware来安装Linux的方法。不管是哪种方法,都建议单独使用一个分区来存放本书所涉及的源码、编译结果,这可以避免当系统出错、系统重装时破坏学习成果。
从VMware的官方网站http://www.vmware.com下载到VMware工具,安装后,参照以下方法安装、设置Linux。
在VMware中建立一个虚拟机器,可以想象需要指定硬盘、内存、网络。在VMware中可以使用实际的硬盘,也可以使用文件来模拟硬盘。依照下面的一系列图形就可以建立了。
【注】笔者使用虚拟机软件是VMware Workstation 15.5,其他版本同理。关于VMware Workstation的安装笔者就不详述了,网上资料很多,自行查找吧。
2.2 VMware上安装Ubuntu16.04教程
Ubuntu安装镜像版本号:ubuntu-16.04.6-desktop-amd64
ubuntu下载地址:http://releases.ubuntu.com/16.04/
【注】下载源有很多,自行查找吧。
首先我们要安装虚拟机,这里不多做介绍,假设大家电脑上都已经安装了虚拟机,这里以VMware 15.5中文版为安装介绍对象。首先打开虚拟机。
第一步:打开虚拟机
第二步:这里便来到了home页,点击打开“创建新的虚拟机”。
第三步:这里我选择“自定义”安装,当然你也可以选择“典型”,然后点击“下一步”。
第四步:来到兼容性页面,这里不用设置,直接按默认来就行,点击下一步。
第五步:这里来到了客户机操作系统选择页面,我在这里选择“安装光盘镜像文件”选项,在下框里选择镜像文件所在的位置,点击“下一步”。
第六步:简易安装信息界面,这里补充完整信息点击“下一步”。
【注意】这个地方已经设置了登录用的用户名密码,所以好多人在安装完成之后不知道登录的用户名密码是什么,就是这个地方填的。
第七步:命名虚拟机页面,我们选择虚拟机的名字,并选择虚拟机要安装的位置,尽量选择比较空闲的盘符,点击下一步。
第八步:这里根据你的电脑配置定吧,点击“下一步”。
第九步:这里选择虚拟机内存的大小,我按这里的推荐设置来,你也可以按照上面所说的规则来自己调整,点击“下一步”。
第十步:这里我直接选择桥接网络(这样网速会快些),当然待会在虚拟机里也可以改动的。
第十一步:接下来我们直接按推荐设置来就可以了, 一路点击“下一步” ,直到“完成”。
第十二步:磁盘空间大小建议是20g以上,笔者这里选择了50g,设置好后点击下一步;
单击【下一步】后,再单击【完成】。
第十三步:等待安装完成即可。
2.3主机Linux操作系统上网络服务的配置与启动
配置Linux,启动ftp、ssh这2个服务。如果不是通过远程登录Linux,而是直接在Linux中进行开发,则ftp、ssh这两个服务不用开启。
(1)准备使用软件维护工具apt-get。
Ubuntu16.04中没有安装ftp、ssh、nfs服务器软件,它提供了一个很方便的安装、升级、维护软件的工具:apt-get。apt-get从光盘、网络上下载程序,并安装。所以要使用apt-get,通常要保证Linux能上网。
第一次使用apt-get来安装程序之前,要先完成以下两件事:
①修改/etc/apt/sources.list,将其中注释掉的网址打开在安装Ubuntu12.04的时候,如果网络无法使用,它会自动将/etc/apt/sources.list中各项注释掉。比如需要将以下两行开头的“#”号去掉:
#deb http://cn.archive.ubuntu.com/ubuntu/gutsymainrestricted
#deb-src http://cn.archive.ubuntu.com/ubuntu/gutsymainrestricted
……
注意:由于/etc/apt/sources.list属于root用户,而Ubuntu12.04中屏蔽了root用户的使用,要修改它,需要使用sudo命令。比如可以使用“sudo vi/etc/apt/sources.list”来修改它,或者使用“sudo gedit&”命令启动图形化的文本编辑器,再打开、编辑它。
②更新可用的程序列表
执行如下命令即可,它只是更新内部的数据库以确定:有哪些程序已经安装、哪些没有安装、哪些有新版本。apt-get程序将使用这个数据库来确定怎样安装用户指定的程序,并找到和安装它所依赖的其他程序。下面的指令。
$sudo apt-get update
(2)安装、配置、启动服务。
首先说明,Ubuntu中隐藏了root用户,就是说不能使用root用户登录,这可以避免不小心使用root权限而导致系统崩溃。当需要使用root权限时,使用“sudo”命令,比如要修改/etc/exports文件时,修改如下所示:
$sudo vi /etc/exports
现在可以使用apt-get来安装软件了,以下的安装、配置、启动方法在Ubuntu7.10自带的帮助文档中都有说明。
安装、配置、启动ftp服务。
执行以下命令安装,安装后即会自动运行:
$sudo apt-get install vsftpd
修改vsftpd的配置文件/etc/vsftpd.conf,将下面几行前面的“#”号去掉。
#local_enable=YES
#write_enable=YES
上面第一行表示是否允许本地用户登录,第二行表示是否允许上传文件。
修改完华之后,执行以下命令重启ftp服务:
$sudo /etc/init.d/vsftpd restart
安装、配置、启动ssh服务。
执行以下命令安装,安装后即会自动运行:
$sudo apt-get install open ssh-server
它的配置文件为/etc/ssh/sshd_config,使用默认配置即可。
2.4 Ubuntu和Windows互传文件
1)虚拟机->设置->共享文件夹
2)选择【下一步】,然后选择共享文件夹路径
再点击【下一步】->【完成】就可。
3)进行软链接
进入虚拟机,进入home目录,输入命令:
$ln -s /mnt/hgfs/share
好了,现在Ubuntu和Windows就能互传文件了。
2.5 修改Linux的计算机名
1)修改/etc/hostname
$sudo vim /etc/hostname
将文件中的内容改为自己想设置的名字。
- sudo vim /etc/hosts
将文件中127.0.1.1后面内容改为自己刚才设置的名字。
重启生效!
审核编辑:汤梓红
-
FlaSh
+关注
关注
10文章
1683浏览量
152191 -
u-boot
+关注
关注
0文章
122浏览量
38906 -
开发环境
+关注
关注
1文章
242浏览量
17146 -
编译
+关注
关注
0文章
680浏览量
34217 -
OpenWrt
+关注
关注
10文章
131浏览量
40238
发布评论请先 登录
Openwrt开发指南 第1章 OpenWrt入门
Openwrt开发指南 第3章 OpenWrt下载及配置
Openwrt开发指南 第4章 烧写OpenWrt固件
Openwrt开发指南 第7章 添加Web界面
Openwrt开发指南 第12章 添加OpenWrt软件包
Openwrt开发指南 第13章 OpenWrt启动流程
Openwrt开发指南 第17章 驱动开发之字符设备驱动程序
Openwrt开发指南 第22章 Openwrt串口的使用2
Openwrt开发指南 第29章 OpenWrt 防火墙介绍

评论