欢迎访问LCE的博客,为你分享产品、技术、设计方面的作品实践和心得。

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

代码 lce 10个月前 (10-08) 1079次浏览 已收录 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未生成uImage的解决方法
要进行配置的其它文件,请检查

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

openwrt-18.06.1未生成uImage的解决方法
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 如下:

openwrt-18.06.1未生成uImage的解决方法
修改 Makefile 以便生成 uImage 文件

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

openwrt-18.06.1未生成uImage的解决方法
目录中已经包含对应的 uImage 文件


LCE的博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:openwrt-18.06.1未生成uImage的解决方法
喜欢 (0)
[liuchn@vip.qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

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