Re: IMX6UL: Booting kernel with initramfs blocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 26 Oct 2018 16:36:51 +0200
Lucas Stach <l.stach@xxxxxxxxxxxxxx> wrote:

> Am Freitag, den 26.10.2018, 16:25 +0200 schrieb Patrick Boettcher:
> > On Fri, 26 Oct 2018 13:24:38 +0200  
> > > Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote:  
> > > >   Starting kernel at 0x888e1000, oftree at 0x8a542000...  
> > > 
> > > From what I can see these addresses look fine. You have an image
> > > that's 28MiB in size, we put it to roughly 5x size into memory
> > > and the devicetree behind it. The kernel should then unpack
> > > itself to the start of SDRAM. Looks good and It seems barebox
> > > actually jumps to the Kernel.
> > > 
> > > Next thing to try would be enabling CONFIG_DEBUG_LL,
> > > CONFIG_DEBUG_UNCOMPRESS and CONFIG_EARLY_PRINTK in the Kernel.
> > > Pass "earlyprintk" as kernel option and let's see what happens
> > > then.  
> > 
> > (earlyprintk yet to be tried)
> > 
> > We made a step forward: Reducing the size of the image (from 28
> > down to 17 MiB) makes it boot correctly.
> > 
> > Not sure where the limitation can come from, if you have an idea.
> > 
> > Thanks again for the help so far, I will post a follow-up if the
> > root-cause is discovered.  
> 
> My guess is that the kernel is just not able to find the start of RAM
> for relocation in that case. With such a fat image and our pessimistic
> placement at 5 times that size, the kernel ends up in a region above
> the first 128MB of memory.
> The kernel needs to be placed in the low 128MB, as this is the address
> range that gets masked off from the location in order to find the
> start of RAM.

That's exactly the problem. I sent a patch which makes bootm bail out
if the image is located outside the first 128MB of RAM. Please tell me
whether this is a good way to do things within barebox.

At least as a first step.

Another idea I would have is, why not putting the kernel image always
at the end of the 128MB limit (or at the end of the available memory if
it is lower than 128MB)? Is this where barebox has its stack/heap
already?

--
Patrick.

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux