首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在 Linux 上构建无线接入点(2)项目计划-1

在 Linux 上构建无线接入点(2)项目计划-1

项目计划该计划被分成几个阶段;每个阶段的末尾都有具体且可测试的结果。在一个小时左右的构建内,每个阶段都应该是可管理的。
这些阶段包括:
  • 初始设置:引导嵌入式系统并提供控制台登录提示符。
  • 网络设置:启动网络并让它运行,使机器能够实际用作起作用的接入点。
  • 调整:开始漫长的更改和调试机器功能的过程。
初始设置获得嵌入式系统。我使用的是 Soekris Net4521,但如果使用其它系统,如 Technologic TS-5500,过程可能也一样。如果您非常需要,可以使用一台旧的膝上型计算机!现在,重要的部件是 PCMCIA 插槽和磁盘,可以从另外一台机器上对磁盘进行格式化和配置。嵌入式系统大都使用 CF 磁盘作为其主驱动器。
您还需要一个主机系统。运行 Linux 的膝上型计算机可以担当此任务,采用运行 Linux 并支持 CF 驱动器的台式机也可以。我使用了一个已安装好的嵌入式系统,它带有一个 USB CF 驱动器,这在本质上与我们的要求相背,但实际上没有任何差异。
对于本项目,我使用了一块 128MB CF 卡。这一容量看起来很大 — 并且确实很大 — 但有一些空余空间总不是件坏事。讨论中的分发版(Pebble Linux)甚至可以相当好地驻留在 64MB 卡中。空余的空间稍后将用于安装其它“小玩艺儿”。
在将硬件装配到一起之后,引导主机系统。连接其中带有 128MB CF 卡的读卡器。这块卡应该显示为 sda;运行下面这条命令来测试这一点:
1
fdisk /dev/sda




您应该看到一个提示符。
现在,对磁盘进行分区。输入         p 以打印分区表。如果您的卡以前没有这样用过,那么它可能会显示一个 DOS 分区。输入         d 以删除该分区,然后会出现一个提示,这时输入分区号。使用         n 命令创建一个新分区;使用缺省的范围即可。输入         a 以将该分区标记为活动的分区,然后会出现一个提示,这时输入分区号。现在,输入         w 。现在您已将该驱动器分区完毕,其上只有一个 Linux 分区。      
如果您正在膝上型计算机上使用 PCMCIA-to-CF 适配器,那么显示使用的是 hd 驱动器而不是 sd 驱动器。这也是对的;只是要使用它的正确名称。
接下来,格式化磁盘。执行这一操作的命令是         mke2fs /dev/sda1 。格式化完磁盘之后,挂装该磁盘。      
现在,解压缩 Pebble 分发版。Pebble 的安装程序假定您先在其它磁盘上进行解压缩,然后再复制到新磁盘上。如果您不方便在目标系统上使用另一个磁盘,那么就必须编辑安装程序;您可以将 Pebble 分发版的归档文件解压缩至目标磁盘,然后在这个磁盘上本地更新脚本。如果正在使用的磁盘不是上面所建议的那一种磁盘,那么您必须为您的目标驱动器制作一个新的 lilo.conf 文件;复制 hdc 的 lilo.conf,然后替换掉设备名。如果您决定以手工方式引导系统,那么必须运行 lilo,生成 ssh 主机密钥,然后设置 root 密码。您可能还需要对某些其它的内核模块进行配置;/etc/modules.* 中提供了对一些系统的可能的配置。例如,/etc/modules.net4521 是用于 Soekris Net4521 系统的一组模块。
这里有一件棘手的事情,就是您的目标磁盘可能是目标系统中的另一个磁盘。所提供的 lilo 配置文件反映了这一点;它们指定一个磁盘,但接下来指定“bios 0x80”来警告 lilo:该磁盘将成为新系统上的主磁盘。与此类似,在新的 fstab 文件中,您要确保自己指的是正确的磁盘;在典型的嵌入式系统上,该磁盘将是 /dev/hda1 而不是 /dev/sda1。最后,请确保在 inittab 中设置了正确的控制台端口;对于 Soekris 机器,缺省的控制台速度是 19200kbps 而不是 Pebble Linux 所提供的 9600。
一旦这些都设置好了之后,您就应该有了一个完全能在您的目标系统上引导和运行的 CF 卡。在看到登录提示符之后,请登录然后四处看看。与 Pebble Linux 一起还提供一些有用的脚本,它们可以让您将根文件系统重新挂装为只读或读/写。缺省情况为只读 — 这对于您可能希望经常拔下设备的系统来说是再好不过了。
如果您位于一个带有 DHCP 的网络上,那么您可能会发现您的系统在其主以太网端口上已经有了一个 IP 地址。(在 Soekris Net4521 上,我将网线插在了 eth0。)这会在下一步中节省我们一些工作。
返回列表