EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

powerPC linux boot sequence

Started by Nabendu July 14, 2008
Any can help me to find the boot sequence of powerPC 83xx of linux
kernel after the bootloader transfer control to kernel..

Please please help me....

thanks,
Nabendu
Nabendu wrote:
> Any can help me to find the boot sequence of powerPC 83xx of linux > kernel after the bootloader transfer control to kernel..
Look in this area: arch/powerpc/platforms/83xx -- Michael N. Moran (h) 770 516 7918 5009 Old Field Ct. (c) 678 521 5460 Kennesaw, GA, USA 30144 http://mnmoran.org "So often times it happens, that we live our lives in chains and we never even know we have the key." "Already Gone" by Jack Tempchin (recorded by The Eagles) The Beatles were wrong: 1 & 1 & 1 is 1
On Jul 14, 9:53 pm, "Michael N. Moran" <mnmo...@bellsouth.net> wrote:
> Nabendu wrote: > > Any can help me to find the boot sequence of powerPC 83xx of linux > > kernel after the bootloader transfer control to kernel.. > > Look in this area: > arch/powerpc/platforms/83xx > > -- > Michael N. Moran (h) 770 516 7918 > 5009 Old Field Ct. (c) 678 521 5460 > Kennesaw, GA, USA 30144 http://mnmoran.org > > "So often times it happens, that we live our lives in chains > and we never even know we have the key." > "Already Gone" by Jack Tempchin (recorded by The Eagles) > > The Beatles were wrong: 1 & 1 & 1 is 1
yes I had gone through that directory, but could not find entry point from which bootloder ( u-boot) gives transfer to linux Image. My board is freescale 834x MDS. Regards, Nabendu
On Jul 14, 9:53 pm, "Michael N. Moran" <mnmo...@bellsouth.net> wrote:
> Nabendu wrote: > > Any can help me to find the boot sequence of powerPC 83xx of linux > > kernel after the bootloader transfer control to kernel.. > > Look in this area: > arch/powerpc/platforms/83xx > > -- > Michael N. Moran (h) 770 516 7918 > 5009 Old Field Ct. (c) 678 521 5460 > Kennesaw, GA, USA 30144 http://mnmoran.org > > "So often times it happens, that we live our lives in chains > and we never even know we have the key." > "Already Gone" by Jack Tempchin (recorded by The Eagles) > > The Beatles were wrong: 1 & 1 & 1 is 1
yes I had gone through that directory, but could not find entry point like head.s in x86 from which bootloder ( u-boot) gives transfer to linux Image. My board is freescale 834x MDS. Regards, Nabendu
Nabendu wrote:
> On Jul 14, 9:53 pm, "Michael N. Moran" <mnmo...@bellsouth.net> wrote: >> Nabendu wrote: >>> Any can help me to find the boot sequence of powerPC 83xx of linux >>> kernel after the bootloader transfer control to kernel.. >> Look in this area: >> arch/powerpc/platforms/83xx >> > yes I had gone through that directory, but could not find entry point > from which bootloder ( u-boot) gives transfer to linux Image. >
The details may vary, but a Google for "Linux PPC Boot Sequence" gave me this link for the PPC 8xx, which will likely be similar depending on your needs. <http://gicl.cs.drexel.edu/people/sevy/linux/PPC_Linux_boot_sequence.html> -- Michael N. Moran (h) 770 516 7918 5009 Old Field Ct. (c) 678 521 5460 Kennesaw, GA, USA 30144 http://mnmoran.org "So often times it happens, that we live our lives in chains and we never even know we have the key." "Already Gone" by Jack Tempchin (recorded by The Eagles) The Beatles were wrong: 1 & 1 & 1 is 1
On Jul 17, 9:00 pm, "Michael N. Moran" <mnmo...@bellsouth.net> wrote:
> Nabendu wrote: > > On Jul 14, 9:53 pm, "Michael N. Moran" <mnmo...@bellsouth.net> wrote: > >> Nabendu wrote: > >>> Any can help me to find the boot sequence of powerPC 83xx of linux > >>> kernel after the bootloader transfer control to kernel.. > >> Look in this area: > >> arch/powerpc/platforms/83xx > > > yes I had gone through that directory, but could not find entry point > > from which bootloder ( u-boot) gives transfer to linux Image. > > The details may vary, but a Google for > "Linux PPC Boot Sequence" gave me this > link for the PPC 8xx, which will likely > be similar depending on your needs. > > <http://gicl.cs.drexel.edu/people/sevy/linux/PPC_Linux_boot_sequence.html> > > -- > Michael N. Moran (h) 770 516 7918 > 5009 Old Field Ct. (c) 678 521 5460 > Kennesaw, GA, USA 30144 http://mnmoran.org > > "So often times it happens, that we live our lives in chains > and we never even know we have the key." > "Already Gone" by Jack Tempchin (recorded by The Eagles) > > The Beatles were wrong: 1 & 1 & 1 is 1
I hadn't found any head.S assembly file. [:( ]in boot dir of arch/ powerpc/boot) or like ps3-head.s for powerpc 83xx. also it is not like ppc/boot/ dir & file structure. Regards, Nabendu
Nabendu wrote:
> On Jul 17, 9:00 pm, "Michael N. Moran" <mnmo...@bellsouth.net> wrote: >> The details may vary, but a Google for >> "Linux PPC Boot Sequence" gave me this >> link for the PPC 8xx, which will likely >> be similar depending on your needs. >> >> <http://gicl.cs.drexel.edu/people/sevy/linux/PPC_Linux_boot_sequence.html> > > I hadn't found any head.S assembly file. [:( ]in boot dir of arch/ > powerpc/boot) or like ps3-head.s for powerpc 83xx. > also it is not like ppc/boot/ dir & file structure.
Searching arch/arm I found: arch/arm/kernel/head.S arch/arm/boot/compressed/head.S The upper-case '.S' extension on assembly source files is used to identify assembly source files that use the C processor before being assembled with 'as'. -- Michael N. Moran (h) 770 516 7918 5009 Old Field Ct. (c) 678 521 5460 Kennesaw, GA, USA 30144 http://mnmoran.org "So often times it happens, that we live our lives in chains and we never even know we have the key." "Already Gone" by Jack Tempchin (recorded by The Eagles) The Beatles were wrong: 1 & 1 & 1 is 1
>Any can help me to find the boot sequence of powerPC 83xx of linux >kernel after the bootloader transfer control to kernel.. > >Please please help me.... > >thanks, >Nabendu >
mkimage is run as part of the kernel build process, and creates the image header that uboot (or whatever boot program you're using) uses to locate the linux entry point. mkimage compresses the kernel and builds the image header record. e.g. the load address is 0x0 and the entry point for the kernel is 0x100000: mkimage &ndash;n "Kernel 2.4.18" &ndash;A arm &ndash;O linux &ndash;T kernel &ndash;C gzip &ndash;a 0 &ndash;e 100000 -d Image.gz:initrd.gz multi-2.4.18.img the image record header format is: /* * Legacy format image header, * all data in network byte order (aka natural aka bigendian). */ typedef struct image_header { uint32_t ih_magic; /* Image Header Magic Number */ uint32_t ih_hcrc; /* Image Header CRC Checksum */ uint32_t ih_time; /* Image Creation Timestamp */ uint32_t ih_size; /* Image Data Size */ uint32_t ih_load; /* Data Load Address */ uint32_t ih_ep; /* Entry Point Address */ uint32_t ih_dcrc; /* Image Data CRC Checksum */ uint8_t ih_os; /* Operating System */ uint8_t ih_arch; /* CPU architecture */ uint8_t ih_type; /* Image Type */ uint8_t ih_comp; /* Compression Type */ uint8_t ih_name[IH_NMLEN]; /* Image Name */ } image_header_t; So the key is to find where in your build environment the section that contains the Linux entry code is located to the ih_ep location. Search for "__attribute__((section" in your kernel tree, and that should lead you to the entry point. You can also check your linker ld script to see which section is located at the ih_ep, and then work back from there to find the named section in the source. Jeff Ramsey www.e2atechnology.com

The 2024 Embedded Online Conference