U-boot and linux command line parameters

6 messages, 4 authors, 2009-05-25 · open the first message on its own page

U-boot and linux command line parameters

From: Mirek23 <hidden>
Date: 2009-05-24 21:38:57

Dear All,

I use linux kernel 2.6.23 and u-boot 1.2.0 (on ppc405 virtex-4 ) for  some
time. All works fine when the
kernel together with initramfs is smaller than 8MB. If it is bigger than the
kernel does not boot properly.

First of all I would like to know how the address for the linux command line
parameters is "transferred" from u-boot to linux for ppc405 (virtex4 chip)?
(via some registers or is it  a fixed address in the memory ie. 8MB?)
Does somebody know what should be changed, in the kernel,  in order to move
this limitation from 8MB to let say 12MB? I would be grateful for any hint.

Thanks in advance.
M. 
-- 
View this message in context: http://www.nabble.com/U-boot-and-linux-command-line-parameters-tp23698384p23698384.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

Re: U-boot and linux command line parameters

From: Hunter Cobbs <hidden>
Date: 2009-05-24 21:42:49

Have you considered using a kernel and initrd?

Hunter Cobbs

On May 24, 2009, at 4:38 PM, Mirek23 [off-list ref] wrote:
Dear All,

I use linux kernel 2.6.23 and u-boot 1.2.0 (on ppc405 virtex-4 )  
for  some
time. All works fine when the
kernel together with initramfs is smaller than 8MB. If it is bigger  
than the
kernel does not boot properly.

First of all I would like to know how the address for the linux  
command line
parameters is "transferred" from u-boot to linux for ppc405 (virtex4  
chip)?
(via some registers or is it  a fixed address in the memory ie. 8MB?)
Does somebody know what should be changed, in the kernel,  in order  
to move
this limitation from 8MB to let say 12MB? I would be grateful for  
any hint.

Thanks in advance.
M.
-- 
View this message in context: http://www.nabble.com/U-boot-and-linux-command-line-parameters-tp23698384p23698384.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: U-boot and linux command line parameters

From: David Gibson <hidden>
Date: 2009-05-25 00:17:53

On Sun, May 24, 2009 at 02:38:52PM -0700, Mirek23 wrote:
Dear All,

I use linux kernel 2.6.23 and u-boot 1.2.0 (on ppc405 virtex-4 ) for
some time. All works fine when the kernel together with initramfs is
smaller than 8MB. If it is bigger than the kernel does not boot
properly.

First of all I would like to know how the address for the linux
command line parameters is "transferred" from u-boot to linux for
ppc405 (virtex4 chip)?  (via some registers or is it a fixed address
in the memory ie. 8MB?)  Does somebody know what should be changed,
in the kernel, in order to move this limitation from 8MB to let say
12MB? I would be grateful for any hint.
IIRC, U-boot 1.2.0 is a version of u-boot before it became device tree
aware.  Which means if I'm reading the cuboot.c code correctly, the
command line address is passed to the kernel at entry in r6, with the
length in r7.  With later, device-tree aware u-boot versions, the
command line is instead passed as a device tree property.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Re: U-boot and linux command line parameters

From: Mirek23 <hidden>
Date: 2009-05-25 08:41:29

Thank you for your answer. When studying the u-boot source code I have found
that 
it is indeed register r6 and r7 which pass the location of the command line
parameters and the
size. 

The location of the parameters could be changed in u-boot according to the
macro:
CFG_BOOTMAPSZ

There is however the message in all configuration files for u-boot that
Linux can only map first initial 8MB
so it seems to be not possible to set CFG_BOOTMAPSZ to something higher than
8MB?

/*
 * For booting Linux, the board info and command line data
 * have to be in the first 8 MB of memory, since this is
 * the maximum mapped by the Linux kernel during initialization.
 */
#define CFG_BOOTMAPSZ             (8 << 20)   /* Initial Memory map for
Linux */
 

Does somebody have an idea how to bypass this limitation in linux 2.6.23 or
higher?

M.




-- 
View this message in context: http://www.nabble.com/U-boot-and-linux-command-line-parameters-tp23698384p23703397.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

Re: U-boot and linux command line parameters

From: Wolfgang Denk <hidden>
Date: 2009-05-25 17:54:20

Dear Mirek23,

In message [off-list ref] you wrote:
Thank you for your answer. When studying the u-boot source code I have found
Will you please STOP posting the same questions on sevral mailing
lists, especially without any form of cross-reference?

Please read http://www.catb.org/~esr/faqs/smart-questions.html so you
understand why you might not receive any further replies.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
How many NASA managers does it take to screw in a lightbulb?  "That's
a known problem... don't worry about it."

Re: U-boot and linux command line parameters

From: Mirek23 <hidden>
Date: 2009-05-25 20:40:38

I have done some experiments with u-boot (version 1.2.0) and with linux
kernel (version 2.6.23) and it seems to be that the limitation of 8MB is not
anymore the problem. I have built u-boot and linux for ppc405 (virtex-4). I
have set the CFG_BOOTMAPSZ to 16 MB:
#define CFG_BOOTMAPSZ             (8 << 21)  /* 16 MB */

and Linux has picked up the command line parameters which were set in
u-boot.
/*
* For booting Linux, the board info and command line data
* have to be in the first 8 MB of memory, since this is
* the maximum mapped by the Linux kernel during initialization.
*/
#define CFG_BOOTMAPSZ             (8 << 20)   /* Initial Memory map for
Linux */
-- 
View this message in context: http://www.nabble.com/U-boot-and-linux-command-line-parameters-tp23698384p23712750.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help