一、 OpenWrt 概 述
OpenWrt 是 一种嵌入式开源 Linux 操作系统,我们选用的内核版本是 Kamikaze8.09.2 , 当然也可以选用其它的内核,如: White Russian 、 Backfire 等 等。
二、 安装 Linux 系统
开 发和编译 OpenWrt 时, 主机必须是 Linux 系 统( Fedora12,Ubuntu9.04 等), 如果你的电脑现在装的是 Windows 系统的话,你可以先安装虚拟机,再在虚拟机上安装 Linux 系 统(推荐),或者你也可以安装双系统。
三、 下载并编译 OpenWrt
kamikaze8.09.2 可 以通过 svn 工 具来下载,也可以通过 http 直接下载,地址为: http://downloads.openwrt.org/ 。下载后的源码是 bz2 文件,解压时要加 -jxvf 选 项。因为配置编译选项的时候不允许 root 用户,所以最好在解压时就 su 到 普通用户。
在 Linux 系统下先安装以下库(编译需要): autoconf ,binutils,bison ,bzip2,flex,gawk,gcc,c++,gettext,make,ncurses,devel,patch,unzip,get,zlib-devel .
在 非 root 用 户下,进入解压后目录,运行 make menuconfig 指令,出现图形配置窗口。几个重要选项: Target System->X86 ; Target Profile->Alix ;一般来说 可以选 Select all packages by default ;开发工具 SDK 也 选上。其余的配置看具体需求。
接 下来在当前目录下 make V=99 ,即开始编译。第一次编译的时间会很长 ( 以 后再编译就很快了 ), 而且你一定要确保你的 linux 主机始终接在 Internet 上。 编译完成后,在 bin 目录下生成镜像文件 openwrt-x86-ext2.image 。
四、将镜像写到 CF 卡上
方 法一:在 windows 下 用 physdiskwrite 工 具是一个很好的办法。将镜像和 physdiskwrite 放 置在同一个目录下,运行 cmd , 进入镜像目录,运 physdiskwrite , 选择目标驱动器,也就是 CF 卡 (必须十分小心,选错会带来灾难性后果)。
方 法二: LINUX 下面 直接使用 dd 命令就可 以。格式如下: dd if= “ input_file ” of= “ output_file ”
五、 远程登陆
通 过串口登录的方法:使用终端软件( PUTTY/SecureCRT ), 串口波特率 38400 , 数据位 8 ,奇偶校验 无,停止位 1 。注意板 载串口为公口,一般 pc 机 上的口也是公口,需要将收发线对接才能通信。
也 可通过 ssh 工具登 录。在此之前需要配置系统网络 ip 地 址并确保其能接入网络。 ssh 登 录需要用户名和密码,在串口终端运行 passwd 命 令初始化 root 用户 密码。
若 以上步骤都正确,则会出现如下界面:
六、 网络配置
1 、 OpenWRT 网络的配置在 /root/etc/config/network 文件中 , 一个典型的配置如下:
config 'interface’ ‘wan’
option ‘ifname' 'eth 0 ’
#option 'type' 'bridge'
option 'proto' dhcp
#option 'ipaddr' ‘192.168.1.188'
#option 'netmask' '255.255.255.0'
# option ‘dns’ ‘192.168.1.1'
# option 'gateway' ‘192.168.1.1'
config ‘interface' ’lan’
option ‘ifname' ‘ath0’
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' ‘192.168.0.1’
注意:不能使用和 wan 同 一网段的 IP
1 、 OpenWRT 无线网卡的配置在 /root/etc/config/wireless 文件中 , 一个典型的配置如下( madwifi-r3314 ):
config wifi-device wifi0
option type atheros
option channel auto
option disabled 0
config wifi-iface
option device wifi0
option network lan
option mode ap
option ssid OpenWrt
option encryption psk/wep
option key 000
注 1 : The ‘wifi-device’ refers to the physical wifi interface and ‘wifi-iface’ configures a virtual interface on top of that (if supported by the driver).
注 2 :若 network,wireless 文 件配置被改动了之后,用命令 /etc/init.d/network restart 重启网络服务。
到 此,在局域网的无线设备已经可以受到 ssid 为 OpenWrt 的无线网络,将 Alix3D2 板子的以太网接口连接到上一级路由上,就可以 连接到 Internet 上 了。网络拓扑如下图所示:
七、 安装路由管理软件 X-Wrt
打开 Linux 终端
/scripts/feeds update // 更 新源
/scipts/feeds install haserl // 安装 haserl 包
make package/haserl/compile // 编译生成 haserl_0.9.24-1_i386.ipk
注 1 : /scripts 下的 feeds 是个 perl 脚本
注 2 : haserl 包是被 webif 包所依赖的
/scipts/feeds install webif // 安装 webif 包
make package/webif/compile // 编译生成很多 webif*.ipk
在 8.09.2 /bin/packet 下 将 haserl_0.9.24-1_i386.ipk , webif_0.3-4845_i386.ipk 两个包拷到 CF 卡上,安装。安装命令如下:
Opkg install haserl_0.9.24-1_i386.ipk
Opkg install webif_0.3-4845_i386.ipk
到 此,你在浏览器上输入 :192.168.3.1 时, 就能进入 webif 管 理界面,并对路由进行管理。