[U-Boot] [EXT] Re: [ARMv8] kernel entry point

Pankaj Bansal pankaj.bansal at nxp.com
Mon May 6 13:33:46 UTC 2019



> -----Original Message-----
> From: Tom Rini <trini at konsulko.com>
> Sent: Monday, 6 May, 2019 06:59 PM
> To: Pankaj Bansal <pankaj.bansal at nxp.com>
> Cc: u-boot at lists.denx.de; Prabhakar Kushwaha
> <prabhakar.kushwaha at nxp.com>; Varun Sethi <V.Sethi at nxp.com>
> Subject: [EXT] Re: [ARMv8] kernel entry point
> 
> On Mon, May 06, 2019 at 01:06:45PM +0000, Pankaj Bansal wrote:
> 
> > Hi Tom et. Al,
> >
> > I am facing an issue while booting linux on our ARMv8 based platform.
> > In our platform DDR address starts from 0x80000000.
> > If I make the linux kernel entry point 0x80080000 in mkimage, then linux boots
> fine.
> > BUT, if I make the linux image entry point as 0x81000000 in mkimage, the
> kernel doesn't boot.
> >
> > => bootm 0xa0000000 - 0xa1000000
> > ## Current stack ends at 0xfbb24400 ## Booting kernel from Legacy Image at
> a0000000 ...
> >    Image Name:   linux
> >    Image Type:   AArch64 Linux Kernel Image (gzip compressed)
> >    Data Size:    9110442 Bytes = 8.7 MiB
> >    Load Address: 81000000
> >    Entry Point:  81000000
> >    Verifying Checksum ... OK
> > ## Flattened Device Tree blob at a1000000
> >    Booting using the fdt blob at 0xa1000000
> >    Uncompressing Kernel Image ... OK
> > using: FDT
> >    reserving fdt memory region: addr=80000000 size=10000
> >    Loading Device Tree to 000000009fff6000, end 000000009ffff2f8 ...
> > OK ## Transferring control to Linux (at address 81000000)...
> >
> > Starting kernel ...
> >
> > I get no kernel logs after this. I am failing to understand why.
> > Can you please help me in debugging this issue?
> 
> Why are you using a legacy image on AArch64 at all?  You should be using either
> the kernel Image (and booti) or a FIT image.

This issue is coming even if I use FIT image. 

=> bootm 0xa0000000#lx2160ardb
## Current stack ends at 0xfbb24400 ## Loading kernel from FIT Image at a0000000 ...
   Using 'lx2160ardb' configuration
   Trying 'kernel' kernel subimage
     Description:  ARM64 Kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0xa00000d0
     Data Size:    9110442 Bytes = 8.7 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x81000000
     Entry Point:  0x81000000
     Hash algo:    crc32
     Hash value:   39f59891
   Verifying Hash Integrity ... crc32+ OK
## Loading ramdisk from FIT Image at a0000000 ...
   Using 'lx2160ardb' configuration
   Trying 'initrd' ramdisk subimage
     Description:  initrd for arm64
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0xa08b055c
     Data Size:    29171975 Bytes = 27.8 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00000000
     Entry Point:  0x00000000
     Hash algo:    crc32
     Hash value:   23038325
   Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at a0000000 ...
   Using 'lx2160ardb' configuration
   Trying 'lx2160ardb-dtb' fdt subimage
     Description:  lx2160ardb-dtb
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0xa249071c
     Data Size:    25337 Bytes = 24.7 KiB
     Architecture: AArch64
     Load Address: 0x90000000
     Hash algo:    crc32
     Hash value:   8e4d595f
   Verifying Hash Integrity ... crc32+ OK
   Loading fdt from 0xa249071c to 0x90000000
   Booting using the fdt blob at 0x90000000
   Uncompressing Kernel Image ... OK
using: FDT
   reserving fdt memory region: addr=80000000 size=10000
   Loading Device Tree to 000000009fff6000, end 000000009ffff2f8 ... OK
## Transferring control to Linux (at address 81000000)...

Starting kernel ...


> 
> --
> Tom


More information about the U-Boot mailing list