编译环境为Ubuntu 14.04 LTS 64-bit真机,当然也可以用虚拟机。

1、安装编译需要的软件包:

sudo apt-get update
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext

2、下载OpenWrt Barrier Breaker源码,我习惯用SVN:

svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker

当然如果你喜欢,也可以用GIT:

git clone git://git.openwrt.org/14.07/openwrt.git

3、更新源:(ps:如果使用git,第一行命令应该为`
cd openwrt

cd barrier_breaker

./scripts/feeds update -a

./scripts/feeds install -a


4、打开对HG255D的支持(当然用vi啊gedit啊都是可以的):

vim target/linux/ramips/image/Makefile


搜索HG255D,去掉前面的注释符#,至于官方为什么要注释掉这一行,有一种说法是官方的版本只在lintel u-boot上测试过,如果刷在带原厂u-boot的HG255D上会出问题,这也许是官方没有提供HG255D固件下载的原因吧。

5、进行配置:

make defconfig

make prereq

make menuconfig


在弹出的图形界面中选择

Target System (Ralink RT288x/RT3xxx)

Subtarget (RT3x5x/RT5350 based boards)

Target Profile (HuaWei HG255D)




我喜欢纯净的系统,所以只安装默认选中的软件,这也是我自己编译固件的原因之一,网上别人编译的固件太臃肿,集成了太多我不想要的东西。你也可以根据自己的需要选择相应的软件包,私人定制专属于自己的固件。

6、编译:

make -j V=s


编译的时间取决于你机器的配置和你的网络(编译过程中需要下载源码),反正渣机器和渣网络下可能要编译几个小时,编译好的固件保存在:

bin/ramips/openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin