Openwrt开发指南 第2章 OpenWrt开发环境搭建

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后面内容改为自己刚才设置的名字。
重启生效!


TP-Link两款Wi-Fi 6路由器上架预售 起售价289元
波长微分干涉(DIC)显微镜的应用
用户折叠屏手机严重“漏液”,但这一次网友错怪华为了
stm8s gpio端口配置
Altium Designer 23.10.1版本新功能说明
Openwrt开发指南 第2章 OpenWrt开发环境搭建
网络监控摄像机朝高清化智能化方向发展
linux系统查看物理地址
全新南卡Runner3仅售499!16G内存8级防水,体验从未如此接近旗舰
地质灾害预警监测系统解决方案--GNSS位移监测站
iPhoneX最新消息:11月3日开卖,售价8388元起,iPhoneX会是苹果手机的最后一根救命稻草吗?
国产手机颜值党的代表!荣耀8青春版真机图片
差分运算放大电路里面的电容什么意义
把好入户安全第一关 斑点猫超级猫眼S200评测
MySight360远足VR相机可轻松携带别衣服上
【世说芯品】音频、以太网、显示、电池......ADI是这样助力实现“第三生活空间”的!
在MATLAB中如何保存和加载消息
发展半导体芯片产业是中国科技真正崛起的必经之路
Pico G2 4K头显、深度传感模组PicoZense齐亮相
为物联网设计人员提供的示例工具