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

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要保留。有了这些以后,无线网关就能正常启动了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwzdd.html