
You can check your RAMDISK as follows, assuming your development workstation supports loop device (not all distro's do out of the box):
dd if=ppcboot_ramdisk_image of=/tmp/ramdisk.gz bs=64 skip=1 gzip -d /tmp/ramdisk.gz mount -o loop /tmp/ramdisk /mnt/remote (or your favorite mount point, which must exist)
If you can mount your image this way, it's likely OK, and you have to look elsewhere.
The error being reported is -ENOSPC, (.../asm/errno.h), which presumes your ramdisk is too small. Try increasing the size of the ramdisk to 8192 on the kernel command line like this: ramdisk_size=8192
That should do it.
-Chris
-----Original Message----- From: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users-admin@lists.sourceforge.net]On Behalf Of Jerry Walden Sent: Tuesday, March 25, 2003 12:46 PM To: U-Boot-Users@Lists. Sourceforge. Net Subject: [U-Boot-Users] RE: start / load addresses for initrd
Once again - I'm making progress on bringing up Linux on a custom 405GPr board using u-boot.
First - I got my serial console working in Linux. I did not have to use TLB's or BAT's to map the memory addresses of the UART to properly initialize it.
I simply commented out the initialization that is done in /drivers/char/serial.c for the serial console. The initialization that I did in u-boot was sufficient.
So now my printk's can be seen and logged.
At this point I am trying to get the ramdisk working. The reason I am posting to this list is that I am not sure of the command line kernel options for initrd and the ram disk.
Yes - I read the FAQ's at the DENX site, as well as initrd.txt and I still am mystified as to what is happening. Below is a log of the boot attempt - any help would be greatly appreciated:
U-Boot 0.2.0 (Mar 24 2003 - 11:49:36) CPU: IBM PowerPC 405GPr Rev. A at 266.666 MHz (PLB=133, OPB=66, EBC=26 MHz) PCI async ext clock used, internal PCI arbiter enabled 16 kB I-Cache 16 kB D-Cache Board: ### No HW ID - assuming WALNUT405 I2C: ready DRAM: 64 MB Now running in RAM - U-Boot at: 03fcf000 FLASH: 512 kB *** Warning - bad CRC, using default environment PCI: Bus Dev VenId DevId Class Int PCI Autoconfig: Memory region: [20000000-27ffffff] PCI Autoconfig: I/O region: [800000-3ffffff] PCI Scan: Found Bus 0, Device 0, Function 0 PCI Scan: Found Bus 0, Device 7, Function 0 PCI Autoconfig: BAR 0, Mem, size=0x1000000, address=0x20000000 PCI Autoconfig: BAR 1, I/O, size=0xffffff04, No room in resource PCI Autoconfig: BAR 2, I/O, size=0x1000000, address=0x1000000 00 07 1394 0978 0200 1c
In: serial Out: serial Err: serial U-Boot relocated to 03fcf000 IDE: Bus 0: port = c OK Device 0: Model: SanDisk SDCFB-64 Firm: Vdg 8.16. Ser#: 111913G1602X4714 Type: Removable Hard Disk Capacity: 61.2 MB = 0.0 GB (125440 x 512) => imi 0x100000 ## Checking Image at 00100000 ... Image Name: Linux-2.4.18_mvl30-walnut Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 298692 Bytes = 291.7 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
=> imi 0x200000 ## Checking Image at 00200000 ... Image Name: DA Ramdisk Image Image Type: PowerPC Linux RAMDisk Image (gzip compressed) Data Size: 1509352 Bytes = 1.4 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
=> bootm 0x100000 0x200000 ## Booting image at 00100000 ... Image Name: Linux-2.4.18_mvl30-walnut Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 298692 Bytes = 291.7 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Current stack ends at 0x03F9EBD8 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF2F memsize = 0x04000000 flashstart = 0xFFF80000 flashsize = 0x00080000 flashoffset = 0x00031000 sramstart = 0x00000000 sramsize = 0x00000000 bootflags = 0x001E8480 procfreq = 266.666 MHz plb_busfreq = 133.333 MHz pci_busfreq = 33.333 MHz ethaddr = 00:00:00:00:00:00 IP addr = 0.0.0.0 baudrate = 9600 bps ## Loading RAMDisk Image at 00200000 ... Image Name: DA Ramdisk Image Image Type: PowerPC Linux RAMDisk Image (gzip compressed) Data Size: 1509352 Bytes = 1.4 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
## initrd at 0x00200040 ... 0x00370827 (len=1509352=0x1707E8) Loading Ramdisk to 03e2d000, end 03f9d7e8 ... OK
## Transferring control to Linux (at address 00000000) ...
Linux version 2.4.18_mvl30-walnut (root@hhl) (gcc version 3.2.1 20020930 IBM Sycamore (IBM405GPr) Platform On node 0 totalpages: 16384 zone(0): 16384 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/ram console=ttyS0,9600n8 console=tty0 Memory: 62268k available (512k kernel code, 212k data, 32k init, 0k highmem) Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes) Inode-cache hash table entries: 4096 (order: 3, 32768 bytes) Mount-cache hash table entries: 1024 (order: 1, 8192 bytes) Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 16384 (order: 4, 65536 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 OCP uart ver 1.2 init complete Starting kswapd Disabling the Out Of Memory Killer Serial driver version 5.05c (2001-07-08) with no serial options enabled ttyS00 at 0x0000 (irq = 0) is a 16550A ttyS01 at 0x0000 (irq = 1) is a 16550A block: 128 slots per queue, batch=32 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Tracer: Initialization complete RAMDISK: Compressed image found at block 0 RAMDISK: incomplete write (ramdisk too small?) (-28 != 32768)