第2章 Openwrt开发环境搭建
2.1硬件环境构建
2.1.1主机与目标板结合的交叉开发模式
开发PC机上的软件时,可以直接在PC机上编辑、编译、调试软件,最终发布的软件也是在PC机上运行。对于物联网openwrt开发,最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并烧写到设备中;另外,嵌入式设备的资源并不足以用来开发软件。所以需要用到交叉开发模式:在主机上编辑、编译软件,然后在目标板上运行、验证程序。对于RT5350开发板,进行物联网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种连接:串口、网络。
2.1.2硬件要求
1.主机要求
一般的PC机就可以用来进行物联网openwrt开发,它应该满足以下要求。
①有一个USB口;
②支持网络;
③至少20GB的硬盘。
因为要通过串口来操作Linux,所以得使用USB-串口转换器。该RT5350开发板,已经板载了该转换器。
2.目标板要求
由于后面会设计到大量的教程、大量的应用的移植,所以建议大家用32MB的内存、8MBFlash。所谓的硬件开发环境搭建很简单,将主机与目标板通过串口线(直接用miniUSB线连接主机和目标板即可)、网线(接单板上的任意网口)连接起来,将各类设备连接到目标板上去即可。
2.2软件环境构建
2.2.1在Windows上安装虚拟机
本书基于Ubuntu12.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中可以使用实际的硬盘,也可以使用文件来模拟硬盘。依照下面的一系列图形就可以建立了。
1>启动VMware,如图2-1所示。选“CreateaNewVirtualMachine”。
2>在后续界面中使用默认选项,直到出现如图2-2所示的界面,在里面选择“Custom”
自己定制虚拟机器。
3>选择虚拟机的格式,使用默认选项即可,如图2-3所示。选择客户操作系统,选择“Iwillinstalltheoperatingsystemlater.”,如图2.4所示。
4>在Windows中使用VMware安装Linux,Windows被称为“HostOperatinsSystem”(主机操作系统),Linux被称为“GestOperatinsSystem”(客户操作系统)。选择Linux作为客户操作系统,版本为“Ubuntu”,如图2-5所示。
5>设置虚拟机的名字及存储位置,如图2-6所示。
6>指定处理器个数(根据自己的实际情况设置),如图2-7所示。指定虚拟机的内存容量,在图2.8所示的界面中有推荐值及取值范
7>指定虚拟机的网络连接类型,一般使用桥接方式(bridgenetworking),如图2-9所示。安装完华后可以再进行修改。
8>选择“I/OAdapter”,使用默认值,如图2-10所示。
9>图1-11、1-12、1-13、1-14共4个图都是用来创建虚拟硬盘。在图1-13中,为了方便管理,建议选择“storagevirtualdiskasasinglefile”。
2.2.2在虚拟机上安装Linux
本书使用Ubuntu12.04的光盘文件ubuntu-12.04.1-desktop-i386.iso文件进行安装。下面简单介绍关键步骤,其他步骤可以参看安装时出现的说明。
1>在虚拟机上使用光盘文件。如图2-16所示,进入虚拟机的编辑界面,选中“CD/DVD”,在右边的界面中,选择“Connnect atpoweron”(表示开启虚拟机时就连接光盘);然后选择“UseISOimage”,如果有实际的光盘,可以选择“Usephysicaldrive”。
2>启动虚拟机,它使用前面设置的光盘文件启动,这时候即可开始安装Linux。如图2-17所示,在虚拟机启动后,桌面有个名为“installUbuntu”的图标,单击它进行安装。接着出现图2-18所示界面,使用默认设置,点“Continue”。当出现如图2-19所示的界面时,选择“ErasediskandinstallUbuntu”。
注意:在VMware的操作系统中,要将鼠标释放出来(回到Windows中),按“Ctrl+Alt”键即可。
3>在紧接着出现的界面中单击“installnow”,如图2-20所示。
4>然后在后续的界面中使用默认值,安装程序会进行格式化虚拟硬盘等操作。当出现如图2-21所示的界面时,在里面设置用户名及密码。
5>继续往下,开始安装系统。当安装完成时,出现如图2-22所示的界面:
这时候从VMware的菜单“VM”->“Setting…”进入虚拟机的设置界面,在“CD-ROM”的设置界面去掉“Connnectatpoweron”(参考图2-16)。然后点击Linux安装界面的“Restart now”即可(如果不能重启,直接关闭VMware后再启动)。
2.2.3主机Linux操作系统上网络服务的配置与启动
配置Linux,启动ftp、ssh这2个服务。如果不是通过远程登录Linux,而是直接在Linux中进行开发,则ftp、ssh这两个服务不用开启。
(1)准备使用软件维护工具apt-get。
Ubuntu12.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)安装、配置、启动服务。
首先说明,Ubuntu7.10中隐藏了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.2.4 Ubuntu和Windows互传文件
1)虚拟机->设置->共享文件夹
2)选择下一步,然后选择共享文件夹路径
再下一步->完成就可。
3)进行软链接
输入命令:
ln –s /mnt/hgfs/share
好了,现在Ubuntu和Windows就能互传文件了。
2.2.5修改Linux的计算机名
1)修改/etc/hostname
sudo vim /etc/hostname
将文件中的内容改为自己想设置的名字。
2) sudo vim /etc/hosts
将文件中127.0.1.1后面内容改为自己刚才设置的名字。
上一篇: 并发控制
推荐阅读
-
第2章 Openwrt开发环境搭建
-
《嵌入操作系统 - Zephyr开发笔记》 第2章 Zephyr 编译环境搭建(Linux)
-
第2章 TensorFlow环境搭建 - A
-
02_ZYNQ7020_ubuntu开发环境搭建_安装Petalinux
-
JAVA敏捷开发环境搭建 博客分类: 创业java敏捷管理 java敏捷管理创业
-
Python学习之路 (一)开发环境搭建
-
搭建多个互不干扰的开发环境 博客分类: python pythondjango
-
Ios 开发 mac cocoaPods的环境搭建
-
以太坊智能合约代币应用开发(1)-环境搭建
-
apache2.2+svn1.6+TortoiseSVN在windows环境搭建 博客分类: vb2005xu自己动手系列vb2005xu开发文章转摘 svnapachewindowssubversion