runner
runner

Reputation: 601

Openwrt- Failed creating firmware layout description

I am trying to build kernel image for VoCore v1.0. I got the sdk files form github. While doing so I got an error as follows

/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

I did some searching on the error and I find out that this error is generating from "mkfwimage.c" file, but I don't really get any useful information to remove such an error.

Reason for this error: It turns out the mkfwimage error was generated indirectly from performing a build that exceeded the flash size of the target device.

Help me avoid this error

Upvotes: 0

Views: 484

Answers (2)

Devidas
Devidas

Reputation: 2517

you have not searched properly hear is the answer

it fails at in function create_image_layout

if (filelength(rootfsfile) + kernel->partition_length > FIRMWARE_MAX_LENGTH)

          return (-2);

so cases may be

  1. you are selecting too many package

  2. you have selected to many drivers

  3. FIRMWARE_MAX_LENGTH is smaller than required (you can chenge it)

so print it out using printf. And solve it your self. check that it might have solved in lated version.

*If not Please submit patch to developers of Vo Core

its very nice project*

Upvotes: 0

Felipe Lavratti
Felipe Lavratti

Reputation: 2967

1) Try downloading the OpenWRT Chaos Calmer version with git clone git://git.openwrt.org/15.05/openwrt.git.

2) Run make menuconfig on command line in the OpenWRT folder.

3) Select ONLY the following items on the menuconfig:

  • Target System >> Ralink RT288x/RT3xxx
  • Subtarget >> RT3x5x/RT5350 based boards
  • Target Profile >> VoCore

4) Apply this path:

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) Run make clean and make all on command line.

(More info here: http://vocore.io/wiki/index/id:15)

Upvotes: 0

Related Questions