欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第2章 Openwrt开发环境搭建

程序员文章站 2024-03-22 16:57:46
...

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章 Openwrt开发环境搭建

图2-1启动VMware

2>在后续界面中使用默认选项,直到出现如图2-2所示的界面,在里面选择“Custom”
自己定制虚拟机器。

第2章 Openwrt开发环境搭建

图2-2选择定制虚拟机

3>选择虚拟机的格式,使用默认选项即可,如图2-3所示。选择客户操作系统,选择“Iwillinstalltheoperatingsystemlater.”,如图2.4所示。
第2章 Openwrt开发环境搭建

图2-3选择虚拟机的格式

第2章 Openwrt开发环境搭建

图2-4选择客户操作系统

4>在Windows中使用VMware安装Linux,Windows被称为“HostOperatinsSystem”(主机操作系统),Linux被称为“GestOperatinsSystem”(客户操作系统)。选择Linux作为客户操作系统,版本为“Ubuntu”,如图2-5所示。
第2章 Openwrt开发环境搭建

图2-5选择客户操作系统

5>设置虚拟机的名字及存储位置,如图2-6所示。
第2章 Openwrt开发环境搭建

图2-6设置虚拟机的名字及存储位置

6>指定处理器个数(根据自己的实际情况设置),如图2-7所示。指定虚拟机的内存容量,在图2.8所示的界面中有推荐值及取值范
第2章 Openwrt开发环境搭建

图2-7指定处理器个数

第2章 Openwrt开发环境搭建

图2-8指定虚拟机的内存容量

7>指定虚拟机的网络连接类型,一般使用桥接方式(bridgenetworking),如图2-9所示。安装完华后可以再进行修改。
第2章 Openwrt开发环境搭建

图2-9指定虚拟机的网络连接类型

8>选择“I/OAdapter”,使用默认值,如图2-10所示。
第2章 Openwrt开发环境搭建

图2-10选择“I/OAdapter”

9>图1-11、1-12、1-13、1-14共4个图都是用来创建虚拟硬盘。在图1-13中,为了方便管理,建议选择“storagevirtualdiskasasinglefile”。
第2章 Openwrt开发环境搭建

图2-11选择创建新的虚拟硬盘

第2章 Openwrt开发环境搭建

图2-12选择硬盘(使用默认类型)

第2章 Openwrt开发环境搭建

图2-13指定硬盘容量

2.2.2在虚拟机上安装Linux

本书使用Ubuntu12.04的光盘文件ubuntu-12.04.1-desktop-i386.iso文件进行安装。下面简单介绍关键步骤,其他步骤可以参看安装时出现的说明。
1>在虚拟机上使用光盘文件。如图2-16所示,进入虚拟机的编辑界面,选中“CD/DVD”,在右边的界面中,选择“Connnect atpoweron”(表示开启虚拟机时就连接光盘);然后选择“UseISOimage”,如果有实际的光盘,可以选择“Usephysicaldrive”。

第2章 Openwrt开发环境搭建

图2.16在虚拟机上使用光盘文件

2>启动虚拟机,它使用前面设置的光盘文件启动,这时候即可开始安装Linux。如图2-17所示,在虚拟机启动后,桌面有个名为“installUbuntu”的图标,单击它进行安装。接着出现图2-18所示界面,使用默认设置,点“Continue”。当出现如图2-19所示的界面时,选择“ErasediskandinstallUbuntu”。
注意:在VMware的操作系统中,要将鼠标释放出来(回到Windows中),按“Ctrl+Alt”键即可。
第2章 Openwrt开发环境搭建

图2-17通过“手动”来使用硬盘

第2章 Openwrt开发环境搭建

图2-18条件检查

第2章 Openwrt开发环境搭建

图2-19安装类型

3>在紧接着出现的界面中单击“installnow”,如图2-20所示。
第2章 Openwrt开发环境搭建

图2.20准备分区

4>然后在后续的界面中使用默认值,安装程序会进行格式化虚拟硬盘等操作。当出现如图2-21所示的界面时,在里面设置用户名及密码。
第2章 Openwrt开发环境搭建

图2-21设置用户名和密码

5>继续往下,开始安装系统。当安装完成时,出现如图2-22所示的界面:
第2章 Openwrt开发环境搭建

图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章 Openwrt开发环境搭建

图2-23

2)选择下一步,然后选择共享文件夹路径
第2章 Openwrt开发环境搭建

图2-24

再下一步->完成就可。
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后面内容改为自己刚才设置的名字。

上一篇: 并发控制

下一篇: