Re: [U-Boot-Users] DULG/Manual: 7.6. Standalone Operation with Ramdisk Image

Wolfgang - You are (as always) correct - it was a typo in my posting, sorry.
Indeed I have downloaded correct ramdisk_image.zip
apovolot@USPITLAD104868 ~/fadsroot $ ls -l ramdisk_image.gz -rwx------+ 1 apovolot ???????? 1400198 Sep 20 19:11 ramdisk_image.gz
from the:
ftp://ftp.denx.de/pub/LinuxPPC/usr/src/SELF/images/ppc_82xx
Now when this detail is clarified, Wolfgang - could you please answer the actual questions posted (I will retype it below for your convenience) ? (I think your answer will clarify/supplement info you already have in 7.6 of your manual).
TAI, Alex ************************** On PQ2FADS-VR board the U-Boot is programmed into flash sector started at the address 0xFFF00000 (and ending at 0xFFF3FFFF I presume). The next sector on the flash (starting at 0xFFF40000 and ending at 0xFFF7FFFF ) is used for U-Boot environment variables.
Does it mean that a minimal ramdisk image ramdisk_image.zip " could be programmed directly onto flash (bypassing putting it into ram first and then copying it into flash) using CodeWarrior/WireTap CCS"s "Flash Programmer" tool into next 8 sectors, starting from address 0xFFF80000 ?
Aternatively - if I am to strictly follow steps outlined in DULG/Manual: 7.6. "Standalone Operation with Ramdisk Image" I am not clear on addresses used there ?
My "normal" (without ramdisk) booting sequence is: => tftpboot 200000 uimage => bootm 200000
In more details i have:
=> tftpboot 200000 uimage Using FCC2 ETHERNET device TFTP from server 192.168.1.100; our IP address is 192.168.1.103 Filename 'uimage'. Load address: 0x200000 Loading: done Bytes transferred = 864364 (d306c hex)
=> imi 200000
## Checking Image at 00200000 ... Image Name: Linux-2.6.8-rc4 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 864300 Bytes = 844 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
So what addressess I should use in: 1. => tftp "/tftpboot/SIMPLE-PPCBOOT-ramdisk"
and in 2. => cp.b
and in 3. => bootm
steps ?
PS: per suggestion from Himba for 1. : "Some flash address after the end of kernel image should be fine."
the "tftpboot" address should be >= (00200000 + "864300 Bytes") ?
Is there U-Boot command to complement "imi" which would give the address of the next available sector on the flash after the kernel image, where ramdisk inmage could be put (to avoid calculations) ?
Thanks, Best Regards, Alex
In message 20040920.173127.26706.915588@webmail12.lax.untd.com you wrote:
Does it mean that a minimal ramdisk image ramdisk_image.zip "for first tests" for 82xx, which I have downloaded from:
ftp://ftp.denx.de/pub/LinuxPPC/usr/src/SIMPLE-PPCBOOT-ramdisk
Please confirm that you downloaded a file from this link. It was rmoed a long, long time ago and should NOT point to any valid data any more.
If you have this file, then remove it. Don't even attempt to use it on a MPC82xx system. It was never meant for this.
The DULG section you quote correctly lists:
"Ramdisk images for tests can be found in the ftp://ftp.denx.de/pub/LinuxPPC/usr/src/SELF/images/ directories."
so please use these instead.
Best regards,
Wolfgang Denk

In message 20040921.071207.22523.923750@webmail16.lax.untd.com you wrote:
Does it mean that a minimal ramdisk image ramdisk_image.zip " could be programmed directly onto flash (bypassing putting it into ram first and then copying it into flash) using CodeWarrior/WireTap CCS"s "Flash Programmer" tool into next 8 sectors, start
Please use shorter lines. Maximum linelength should never exceed 70 characters or so.
The strict answer to your question is "no". U-Boot cannot handle a "ramdisk_image.zip" file - whatever this might be. It expects a ramdisk image (compressed or uncompressed) with a valid U-Boot header as created using the "mkimage" tool.
ing from address 0xFFF80000 ?
Yes, but you can also program it using U-Boot.
Aternatively - if I am to strictly follow steps outlined in DULG/Manual: 7.6. "Standalone Operation with Ramdisk Image" I am not clear on addresses used there ?
Try to _understand_ what these commands are doing.
My "normal" (without ramdisk) booting sequence is: => tftpboot 200000 uimage => bootm 200000
We load the kernel image to RAM and boot it there - the RAM address must be large enough to not collide with the excepion vectors (on PPC 0 ... 16 kB) or with the code, data and stack used by U-Boot itself (assume the top 1 MB of your RAM), and it must allow that the Linux kernel image gets uncompressed without overwriting the image itself. If you assume an uncompressed kernel size of 2 MB or so this means you cannot load below 0x200000 or so. [Actually a _small_ overlap is possible as uncompression works starting at low addresses.]
So in short: any load address between 0x200000 and [RAMSIZE - 1 MB - size of compressed kernel] will work fine.
So what addressess I should use in:
=> tftp "/tftpboot/SIMPLE-PPCBOOT-ramdisk"
Any address between 0x200000 and [RAMSIZE - 1 MB - size of compressed kernel]. As a default, use 0x200000.
and in 2. => cp.b
Use the tftp load address as source address and an address in flash which is not use otherwise as target address.
and in 3. => bootm
The current address where your image is located - in RAM or in flash as you like.
per suggestion from Himba for 1. : "Some flash address after the end of kernel image should be fine."
the "tftpboot" address should be >= (00200000 + "864300 Bytes") ?
0x00200000 is a RAM address.
Use "flinfo" to get information about available flash and which parts (marked as RO = read-only) are in use for U-Boot. Use "imls" to get information about existing images. Locate any area that is free (i. e. not used by anything you need - like the kernel image) and of sufficient contiguous size. Remember that you can erase flash only in "erase units" ("sectors").
Is there U-Boot command to complement "imi" which would give the address of the next available sector on the flash after the kernel image, where ramdisk inmage could be put (to avoid calculations) ?
No, you have to do the calculation manually.
Best regards,
Wolfgang Denk
participants (2)
-
Alexander Povolotsky
-
Wolfgang Denk