欢迎光临lce.cc,我是一名技术出身的互联网产品经理和创业者,对产品、运营、设计、建筑、互联网、路由器、区块链等领域都有较深入的研究,对历史、哲学、心理学、政治也比较感兴趣,欢迎同样有兴趣的一起交流。我的邮箱:a#lce.cc

openwrt-18.06.1未生成uImage的解决方法

代码 lce 38℃ 0评论

最近有些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 menuconfig选中正确的编译项目

然后保存退出后,执行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如下:

修改Makefile以便生成uImage文件

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

目录中已经包含对应的uImage文件

转载请注明:长风破浪会有时,直挂云帆济沧海 » openwrt-18.06.1未生成uImage的解决方法

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址