Hi,

  While loading kexec kernel, with the below command,

kexec -l vmlinux --command-line="console=ttySAC2,115200n8 root=
/dev/nfs rw ip=dhcp nfsroot=xxxx...."

Error reported is:

DTB too large!
Cannot load /opt/vmlinux

The error is reported from below piece of code

int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
        struct kexec_info *info)
{
        unsigned long base;
        unsigned int atag_offset = 0x1000; /* 4k offset from memory start */
        unsigned int offset = 0x8000;      /* 32k offset from memory start */

           .......
                if (base + atag_offset + dtb_length > base + offset) {
                        fprintf(stderr, "DTB too large!\n");
                        return -1;
                }

         ............
}

>From zImage_arm_load() function as shown above in
kexec/arch/arm/kexec-zImage-arm.c file,
offset is hard-coded to 32K. However the dtb file of Exynos is more than
32K

Please let me reason behind 32K limit?

Thanks & Regards
Vijay

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to