U-boot and linux command line parameters
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.
Signature · 2 lines
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.
Have you considered using a kernel and initrd?
Hunter Cobbs
Quoted 24 lines · On May 24, 2009, at 4:38 PM, Mirek23 <[email protected]> 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.Signature · 7 lines
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 [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-dev
Quoted 8 lines · 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.
Quoted 6 lines
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.
Signature · 4 lines
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
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.
Signature · 2 lines
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.
Dear Mirek23,
Quoted 2 lines · In message <[email protected]> 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
Signature · 5 lines
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: [email protected] How many NASA managers does it take to screw in a lightbulb? "That's a known problem... don't worry about it."
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.
Quoted 7 lines
/*
* 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. */
#defineCFG_BOOTMAPSZ(8 << 20) /* Initial Memory map for
Linux */
Signature · 2 lines
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.