openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录 --- 实际是由于下载了错误的backfire源码包导致的
基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2;后来确认不应该从这里下载;而是应该从svn下载),编译用于H618B的版本 -- BRCM53xx;过程记录如下:
1.sdk自带的luci版本是0.9.0,结果编译luci出错:
/home/hadoop/openwrt/backfire_10.03/build_dir/target-mipsel_uClibc-0.9.30.1/luci-0.9.0/build/mkversion.sh: 3: local: not in a function
make[3]: *** [/home/hadoop/openwrt/backfire_10.03/bin/brcm47xx/packages/luci-core_0.9.0-1_brcm47xx.ipk] Error 2
make[3]: Leaving directory `/home/hadoop/openwrt/backfire_10.03/feeds/luci/luci'
make[2]: *** [package/feeds/luci/luci/compile] Error 2
make[2]: Leaving directory `/home/hadoop/openwrt/backfire_10.03'
make[1]: *** [/home/hadoop/openwrt/backfire_10.03/staging_dir/target-mipsel_uClibc-0.9.30.1/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/hadoop/openwrt/backfire_10.03'
暂时没解决,后看到hiwifi中采用了其他的luci版本,且我自己尝试编译通过。故在feeds.conf.default中进行了调整:
src-svn luci http://svn.luci.subsignal.org/luci/branches/luci-0.11/contrib/package --- 来自hiwifi
#src-svn luci http://svn.luci.subsignal.org/luci/tags/0.9.0/contrib/package
//结果证明,编译通过了
//关于上述问题,对比backfire10.03原始下载的luci和hiwifi的luci,在相同位置上的文件:mkversion.sh存在差异:
local variant --- "位于 backfire_10.03/build_dir/target-mipsel_uClibc-0.9.30.1/luci-0.9.0/build/mkversion.sh:3"中存在,但是在hiwif的对应文件中不存在!!
2.sdk自带的mklibs,死活无法下载;后还是拷贝了hiwif的对应目录,并编译。 注意:这里我发现,如果自行到url地址去下载源码包(http://ftp.de.debian.org/debian/pool/main/m/mklibs/mklibs_0.1.34.tar.gz),并将其放到dl目录中。则再编译的时候就不用重新download了,而是直接可以用了
注意:编译过程中,使用 make V=99 2>&1 |tee build.log |grep -i error 来记录编译过程的输出
************************************
经过上述改动后,第一个自我编译的可以烧写到H618B的,且支持luci(虽然只能登陆进去,页面还比较缺失)的版本,终于出来了bin/openwrt-brcm47xx-squashfs.trx
下一步:扩充功能,丰富页面配置