
Greetings,
The attached is a small tweak to only pass the arm linux initrd tag to the kernel when an initrd is actually present.
-- Regards, George
Index: u-boot/lib_arm/armlinux.c =================================================================== RCS file: /cvsroot/u-boot/u-boot/lib_arm/armlinux.c,v retrieving revision 1.6 diff -u -r1.6 armlinux.c --- u-boot/lib_arm/armlinux.c 26 Jul 2003 08:08:21 -0000 1.6 +++ u-boot/lib_arm/armlinux.c 5 Nov 2003 18:37:46 -0000 @@ -189,14 +189,12 @@ */ SHOW_BOOT_PROGRESS (14);
- data = 0; + len = data = 0; }
-#ifdef DEBUG if (!data) { - printf ("No initrd\n"); + debug ("No initrd\n"); } -#endif
if (data) { initrd_start = data; @@ -208,10 +206,8 @@
SHOW_BOOT_PROGRESS (15);
-#ifdef DEBUG - printf ("## Transferring control to Linux (at address %08lx) ...\n", - (ulong)theKernel); -#endif + debug ("## Transferring control to Linux (at address %08lx) ...\n", + (ulong)theKernel);
#if defined (CONFIG_SETUP_MEMORY_TAGS) || \ defined (CONFIG_CMDLINE_TAG) || \ @@ -225,7 +221,8 @@ setup_commandline_tag(bd, commandline); #endif #ifdef CONFIG_INITRD_TAG - setup_initrd_tag(bd, initrd_start, initrd_end); + if (initrd_start && initrd_end) + setup_initrd_tag(bd, initrd_start, initrd_end); #endif #if 0 setup_ramdisk_tag(bd);