Repository navigation
carrierwrt
-
carrierwrt: OpenWrt for Carriers and OEMs, an openwrt overlay for commercial product development.
-
carrierwrt是一个build system overlay on top of OpenWrt.
-
CarrierWrt最初的目标是简化使用OpenWrt开发商业产品.
-
carrierwrt 是一个 openwrt overlay 简化了像Wi-Fi路由器和家用网关, 通过关注对于OEM和他们的用户重要的方面.
-
稳定的发布分支(stable release branches): 使用最小的补丁修复bug, 而不是更新到最新快照. 确保每个发布分支保持稳定.
-
完整的固件: 被设计成立即可用(out of the box)并且质量有保证. If OpenWrt is the bazar, then CarrierWrt is the cathedral built on top.
-
商业选择: 预安装了一些优秀企业的商业软件.
-
一切版本化(versioned everything): 使用OpenWrt, 开发者需要使用"make menuconfig"来配置编译系统. 这个步骤对于大的开发团队是不合适的. 在CarrierWrt所有的配置在由版本控制的文件中. 如果你切出一个分支(check out a tag), 然后编译, 每次你会得到相同的固件.
-
已经提供了基础功能(basic infrastructure already in place): 恢复出厂默认设置, reset按键, 默认启用Wi-Fi, 背面标签上注明WPA密码等等.
-
容易使用: OpenWrt的failsafe模式http://wiki.openwrt.org/doc/howto/generic.failsafe可能并不那么fail safe.
-
更多功能: CarrierWrt集成了一些立即可用的(out of the box)有趣的功能, 像 Anyfi.net - The OpenWrt Wi-Fi Mobility Platformhttp://anyfi.net/. 敬请期待.
-
收费闭源的软件通常不被开源软件仓库接受, 然后设备厂商通常需要增加一些浮华的装饰(bells and whistles)来区分它们的产品. CarrierWrt被设计来使它容易集成收费软件(proprietary software), 甚至一些对于客户必要的功能已经预安装.
-
依赖的组件: git, svn, gcc, binutils, patch, bzip2, flex, make, gettext, pkg-config, unzip, libz-dev, libncurses-dev, gawk and libc headers
-
命令: sudo aptitude install -y git subversion gcc binutils patch bzip2 flex make gettext pkg-config unzip libz-dev libncurses-dev gawk gcc-multilib
$ git clone https://github.com/carrierwrt/carrierwrt.git
$ cd carrierwrt && make-
基础的编译配置在config.mk中, 功能性和默认设置通过我们叫做"product profiles"来控制, 在 products/*.mk中. 每一种product profile编译出它自己的固件集合(own set of firmware images).
-
pull request 方法: https://github.com/carrierwrt/carrierwrt/pull/1
-
编译得到固件的位置: CarrierWrt固件的名称和OpenWrt对应物(counterparts)的名称完全相同, 唯一的不同是CarrierWrt使用许多不同的配置来编译固件, 并且把他们放在不同的目录中.
-
编译不同用途的固件的不同配置:
- access point: 一个典型的接入点(access point)配置. Wi-Fi和LAN桥接到WAN.
- residential gateway: 典型的家用网关. 基于Wi-Fi MAC的SSID和随机WPA密码.
- Wi-Fi router: 很像OpenWrt, 但是带有默认出厂配置, reset按钮等.
- network appliance: 一个用于打包处理的基础框架系统(bare bones system), 带有VMware和VirtualBox镜像.
-
环境: vagrant box http://basebox.libera.cc/
-
软件: sudo aptitude install -y git subversion gcc g++ binutils patch bzip2 flex make gettext pkg-config unzip libz-dev libncurses-dev gawk gcc-multilib
-
成功编译结果
md5sum firmware/router//untested/openwrt-ar71xx-generic-zcn-1523h-5-16-squashfs
-factory.img > firmware/router//untested/openwrt-ar71xx-generic-zcn-1523h-5-16-
squashfs-factory.img.md5
cp openwrt/bin/ar71xx/openwrt-ar71xx-generic-zcn-1523h-5-16-squashfs-sysupgrade
.bin firmware/router//untested/openwrt-ar71xx-generic-zcn-1523h-5-16-squashfs-s
ysupgrade.bin
md5sum firmware/router//untested/openwrt-ar71xx-generic-zcn-1523h-5-16-squashfs
-sysupgrade.bin > firmware/router//untested/openwrt-ar71xx-generic-zcn-1523h-5-
16-squashfs-sysupgrade.bin.md5
make[4]: Leaving directory `/home/vagrant/carrierwrt'
true
make[3]: Leaving directory `/home/vagrant/carrierwrt'
make[2]: Leaving directory `/home/vagrant/carrierwrt'
make[1]: Leaving directory `/home/vagrant/carrierwrt'
make _info
make[1]: Entering directory `/home/vagrant/carrierwrt'
===============================================================
BUILD: release
PRODUCTS: ap appliance rgw router
TARGET: (all)
CUSTOMIZATION: (all)
Firmware images are in /home/vagrant/carrierwrt/firmware/
===============================================================
make[1]: Leaving directory `/home/vagrant/carrierwrt'