Openwrt-创建固件布局描述失败

时间:2016-01-18 11:10:39

标签: c linux-kernel openwrt dlna

我正在尝试为 VoCore v1.0 构建内核映像。我从github获得了sdk文件。这样做时我得到如下错误

/build_root/openwrt/staging_dir/host/bin/padjffs2 /build_root/openwrt/build_dir/target-mips_34kc_musl-1.1.11/linux-ar71xx_generic/tmp/openwrt-ar71xx-generic-ubnt-ls-sr71-squashfs-factory.bin  4 8 16 64 128 256
padding image to 004e3000
padding image to 004e4000
padding image to 004f0000
padding image to 00500000
/build_root/openwrt/staging_dir/host/bin/mkfwimage -B LS-SR71 -v LS-SR71.ar7100.v6.0.0-OpenWrt-r48207 -k /build_root/openwrt/build_dir/target-mips_34kc_musl-1.1.11/linux-ar71xx_generic/ubnt-ls-sr71-kernel.bin -r /build_root/openwrt/build_dir/target-mips_34kc_musl-1.1.11/linux-ar71xx_generic/tmp/openwrt-ar71xx-generic-ubnt-ls-sr71-squashfs-factory.bin -o /build_root/openwrt/build_dir/target-mips_34kc_musl-1.1.11/linux-ar71xx_generic/tmp/openwrt-ar71xx-generic-ubnt-ls-sr71-squashfs-factory.bin
board = LS-SR71
ERROR: Failed creating firmware layout description - error code: -2
make[5]: *** [/build_root/openwrt/build_dir/target-mips_34kc_musl-1.1.11/linux-ar71xx_generic/tmp/openwrt-ar71xx-generic-ubnt-ls-sr71-squashfs-factory.bin] Error 253
make[5]: Leaving directory `/build_root/openwrt/target/linux/ar71xx/image'
make[4]: *** [install] Error 2
make[4]: Leaving directory `/build_root/openwrt/target/linux/ar71xx'
make[3]: *** [install] Error 2
make[3]: Leaving directory `/build_root/openwrt/target/linux'
make[2]: *** [target/linux/install] Error 2
make[2]: Leaving directory `/build_root/openwrt'
make[1]: *** [/build_root/openwrt/staging_dir/target-mips_34kc_musl-1.1.11/stamp/.target_install] Error 2
make[1]: Leaving directory `/build_root/openwrt'
make: *** [world] Error 2

我做了一些关于错误的搜索,我发现这个错误来自“ mkfwimage.c ”文件,但我并没有真正得到任何有用的信息来删除这样的错误。

此错误的原因:事实证明,mkfwimage错误是通过执行超出目标设备闪存大小的构建而间接生成的。

帮我避免此错误

2 个答案:

答案 0 :(得分:0)

1)尝试使用git clone git://git.openwrt.org/15.05/openwrt.git下载OpenWRT Chaos Calmer版本。

2)在OpenWRT文件夹中的命令行上运行make menuconfig

3)仅在menuconfig上选择以下项目:

  • 目标系统>> Ralink RT288x / RT3xxx
  • 子目标>>基于RT3x5x / RT5350的电路板
  • 目标个人资料>> VoCore

4)应用此路径:

diff --git a/target/linux/ramips/dts/VOCORE.dts b/target/linux/ramips/dts/VOCORE.dts
index e6288b0..29867ed 100644
--- a/target/linux/ramips/dts/VOCORE.dts
+++ b/target/linux/ramips/dts/VOCORE.dts
@@ -46,7 +46,7 @@

                partition@50000 {
                    label = "firmware";
-                   reg = <0x50000 0x7b0000>;
+                   reg = <0x50000 0xfb0000>;
                };
            };

5)在命令行上运行make cleanmake all

(更多信息:http://vocore.io/wiki/index/id:15

答案 1 :(得分:0)

你没有正确搜索 听到了答案

它失败了 在函数create_image_layout

if(filelength(rootfsfile)+ kernel-&gt; partition_length&gt; FIRMWARE_MAX_LENGTH)

          return (-2);

所以案件可能是

  1. 您选择的包太多了

  2. 您选择了很多司机

  3. FIRMWARE_MAX_LENGTH小于要求(你可以改变它)
  4. 所以用printf打印出来。并解决你的自我。 检查它是否已经解决了版本。

    *如果没有请向Vo Core的开发者提交补丁

    非常好的项目*