Hi Matthew, > Hi Robert. > > Do you see U-Boot detecting and loading the ram disk image once you invoke > your > bootm command above? eg: > > ## Loading RAMDisk Image at 00500000 ... > Image Name: uboot ext2 ramdisk rootfs > Created: 2009-06-15 14:39:13 UTC > Image Type: M68K Linux RAMDisk Image (gzip compressed) > Data Size: 5219290 Bytes = 5 MB > Load Address: 00000000 > Entry Point: 00000000 > Verifying Checksum ... OK > Loading Ramdisk to 4fa79000, end 4ff733da ... OK > > I believe that for U-Boot to pass the ram disk image information to the > kernel, > it needs to be able to detect the ram disk image in the first place. You can > use > U-Boot's mkimage utility to add a header onto your ram disk image. > I used the mkimage, the U-Boot successfully recognized the ramdisk image, and it set the ramdisk_start and ramdisk_end variables (I turned on the debug feature). See the followings:
* kernel: cmdline image address = 0x81000000 ## Booting kernel from Legacy Image at 81000000 ... Image Name: Linux-2.6.30-dirty Created: 2009-06-23 10:11:33 UTC Image Type: MIPS Linux Kernel Image (gzip compressed) Data Size: 1589415 Bytes = 1.5 MB Load Address: 80100000 Entry Point: 80104530 Verifying Checksum ... OK kernel data at 0x81000040, len = 0x001840a7 (1589415) * ramdisk: cmdline image address = 0x81ffffc0 ## Loading init Ramdisk from Legacy Image at 81ffffc0 ... Image Name: Simple Embedded Linux Framework Created: 2007-01-21 18:52:48 UTC Image Type: MIPS Linux RAMDisk Image (gzip compressed) Data Size: 1642848 Bytes = 1.6 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ramdisk start = 0x82000000, ramdisk end = 0x82191160 Uncompressing Kernel Image ... OK kernel loaded at 0x80100000, end = 0x8044a200 ## Transferring control to Linux (at address 80104530) ... ## Giving linux memsize in bytes, 134217728 > This is because you're explicitly telling the kernel where to find the ram > disk > image in memory. Take a look at drivers/block/brd.c in the kernel src. > As I saw, the arch/mips/kernel/setup.c (rd_start_early and rd_size_early) set these informations. > This is arch specific in U-Boot but I'd also check that your MIPS kernel has > support for a) correctly parsing the U-Boot environment provided to it and b) > providing the required data to other parts of the kernel for utilisation of > the > ram disk, eg initrd_start / initrd_end as an example. > > If you're struggling to pass other args to the kernel then it sounds like > there > is more of a fundamental issue somewhere, though. Maybe just double check > Documentation/kernel-parameters.txt to make sure you're passing syntax in a > form > that the kernel will recognise? > > Hope that helps. > > Cheers, > -- Matt > I don't know yet, if it can or can't pass other arguments. I check only that one so far. But the command line parameters work well, I tried the kgdb, the ramdisk, etc. It's only a problem with this environment variable. But I'm just debugging... Best regards, Robert Hodaszi _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot