Search for dtb only if not existed

This commit is contained in:
topjohnwu 2017-09-13 22:32:51 +08:00
parent 7a376c9efc
commit b614b06736

View File

@ -92,7 +92,8 @@ int parse_img(void *orig, size_t size, boot_img *boot) {
boot->extra = base + pos; boot->extra = base + pos;
} }
// Linear search in kernel for DTB // Search for dtb in kernel if not found
if (boot->hdr.dt_size == 0) {
for (int i = 0; i < boot->hdr.kernel_size; ++i) { for (int i = 0; i < boot->hdr.kernel_size; ++i) {
if (memcmp(boot->kernel + i, DTB_MAGIC, 4) == 0) { if (memcmp(boot->kernel + i, DTB_MAGIC, 4) == 0) {
boot->flags |= APPEND_DTB; boot->flags |= APPEND_DTB;
@ -102,6 +103,7 @@ int parse_img(void *orig, size_t size, boot_img *boot) {
fprintf(stderr, "APPEND_DTB [%d]\n", boot->hdr.dt_size); fprintf(stderr, "APPEND_DTB [%d]\n", boot->hdr.dt_size);
} }
} }
}
boot->ramdisk_type = check_type(boot->ramdisk); boot->ramdisk_type = check_type(boot->ramdisk);
boot->kernel_type = check_type(boot->kernel); boot->kernel_type = check_type(boot->kernel);