* Booting Linux from an ACE File
@ 2008-05-16 11:57 mojtaba
2008-05-16 12:18 ` Marco Stornelli
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: mojtaba @ 2008-05-16 11:57 UTC (permalink / raw)
To: linuxppc-embedded
Dear all,
Could you please explain what happens exactly when Linux is booting from a
compact flash?
To my few knowledge, the Linux compressed image will be copied somewhere in
memory, will be uncompressed and the control will jump to the beginning
address of the Linux kernel.
Is there any boot loader that copies the Linux compressed image to the
memory?
Where in memory does it put the Linux kernel? For example, if I have 2 DDRs
in my hardware, in which of them it will be put the kernel?
Can I set the kernel location in memory manually?
Might be an stupid question but: Is it possible for the kernel to be half in
BRAMS and half in DDR?
Regards,
Moji
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Booting Linux from an ACE File
2008-05-16 11:57 Booting Linux from an ACE File mojtaba
@ 2008-05-16 12:18 ` Marco Stornelli
2008-05-16 14:26 ` Grant Likely
2008-05-19 16:54 ` Stephen Neuendorffer
2 siblings, 0 replies; 4+ messages in thread
From: Marco Stornelli @ 2008-05-16 12:18 UTC (permalink / raw)
To: mojtaba; +Cc: linuxppc-embedded
mojtaba ha scritto:
> Dear all,
>
> Could you please explain what happens exactly when Linux is booting from a
> compact flash?
>
> To my few knowledge, the Linux compressed image will be copied somewhere in
> memory, will be uncompressed and the control will jump to the beginning
> address of the Linux kernel.
>
> Is there any boot loader that copies the Linux compressed image to the
> memory?
>
> Where in memory does it put the Linux kernel? For example, if I have 2 DDRs
> in my hardware, in which of them it will be put the kernel?
>
> Can I set the kernel location in memory manually?
>
> Might be an stupid question but: Is it possible for the kernel to be half in
> BRAMS and half in DDR?
>
> Regards,
> Moji
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
> Is there any boot loader that copies the Linux compressed image to the
> memory?
Yes there are several boot-loader for example U-Boot.
> Where in memory does it put the Linux kernel? For example, if I have
2 DDRs in my hardware, in which of them it will be put the kernel?
The kernel usually is copied at the start of the memory, so if you have
mapped the address 0x00000000 in the first bank, here will be copied it.
> Can I set the kernel location in memory manually?
Yes but usually it's not needed and you have to be carefully to modify it.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Booting Linux from an ACE File
2008-05-16 11:57 Booting Linux from an ACE File mojtaba
2008-05-16 12:18 ` Marco Stornelli
@ 2008-05-16 14:26 ` Grant Likely
2008-05-19 16:54 ` Stephen Neuendorffer
2 siblings, 0 replies; 4+ messages in thread
From: Grant Likely @ 2008-05-16 14:26 UTC (permalink / raw)
To: mojtaba; +Cc: linuxppc-embedded
On Fri, May 16, 2008 at 5:57 AM, mojtaba <kernelppc@gmail.com> wrote:
> Dear all,
>
> Could you please explain what happens exactly when Linux is booting from a
> compact flash?
>
> To my few knowledge, the Linux compressed image will be copied somewhere in
> memory, will be uncompressed and the control will jump to the beginning
> address of the Linux kernel.
There are several methods to do this.
Option 1 is to pass the kernel zImage.elf to genace so that it gets
wrapped up into the ace file itself and is loaded into RAM by the
SystemACE on FPGA initialization. However, this requires that your
FPGA design gets RAM initialized before the SysACE starts squirting in
the Linux image (which isn't always the case). This option is also
slow.
Option 2 is to use an small bootloader blob (I think Xilinx has a
technote with something suitable) loaded into BRAM that reads the CF
card and copies a Linux image (hint; build a simpleImage when using
arch/powerpc) off the CF and into RAM. This method boots the system
faster, but requires a little bit more work.
Cheers,
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Booting Linux from an ACE File
2008-05-16 11:57 Booting Linux from an ACE File mojtaba
2008-05-16 12:18 ` Marco Stornelli
2008-05-16 14:26 ` Grant Likely
@ 2008-05-19 16:54 ` Stephen Neuendorffer
2 siblings, 0 replies; 4+ messages in thread
From: Stephen Neuendorffer @ 2008-05-19 16:54 UTC (permalink / raw)
To: mojtaba, linuxppc-embedded
> -----Original Message-----
> From: linuxppc-embedded-bounces+stephen=3Dneuendorffer.name@ozlabs.org
[mailto:linuxppc-embedded-
> bounces+stephen=3Dneuendorffer.name@ozlabs.org] On Behalf Of mojtaba
> Sent: Friday, May 16, 2008 4:58 AM
> To: linuxppc-embedded@ozlabs.org
> Subject: Booting Linux from an ACE File
> =
> Dear all,
> =
> Could you please explain what happens exactly when Linux is booting
from a
> compact flash?
The systemAce file is essentially a script of JTAG commands, some of
which target the FPGA with configuration data and some target the
PowerPC/microblaze with memory write commands.
> To my few knowledge, the Linux compressed image will be copied
somewhere in
> memory, will be uncompressed and the control will jump to the
beginning
> address of the Linux kernel.
> =
> Is there any boot loader that copies the Linux compressed image to the
> memory?
Essentially SystemAce does this for you and jumps to the Linux
bootwrapper code which begins decompressing the kernel.
> Where in memory does it put the Linux kernel? For example, if I have 2
DDRs
> in my hardware, in which of them it will be put the kernel?
The kernel is compiled at a particular address, typically targetting
whatever memory is low in the system. I believe the default target
address is 0x40000. So whatever DDR memory lives at this address will
be targetted.
> Can I set the kernel location in memory manually?
If you change how the bootwrapper code and linker script work, yes.
> Might be an stupid question but: Is it possible for the kernel to be
half in
> BRAMS and half in DDR?
There have been some recent patches on the microblaze mailing lists that
attempt to put some of the latency-critical code (exception handlers and
the like) in BRAM. Doing this is likely pretty architecture specific,
since you probably have a particular goal in mind.
Steve
This email and any attachments are intended for the sole use of the named r=
ecipient(s) and contain(s) confidential information that may be proprietary=
, privileged or copyrighted under applicable law. If you are not the intend=
ed recipient, do not read, copy, or forward this email message or any attac=
hments. Delete this email message and any attachments immediately.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-05-19 16:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-16 11:57 Booting Linux from an ACE File mojtaba
2008-05-16 12:18 ` Marco Stornelli
2008-05-16 14:26 ` Grant Likely
2008-05-19 16:54 ` Stephen Neuendorffer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).