|
@@ -64,6 +64,14 @@ int do_bootm_linux(int flag, int argc, char * const argv[],
|
|
|
|
|
|
if (!of_flat_tree && argc > 3)
|
|
|
of_flat_tree = (char *)simple_strtoul(argv[3], NULL, 16);
|
|
|
+
|
|
|
+ /* fixup the initrd now that we know where it should be */
|
|
|
+ if (images->rd_start && images->rd_end && of_flat_tree)
|
|
|
+ ret = fdt_initrd(of_flat_tree, images->rd_start,
|
|
|
+ images->rd_end, 1);
|
|
|
+ if (ret)
|
|
|
+ return 1;
|
|
|
+
|
|
|
#ifdef DEBUG
|
|
|
printf("## Transferring control to Linux (at address 0x%08lx) ",
|
|
|
(ulong)thekernel);
|