1、Ubuntu系统下。首先得有一个编译环境,包括库和编译工具,如下:
apt-get install build-essential asciidoc binutils bzip2 gawk gettext \git libncurses5-dev libz-dev patch unzip zlib1g-dev
一般情况下都完成了。获取openwrt代码有git和svn两种方法,但openwrt官方用的是SVN,所以我装的是SVN 工具:
apt-get install subversion
2、获取openwrt源码,源码分为稳定版(backfire)和开发版(trunk),我用的是开发版:
svn checkout svn://svn.openwrt.org/openwrt/trunk
3、跟新feeds包,否则make menuconfig 里面没有LUCI选项
cd trunk
./script/feeds update -a
./script/feeds install -a
4、make menuconfig ,选择你的开发板
make V=99 -j16,开始编译,-j16是开16线程。貌似编译速度会快一些,但也可能会出现莫名其妙的错误,直接
make V=99即可,这个过程很漫长,生成dl目录,而且某些包可能下载不了,编译出错
缺少的包就自己网上去下载吧,或者从别人电脑里复制
5、记住备份dl feeds目录,然后软链接即可
ln -s 源目录 目标目录
以后不小心make distclean后,就不用再辛苦下载dl feeds包了。
6、build_dir目录在make clean/make distclean后,里面东西都没了,那这个目录里面修改的代码怎么办?
制作补丁吧,然后放到
target\linux\ramips\patches-3.10里,注意修改补丁前面的:
---a/path
+++b/path
再次编译时,系统会自己打上补丁。