构成有线网络的传输媒介主要依赖铜缆或光缆;但有线网络在某些场合要受到布线的限制,特别是当要把相隔较远的节点连接起来时,敷设专用通信线路的布线施工难度大、费用高、耗时长,对正在迅速扩大的连网需求形成了瓶颈 。无线局域网的出现克服了上述缺点,因此无线局域网发展比较迅速 。基于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下安装JDK,Tomcat及设置Cron程序
- 水产常用的中草药
- Linux系统下如何加载U盘或移动硬盘
- 在Linux系统下建立强大的FTP搜索引擎
- 三国志战略版招募技巧
- 2018微博除夕幸运大转盘在哪玩?微博除夕幸运大转盘玩法介绍
- 远程控制跟IP地址配置 linux学习
- 在Linux系统下优化Oracle具体步骤
- 猪亚硝酸盐中毒的防治
- 在Linux桌面上 随意使用Windows的文档