Trouble with supplied uImage and ramdisks

This forum is for users of Microchip MPUs and who are interested in using Linux OS.

Moderator: nferre

conger
Posts: 28
Joined: Tue Jul 20, 2004 3:05 am

Trouble with supplied uImage and ramdisks

Wed Jan 26, 2005 11:28 pm

Hello all,

I have a custom board built, nearly identical to the AT91RM9200DK; my board has exact same SDRAM, Flash, Ethernet, power supply, and serial DEBUG interface. Other peripherals were not included on our board, as for our purposes they were unnecessary. To this point, everything on the board works properly, as I have U-Boot as the on-board bootloader, and am able to tftp the Linux and ramdisk images into RAM. Unfortunately, using the provided uImage and ramdisks (either ramdisk-rmk7 or ramdisk-http) from the AT91 CDROM, I cannot get Linux to get me to a prompt... it gets most of the way through the startup sequence, but fails before getting me to a prompt, as it *appears* it cannot locate a filesystem.

Now, my question has two parts:
(1) I have noticed an inconsistency with the instructions for properly loading and using the bootm command to start Linux, with the inconsistency being between the document "U-Boot Based Product Dev Manual" and the http-based documentation found on the AT91CDROM. The Dev Manual says to load the uImage at 20008000 (which I think is correct) and the ramdisk at 21100000, then to boot with the command:

>bootm 20008000 21100000

The http-based documentation says to load the uImage at 21000000, and the ramdisk at 21100000, then to boot with:

>bootm 21000000


It seems as though the Dev Manual is correct, although with that I get an error from the inflate() function when decompressing the uImage, and it does not find the correct checksum nor magic number from the ramdisk (i.e. it fails miserably). When I try the http-documentation method, the uImage is decompressed correctly and almost bootms for me, though it doesn't seem to find a ramdisk and fails right before giving me a prompt. I figured this post will be long enough for me not to include the actual messages I get, but if someone requests I am happy to post them. So to my original question, what is the reason for the inconsistency in the two instructions, and which is correct?

Second part of my question, is it a problem that my board is not IDENTICAL to the AT91RM9200DK? I wouldn't thikn so, but I am grasping at straws for why the uImage and ramdisk provided with the CDROM do not work at all. It seems as though most other people on this forum use it successfully...

If ANYONE can offer me help, it would be greatly appreciated! I am so close to having my board at full functionality, if I can just get to a Linux prompt I will be doing cartwheels through my lab :) Thank you all again for any advice you can offer,

Chris
ulf
Location: Sweden
Posts: 134
Joined: Wed Feb 18, 2004 5:53 pm

Sat Jan 29, 2005 2:38 pm

If you use U-Boot 1.1.1, pls be aware that there is a bug.

The file: ... /u-boot-1.1.1/board/at91rm9200dk/config.mk

says:
TEXT_BASE = 0x21f80000

it should say:
TEXT_BASE = 0x21f00000
Best Regards
Ulf Samuelsson
conger
Posts: 28
Joined: Tue Jul 20, 2004 3:05 am

Mon Jan 31, 2005 1:42 am

thank you for the reply, i double checked and the base address for U-Boot is correct. However, the U-Boot which I have flashed on my board works fine... it is actually the Linux kernel image itself that will not boot (e.g. using the bootm command once in U-Boot). Again, I am using the uImage and ramdisk (either ramdisk-rmk7 OR ramdisk-http) supplied on the CDROM, uneditted or as-is. It seems odd that it will not boot properly, as everything else on my custom board works perfectly (at least *appears* to be working perfectly). Also, I am curious as to why some documentation describes the proper use of the 'bootm' command differently than other...

Even more oddly, it would seem that the
>bootm 20008000 21100000
is the correct syntax (after I place uImage at 20008000), although when I do a
>bootm 21000000
with the uImage now placed at 21000000, it gets farther along in the boot process. In the first case, it gives me an error when first uncompressing the image (inflate() returned -3). In the second case, it uncompresses fine, but right at the end of the Linux boot sequence it fails (not surprisingly, since there is no ramdisk address specified in the bootm command). Anyone have similar experiences, or has ideas from my description what the source of the problem might be? Thank you again for any help

Chris

Return to “LINUX”

Who is online

Users browsing this forum: No registered users and 4 guests