天极传媒:
天极网
比特网
IT专家网
52PK游戏网
极客修
全国分站

北京上海广州深港南京福建沈阳成都杭州西安长春重庆大庆合肥惠州青岛郑州泰州厦门淄博天津无锡哈尔滨

产品
  • 网页
  • 产品
  • 图片
  • 报价
  • 下载
全高清投影机 净化器 4K电视曲面电视小家电滚筒洗衣机
您现在的位置: 天极网 > 软件频道 > 操作系统 > Linux>新闻>在嵌入式Linux中实现802.11b无线网关

在嵌入式Linux中实现802.11b无线网关

论坛整理2007-05-14 00:00我要吐槽
  构成有线网络的传输媒介主要依赖铜缆或光缆;但有线网络在某些场合要受到布线的限制,特别是当要把相隔较远的节点连接起来时,敷设专用通信线路的布线施工难度大、费用高、耗时长,对正在迅速扩大的连网需求形成了瓶颈。无线局域网的出现克服了上述缺点,因此无线局域网发展比较迅速。基于802.11b的产品已成为应用主流。这些产品使用的是2.4 GHz频段,能够在短距离内实现11 Mb/s的接入速率,每个接入点可以同时支持多个用户的接入。而无线网关作为连接无线终端与有线网络之间的桥梁,是构成无限局域网的重要组成部分。作者重点要探讨的就是如何在嵌入式Linux系统上实现无线网关的功能。

  1、嵌入式Linux的基本原理

  嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁减,适于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统由于硬件的先天限制,只具有极稀少的硬件资源,通常不具有磁盘而用小容量的Disk on Chip或Disk on Module等来代替。

  Linux作为嵌入式操作系统是完全可行的。它能处理嵌入式任务和用户界面;将Linux看作是连续的统一体,从一个具有内存管理、任务切换和时间服务及其他的分拆的微内核到完整的服务器,支持所有的文件系统和网络服务。Linux作为嵌入式系统,对许多CPU和硬件平台具有易移植、稳定、功能强大、易开发的优点。Linux作为一种可裁减的软件操作系统,是发展未来嵌入式设备的绝佳资源。因为Linux的源代码公开,易于定制,提供完成嵌入式功能的基本内核和所需要的用户界面。

  一个小型的嵌入式Linux系统需要三个基本要素:引导工具、Linux微内核(内存管理、进程管理和事务处理)和初始化进程。如果要它成为完整的操作系统且继续保持小型化,还得加上硬件驱动程序、文件系统以及提供所需功能的一个或多个应用程序。

  2、802.11b无线网关在嵌入式Linux上的实现

  由于Linux开始是为台式机开发的,加上嵌入式系统硬件资源固有的一些限制,因此,要实现无线网关在嵌入式Linux系统上的应用,就需要对Linux系统进行特别定制,删除无线网关不需要的部分,真正做到精简系统,减少成本的目的。

  2.1 精简内核

  Linux内核是可以根据特定的要求进行定制的,我们使用的是2.4.4的内核。在/usr/src/Linux目录下,使用make menuconfig,去掉内核对floppy、cdrom的支持选项;Second extended fs(ext2)是实际上的Linux文件系统的标准,所以除了此项,把对其他所有filesystem的支持去掉;去掉内核对sound的支持;去掉所有的字符设备(char-acter device)等。

  在去除的同时,要根据AP应用软件及一些特定功能的要求,在内核中留下对需要的驱动的支持,具体的有:①无线网关连接无线网络与有线网络,因此要保留对网络的支持(network support),保留对TCP/IP stack的支持,保留对以太网卡如嵌入式最常用的R18139驱动的支持,并且要在内核中设置模块项;②嵌入式系统如果使用的是Disk On Chip,则内核中还要选中对它的支持:M-sys-tems drivers;③在内核中保留对特定功能的支持,如要使用PPP(点对点协议),则编译的内核必须包含对PPP的支持。

  配置完成后,重新编译内核,然后修改Linux系统引导器lilo的配置文件并最后以新编译的核作为启动内核。重启计算机,若运行一切正常,则精简内核的工作就完成了。

  2.2 缩小Linux文件系统

  嵌入式Linux本身是一种操作系统。它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口。它存在的目的是为了管理所有的硬件资源,并且提供给应用软件一个合适的操作环境,因此在对嵌入式Linux系统进行大幅度删除、缩小的同时也要保留一些基本的命令和目录。

  这些保留的命令和目录大体可以分为三类。一类是Linux系统启动所需要的。这类重要的文件有init、getty等,重要的目录与文件有/etc/rc.d、/etc/inittab等;在启动时还会调用目录/bin及/sbin下的一些命令,若已删除,可以根据启动时的出错信息进行添加。第二类是用于完成一些系统基本功能的保留命令和目录,最简单的如拷贝命令cp,进入和跳出目录的命令cd,列举目录下内容的命令ls等,这些命令完成操作系统最基本的功能。另一些命令需要与特定的配置文件或是存放配置文件的目录相对应,完成相对特殊的功能。当然,具体要实现什么功能要根据实际来定,并尽可能保留必要的命令与相应的目录或是配置文件,达到在完成功能的情况下尽可能少地占用存储空间。完成上面的裁减工作后,重启。若Linux能够正常启动、运行,表明初步的Linux嵌入式系统已经构架成功。最后一类就是使无线网关能够正常工作的。无线网关是以运行脚本命令pcmcia将驱动程序中已编译好的目标文件作为模块加载到系统中而启动的,Linux提供了depmod、insmod、rmmod及其他一些命令来保证适当的模块以正确的顺序加载,所以系统中必须保证存在这些命令,同时无线网关启动时还要读取配置文件。这些配置文件通知无线网关的驱动程序相关参数的设置,所以配置文件所在的目录/ect/pcmcia要保留。有了这些以后,无线网关就能正常启动了。

  2.3 无线网关功能的实现

  如图1所示,无线网关需要完成的最重要的功能就是:与无线节点通信、桥接所有的无线节点、实现无线网络和有线网络的跨网段连接。



作者:赵彪责任编辑:原野)

请关注天极网天极新媒体 最酷科技资讯
扫码赢大奖
评论
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
热点推荐
微软Windows 10操作系统Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。[详细]
Windows 10 新视界 [进入频道][使用技巧][微博互动]
手机整机DIY企业级