前言:
玩OpenWrt已经快两年了,最早接触是因为CHDBITS,选择了G300NH2来搭载,发现性能较差,之后就更换为AG300H使用官方原版挂种100下载速度700kb+稳定运行,后来先后购入了乐视小米ipad后就有了越来越多的想法,安装了各种插件,过一段时间更新后发现有问题,然后只有重新刷,每次都很繁琐,5月以来使用了很多基友的包(已经集成了很多插件)发现不大稳定,所有萌发了自己编译符合自己AG300H的固件来。
一、准备工作
1、ubuntu+1 VM虚拟机什么都可以
2、固件获取:svn://svn.openwrt.org/openwrt/branches/barrier_breaker 你需要什么版本的就下载什么版本
二、更新系统软件
1、使用 root 账户登录 ubuntu
2、使用 apt-get update 更新组建
3、安装编译需要的组件(如下\绿色是aria2编译需要的组建)
apt-get install g++
apt-get install libncurses5-dev
apt-get install zlib1g-dev
apt-get install bison
apt-get install flex
apt-get install unzip
apt-get install autoconf
apt-get install gawk
apt-get install make
apt-get install gettext
apt-get install gcc
apt-get install binutils
apt-get install patch
apt-get install bzip2
apt-get install libz-dev
apt-get install asciidoc
apt-get install subversion
apt-get install texinfo
apt-get install sharutils
apt-get install ncurses-term
apt-get install git-core
apt-get install sphinxsearch
apt-get install libtool
apt-get install sphinx-common
apt-get install libssl-dev
apt-get install libsqlite3*
apt-get install intltool
apt-get install libiconv*
apt-get install gstreamer-0.10*
apt-get install glib2.0
apt-get install libxml2-dev
apt-get install qemu
sphinxsearch libtool sphinx-common
4、退出 root身份 (exit)
5、新建一个账户 adduser openwrt sodu openwrt
5、为了防止文件读写权限造成问题,需要将源码copy到openwet的根目录下进行所有操作
cd ~
cp -R /home/user/ ./
三、加载RA-MOD
1、添加ra-mod 编辑目录下的feeds.conf.defaul 注释掉原有的Luci 并加入
src-git ramod git://github.com/ravageralpha/my_openwrt_mod.git
2、执行以下命令
./scripts/feeds uninstall luci
./scripts/feeds update -a
./scripts/feeds install -a
./scripts/feeds install luci
./scripts/feeds update -a
./scripts/feeds install -a
svn update
这样就可以显示出来了,不然有些同学说我加了ra-mod的怎么不显示呀,或没有显示luci
四、进入订制界面
make defconfig
make menuconfig
五、按你的需求选择需要的功能
usbutils
Garget—system—atherosar7xxx/ar9xxx | 路由芯片 |
Target—profile—buffalowzr-hp-ag300h | 我的路由型号 |
Base—system—block-mount | USB挂载 |
libstdcpp | 安装aria2需要 |
luci—collections—luci | 添加luci界面 |
applications—luci-app-ddns | dns界面 |
luci-app-hd-idle | 磁盘休眠控制界面 |
luci-app-multiwan | 多拨控制界面 |
luci-app-qos | qos界面 |
luci-app-samba | samba界面 |
luci-app-ushare | ushare界面 |
translations—luci-i18n-chinese | luci中文语言包 |
kernelmodules—filesytems—kmod-fs-ext4 | 硬盘ext4格式支持 |
nativelanguagesupport—kmod-nls-utf8 | utf8支持?? |
usbsupport—kmod-usb-ohci | Ohci控制器 |
kmod-usb-storage | 添加储存设备驱动 |
kmod-usb-storage-extras | 储存设备扩展 |
kmod-usb-uhci | Uhci控制器 |
kmod-usb2 | Uusb2.0 |
bootloaders—uboot-ar71xx-nbg460n_550n_550nh | 默认 |
libraries—filesystem—libext2fs | 硬盘格式化工具 |
ssl—libopenssl | 安装aria2需要 |
libffmpeg-mini | ushare需要 |
libxml2 | 安装aria2需要 |
network—filetransfer—aria2 | aria2(我没选) |
vsfpd | ftp服务器 |
multiwan | 多拨软件 |
ppp | 默认 |
ppp-mod-pppoe | 默认 |
samba36-server | Samba共享 |
wpad-mini | 默认 |
multimedia—ushare | ushare媒体共享 |
六、 编译
make v=99
第一次编译时间较久,make v=99最稳定。
5、完成
编译完成后,编译好的固件在主文件夹/bin中,拷贝出来到自己要保存的文件夹中。以下命令是清理后以便于下次编译的。
清除缓存 make dirclean
彻底清理make distclean 或 make clean
编译单个包
编译一个单独的软件包(例如在cups软件包):
make package/cups/compile V=99
转载于:https://my.oschina.net/zj2055/blog/341550