转:http://colesmith.space/2015/09/28/build-openwrt-for-hg255d.html
本人转载博客的目的是为了自己学习收集资料,并没有进行任何盈利活动,如果有侵权,请及时联系本人,谢谢
#这篇博文中的技术有些陈旧,最新的固件中已经支持HG255D固件的支持,不用更改makefile了
一、Openwrt 版本
- Barrier Breaker 14.07
- 另:
- 当然也可以是Chaos Calmer 15.05或trunk, 但是好像后面的都不支持了
二、路由信息
- Machine:
- HuaWei HG255D
- CPU型号(Target System)
- Ralink RT3052 id:1 rev:3
- 属于 Ramips
三、交叉编译环境搭建
- OS:
- Ubuntu 14.04
- 所需依赖:
sudo apt-get install subversion \
build-essential \
libncurses5-dev \
zlib1g-dev \
gawk \
git \
ccache \
gettext \
libssl-dev \
xsltproc \
file \
unzip \
flex \
quilt \
libxml-parser-perl \
mercurial \
bzr \
ecj \
cvs \
python \
wget
四、下载Openwrt源码以及编译
- Infomation:
- Version: barrier_breaker
- Kernel: 3.10.x
- Support HuaWei HG255D: Y
具体步骤
# Step 1: 下载源码
###
mkdir ~/openwrt
cd ~/openwrt
# 下载barrier_breaker分支,当然你可以选择trunk(开发分支)或者其他分支
# 开发分支: svn://svn.openwrt.org/openwrt/trunk
svn co -r 36088 svn://svn.openwrt.org/openwrt/branches/barrier_breaker
cd barrier_breaker
# Step 2: 更新软件包
###
# *******************
# 提示: 最好在VPS上或者挂VPN, 可能有些更新不了
# *******************
# 更新种子
# 相关文件: feeds.conf.default
./scripts/feeds update -a
# 下载更新
./scripts/feeds install -a
# Step 3: 生成默认配置
###
make clean # 清除
make defconfig # 非必须
# Step 4: 进入配置菜单进行配置
###
# 1、在这一步之前,修改一些配置以适应HG255D,非常重要
# 具体见 为HG255D修改配置
#
# 2、选择shadowsocks、shadowvpn、njit8021xclient: 见七、自己添加的包
make menuconfig
# 2.1、如果需要修改包,请参见 十、对一些包的修改
# 3、选择基础包: 见六、固件推荐包
#
##
# 仔细阅读以上3条,再继续; Or Exit
#
# 基础信息
Target System (Ralink RT288x/RT3xxx)
Subtarget (RT3x5x/RT5350 based boards)
Target Profile (HuaWei HG255D)
Target Image --> squashfs
############################
# 以下个人建议推荐 begin
[*] Advanced configuration options (for developers)
# 从ImageBuilder构建固件,这个非常好用,
# 见八、从[ImageGenerator](http://wiki.openwrt.org/doc/howto/obtain.firmware.generate)生成固件
[*] Build the OpenWrt Image Builder
# SDK可用于直接编译所需要的包,也就是不在需要源码,只要SDK和包
# 见九、从[SDK](http://wiki.openwrt.org/doc/howto/obtain.firmware.sdk)编译软件包
[*] Build the OpenWrt SDK
[*] Build the Openwrt based Toolchain
[*] Image configuration
# 推荐 end
############################
# 推荐的包
Base System --> [*] base-files
[*] block-mount
[*] dnsmasq
# Base System --> [*] dnsmasq-dncpv6
# Base System --> [*] bridge
Administration --> [*] sudo
# [*] syslog-ng3
Kernel modules --> FIlesystems --> [*] kmod-fs-ext4
[*] kmod-fs-ntfs
[*] kmod-fs-vfat
--> LED modules --> [*] kmod-leds-gpio
[*] kmod-ledtrig-default-on
[*] kmod-ledtrig-gpio
[*] kmod-ledtrig-heartbeat
--> Network Support --> [*] kmod-pptp
[*] kmod-tun # For ShadowVPN
--> USB Support --> [*] kmod-usb2
--> Wireless Drivers --> [*] kmod-rt2800-soc
[*] kmod-rtl8187
[*] kmod-rt73-usb
Language --> Python --> [*] ipython # 是否嵌入Python,自己决定
[*] python # 只作为模块编译[*] -> [M]
[M] python-django
[M] python-mysql
[M] python-sqlite3
# --> PHP
# --> Lua 默认即可
# --> Javascript
Libraries --> database --> [*] libsqlite3
LUCI --> Collections --> [*] luci
# [*] luci-ssl # https支持
--> Applications --> [*] luci-app-chinadns
[*] luci-app-commands # LuCI Shell Commands
[*] luci-app-ddns # 动态DNS
[*] luci-app-firewall # 防火墙
[*] luci-app-p2pblock
[*] luci-app-polipo
[*] luci-app-qos
[*] luci-app-radvd
[*] luci-app-redsocks2
[*] luci-app-shadowsocks-spec
[M] luci-app-shadowvpn # ShadowVPN有BUG,不宜内建
[ ] luci-app-samba # 好像编译会出错,不选
[*] luci-app-tinyproxy
[*] luci-app-transmission
[*] luci-app-upnp
[*] luci-app-wol
--> Themes --> [*] luci-theme-bootstrap
--> Translations --> [*] luci-i18n-chinese
Network --> BitTorrent --> [*] transmission-daemon
[*] transmission-web
--> Captive Portals --> [*] wifidog # ...
[M] wifidog-auth
--> File Transfer --> [*] aria2 *
--> [*] curl
--> [*] vsftpd
--> SSH --> [*] autossh
--> [*] openssh-keygen
--> VPN --> [*] pptpd
# --> [*] chaosvpn
# --> [*] l2tpd
# --> [*] l2tpns
# --> [*] n2n
# --> [*] openvpn-* # 我不想要,麻烦
# --> [*] xl2tpd
--> Version Control Systems --> [M] git
--> [M] subversion-libs
--> Web Servers/Proxies --> # [M] apache # 下载不了
--> [M] nginx
--> [M] redsocks
--> 其他默认
--> dial-in/up --> 尚且不知学不需要
--> [*] ChinaDNS
--> [M] ShadowVPN
--> [ ] agan8021xclient
-->