Rainer Brestan (VI/SEA | 1 Sep 09:53 2004
Picon

RE: Booting kernel with initrd

Seems to be misunderstood.

I dont want to create the root filesystem on FAT.
I want to have it like the configuration with loadlin, where you have the four files on the FAT filesystem,
the kernel, the initrd image, the root filesystem image (ext2) and a swap image. When the kernel boots the
initrd, this mounts the root filesystem through the loopback device (root=/dev/loop0), this is
described various times on the net.

I have read the manuals about uboot i have found (DLUG).

The bootm command describes how the images (kernel and initrd) are processed, when they are in flash and
copied out in memeory. But that not what i need in this case. They must be loaded from filesystem into RAM. It
makes no sense to load the images into RAM with another command and then run bootm, which copies them from
one position in RAM to another.

The reply from fumin showed a way to do this. Looking at the kernel source for the parameter parsing for
initrd parameter assumes initrd=0x00800000,16M to be correct (first start address and then size). I
dont understood 
your reply.

>> u can load image to 0x00800000 and type command to set bootargs like below:
>> setenv bootargs root=/dev/ram0 mem=128M initrd=0x00800000,16M
>
>This is only needed for broken (Linux) ports.  Normally  U-Boot  will
>directly pass the ramdisk address top the Linux kernel.

Maybe i have completly misunderstood something, but for me the boot sequency is to load the kernel from
filesystem (probable fatload, but where is the documentation for that command), then the initrd, and
then starting the kernel with go with bootargs set to root=/dev/loop0 initrd=start,size.

(Continue reading)

Wolfgang Denk | 1 Sep 11:25 2004
Picon
Picon

Re: Booting kernel with initrd

Dear Rainer,

in message <2574043332486841A5B27A5FE9769E45014F82C2 <at> esealnt888.al.sw.ericsson.se> you wrote:

> I want to have it like the configuration with loadlin, where you have the four files on the FAT filesystem,
the kernel, the initrd image, the root filesystem image (ext2) and a swap image. When the kernel boots the
initrd, this mounts the root filesyste
> m through the loopback device (root=/dev/loop0), this is described various times on the net.

Can you please restrict your line  length  to  the  usual  70  or  so
characters? Thanks.

> I have read the manuals about uboot i have found (DLUG).
> 
> The bootm command describes how the images (kernel and initrd) are processed, when they are in flash and
copied out in memeory. But that not what i need in this case. They must be loaded from filesystem into RAM. It
makes no sense to load the images int

Just use "fatload" to load the images to RAM, then.

> o RAM with another command and then run bootm, which copies them from one position in RAM to another.

But this is the way it needs to be done. There is a command  to  load
it  to  memory  (fatload  in  your  case),  and  another  command  to
uncompress the kernel and start it (bootm).

> The reply from fumin showed a way to do this. Looking at the kernel source for the parameter parsing for
initrd parameter assumes initrd=0x00800000,16M to be correct (first start address and then size). I
dont understood 
> your reply.
(Continue reading)

Steven Scholz | 1 Sep 13:25 2004
Picon

Re: Patch for Cirrus Logic EDB93xx

llandre wrote:

> ... Tha patch includes Steven Scholz's patch 
> for ARM9-based SoCs.

I don't think is a good idea as Wolfgang - like many other maitainers - prefer 
"small logical chunks".

Wolfgang, any chance my SoC patch gets into the CVS soon?

--

-- 
Steven

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
David Snowdon | 1 Sep 15:11 2004
Picon
Picon

Big endian-ness - Config option?

G'Day,

Feel free to harsh me if I've got this wrong. (I'm writing this so I 
don't get harshed when I submit my patch).

I've just borrowed the code from the sixnet board for talking to 
28F320C3 flash chips (advanced boot sector, yada, yada) which was 
written by Wolfgang at some point. Its dropped in very nicely and works 
very well (once I'd worked out what i was doing).

I've had two problems. The first has been that that the code uses the 
get_timer(x) function, which is not implemented properly on ARM. (It 
just returns the value of the OS counter, ignoring the value passed to 
it. I had to replace the get_timer stuff with get_timer_masked and 
reset_timer_masked. I could try fixing the arm implementation of 
get_timer, but figured you guys wouldn't want me touching that bit of 
code since other bits and pieces now depend on it. Is there some way of 
doing this nicely?

The second was that one part of the code munges some bytes into a word 
to get them ready for writing. This is broken with respect to 
endian-ness, and breaks on my XScale running in little-endian mode. Is 
it possible (or appropriate?) to add a CFG_LITTLE_ENDIAN (or something 
similar)? Is there a better way of switching between the two? It would 
be nice if this code could be re-used without these sorts of problems.

Cheers,

Dave.

(Continue reading)

llandre | 1 Sep 14:58 2004
Picon

Re: Re: Patch for Cirrus Logic EDB93xx


>>... Tha patch includes Steven Scholz's patch for ARM9-based SoCs.
>
>I don't think is a good idea as Wolfgang - like many other maitainers - 
>prefer "small logical chunks".

Yes, I agree.
In fact this patch is meant to be used by for interested people until your 
patch will be included.

Regards,

llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave-tech.it
email: r&d2 <at> dave-tech.it

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
Wolfgang Denk | 1 Sep 15:26 2004
Picon
Picon

Re: Big endian-ness - Config option?

In message <637EA992-FC18-11D8-9008-000393C7979E <at> student.unsw.edu.au> you wrote:
> 
> I've had two problems. The first has been that that the code uses the 
> get_timer(x) function, which is not implemented properly on ARM. (It 

Indeed, it seems to be broken.

> just returns the value of the OS counter, ignoring the value passed to 
> it. I had to replace the get_timer stuff with get_timer_masked and 
> reset_timer_masked. I could try fixing the arm implementation of 
> get_timer, but figured you guys wouldn't want me touching that bit of 
> code since other bits and pieces now depend on it. Is there some way of 
> doing this nicely?

There should be no software depending on  the  broken  behaviour.  If
there was any, it must be fixed, too.

> The second was that one part of the code munges some bytes into a word 
> to get them ready for writing. This is broken with respect to 
> endian-ness, and breaks on my XScale running in little-endian mode. Is 
> it possible (or appropriate?) to add a CFG_LITTLE_ENDIAN (or something 
> similar)? Is there a better way of switching between the two? It would 
> be nice if this code could be re-used without these sorts of problems.

If you use code from a board directory, no such endianess support  is
needed,  as the board will normally not change endianness (at least I
don't know of any of the supported boards  which  can  be  configured
both for BE or LE).

Endianess is considered an issue only in case you're using a  generic
(Continue reading)

Wolfgang Denk | 1 Sep 15:21 2004
Picon
Picon

Re: Re: Patch for Cirrus Logic EDB93xx

In message <4135B196.3040001 <at> imc-berlin.de> you wrote:
> 
> I don't think is a good idea as Wolfgang - like many other maitainers - prefer 
> "small logical chunks".

Indeed.

> Wolfgang, any chance my SoC patch gets into the CVS soon?

Yes. Real soon now [meaning 2 in the Jargon file] :-(

Best regards,

Wolfgang Denk

--

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd <at> denx.de
"No matter where you go, there you are..."          - Buckaroo Banzai

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47&alloc_id808&op=click
Steven Scholz | 1 Sep 15:50 2004
Picon

Re: Patch for Cirrus Logic EDB93xx

llandre wrote:

> It seems that two builds (lpd7a400 and trab) got broken, but it is not 
> clear why (see below). Any suggestions?
> 
> 
> *** lpd7a400 ***
> lib_arm/libarm.a(board.o)(.data+0x20): In function `mem_malloc_init':
> /home/llandre/devel/zephyr/sw/u-boot/u-boot/lib_arm/board.c:82: 
> undefined reference to `checkcpu'
> make: *** [u-boot] Error 1
> 
> *** trab ***
> arm-linux-ld: ERROR: 
> /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_udivsi3.oS) 
> uses hardware FP, whereas trab_fkt uses software FP
> Success: failed to merge target specific data of file 

Are you sure that our patches broke these builds?
Can you successfully run "./MAKEALL ARM9" on the prestine CVS HEAD version of 
U-Boot?

--

-- 
Steven

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
(Continue reading)

Leif Lindholm | 1 Sep 16:50 2004

Re: Big endian-ness - Config option?

On Wed, 2004-09-01 at 15:26, Wolfgang Denk wrote:
> If you use code from a board directory, no such endianess support  is
> needed,  as the board will normally not change endianness (at least I
> don't know of any of the supported boards  which  can  be  configured
> both for BE or LE).

</lurk-mode>

Hi

My port to the AMD Dbau1550 board (I think I may have time to clean it
up and submit patches in a couple of weeks) was done for little endian
mode. The other Dbau1xx0 boards were all supported in big endian mode
(mips works both ways, and these boards when running Yamon can be
switched between them with a dip switch scanned at power-on).

To get around this (for linker scripts and such) I patched mkconfig to
take an optional "$6", for putting "ENDIANESS = " to config.mk.

Since the patch is trivial, I'm including it below.

regards
	/
		Leif

---

--- u-boot-1.1.1/mkconfig       Thu Jun 26 00:26:29 2003
+++ patch/mkconfig      Thu Jun 17 17:51:53 2004
 <at>  <at>  -19,7 +19,7  <at>  <at>  while [ $# -gt 0 ] ; do
(Continue reading)

Benjamin Collar | 1 Sep 17:32 2004
Picon

Re: porting to new board: what to do next?

Hello again everyone,

Thank you for the information you gave me yesterday. I've got a BDM
debugger (Lauterbach) hooked up and am stepping through the u-boot
startup.

The (current!) problem occurs in cpu_init_f and has to do with the value
defined in the configs/board.h for CFG_OR0_REMAP.
This is based on CFG_REMAP_OR_AM. What I need to know is, how do I
figure out the right values for CFG_REMAP_OR_AM and PRELIM_OR_AM? I read
the README and unfortunately it says nothing (that I understood...). I'm
okay with deriving the information, perhaps from the CPU Manual or the
Flash Manual or the board's spec, but really, I'm not sure exactly what
these values mean. Can someone give me a short explanation?

So you know what kind of hardware I'm dealing with, the basics are an
MPC852T CPU with a 16MB Flash: AM29LV320 and SDRAM MT48LC4M32B2.

Thanks for your help
Ben

On Tue, 2004-08-31 at 22:16, Wolfgang Denk wrote:
> Dear Benjamin,
> 
> in message <1093964436.17059.62.camel <at> mhpajh5c> you wrote:
> > 
> > We're porting U-Boot to a new board. We've followed the plan given in
> > the README and have written board.c, flash.c, configs/board.h. We've
> > flashed it and ... well, nothing happens. Nothing at all.
> 
(Continue reading)


Gmane