最近有些openwrt极客反馈拿我的kirkwood-88F6281源码(github仓库在这里,https://github.com/aboutboy/kirkwood-88F6281)自行编译不生成固件,然而我很久没有再碰过Openwrt系统了。
为了帮助大家解决问题,我只好再次开启虚拟机,下载了最新版的openwrt-18.06.1的源码。
以前我上传的kirkwood-88F6281的代码是针对lede系统的,在lede-17.01.4及以下几个版本中都是没问题的。
而这次由于openwrt-18.06.1使用了更新的Linux内核,所以很多网友直接替换target/linux/kirkwood文件夹的做法显然是存在问题的。
正确的方法是:把kirkwood-88F6281/patches-4.4/210-butong.patch文件移动到openwrt-18.06.1的patches-4.14文件夹内。当然还需要略作修改,为什么修改我这里就不详述了。附上最新的210-butong.patch文件地址:https://github.com/aboutboy/kirkwood-88F6281/blob/master/patches-4.14/210-butong.patch
网友们还应该记得检查其它文件是否正确修改:

在openwrt-18.06.1目录执行make menuconfig,选中BUTONGWIFI for Marvell 88F6281这个项目,如下:

然后保存退出后,执行make V=99,即启动编译。如果没什么问题的话,编译会经历一段时间后完成。
然而,去bin/target/kirwood/generic文件夹却并没有发现生成openwrt-kirkwood-butongwifi_butong-uImage这个uboot文件。
往上翻编译日志,发现其实在build_dir/target-arm_xscale_musl_eabi/linux-kirkwood这个目录是有openwrt-kirkwood-butongwifi_butong-uImage这个文件生成的。
为什么编译过程中没有把openwrt-kirkwood-butongwifi_butong-uImage这个文件复制到bin/target/kirwood/generic文件夹呢?
我研究了很久,发现其实新版的代码修改了target/linux/kirkwood/image/Makefile这个文件的一些参数。这个文件其实就是生成image文件的。所以修改Makefile如下:

再次编译,我们发现在bin/target/kirwood/generic文件夹已经生成了openwrt-kirkwood-butongwifi_butong-uImage,

发表回复