一、 OpenWrt 概述
OpenWrt 是一种嵌入式开源 Linux 操作系统,我们选用的内核版本是 Kamikaze8.09.2 ,当然也可以选用其它的内核,如: White Russian 、 Backfire 等等。
二、安装 Linux 系统
开发和编译 OpenWrt 时,主机必须是 Linux 系统( Fedora12,Ubuntu9.04 等),如果你的电脑现在装的是 Windows 系统的话,你可以先安装虚拟机,再在虚拟机上安装 Linux 系统(推荐),或者你也可以安装双系统。
三、下载并编译 OpenWrt
kamikaze8.09.2 可以通过 svn 工具来下载,也可以通过 http 直接下载,地址为: 。下载后的源码是 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 管理界面,并对路由进行管理。
=============================================================
1. fdisk -l查看分区情况;
2. fdisk /dev/sdb
p 查看分区
d 删除分区(输入sdbx中的x数字)
w 删除完所有分区之后,保存
3. fdisk -l 查看分区
4. dd if=openwrt-x86-generic-combined-ext2.img of=/dev/sdb
5. fdisk -l 查看分区,应该有连个分区
6. mount -t ext2 /dev/sdb1 /mnt/sdb1
7. cd /mnt 查看第一个分区的中的内容,应该有vmlinuz文件和grub文件
8. umount /mnt/sdb1
9. mount -t ext2 /dev/sdb2 /mnt/sdb2
10. cd /mnt 查看第二个分区中的内容,里面为空
11. umount /mnt/sdb2
16. 弹出CF卡