mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Yegor Yefremov <yegorslists@googlemail.com>
Cc: barebox <barebox@lists.infradead.org>, Lucas Stach <lst@pengutronix.de>
Subject: Re: am335x: load a kernel with integrated initramfs
Date: Wed, 25 Mar 2020 10:58:03 +0100	[thread overview]
Message-ID: <20200325095803.GD27288@pengutronix.de> (raw)
In-Reply-To: <CAGm1_kuqWnrg6M6FLtgQ9Lsq9h6a+SG7n-OOOmGbpHJ_d94jCQ@mail.gmail.com>

On Tue, Mar 24, 2020 at 05:21:16PM +0100, Yegor Yefremov wrote:
> On Tue, Mar 24, 2020 at 8:35 AM Sascha Hauer <s.hauer@pengutronix.de> wrote:
> >
> > On Mon, Mar 23, 2020 at 01:22:33PM +0100, Yegor Yefremov wrote:
> > > Hi Sascha,
> > >
> > > On Mon, Mar 23, 2020 at 9:30 AM Sascha Hauer <s.hauer@pengutronix.de> wrote:
> > > >
> > > > Hi Yegor,
> > > >
> > > > On Fri, Mar 20, 2020 at 09:29:04AM +0100, Yegor Yefremov wrote:
> > > > > I get an "handler failed with: Out of memory" message when trying to
> > > > > load my 22MB large kernel-fit.itb. Below you can see the related log:
> > > > >
> > > > > mounted /dev/nand0.UBI.ubi.kernel on /mnt/nand0.UBI.ubi.kernel
> > > > > YY: bootm_boot
> > > > > YY: read file 0, size 22661672, PAGE_SIZE 4096
> > > > > YY: fit_open
> > > > > FIT: Opened FIT image: Simple image with single Linux kernel and FDT blob
> > > > > FIT: configuration 'conf221@1': Boot Linux kernel with FDT blob (221)
> > > > > FIT: image 'kernel@1': 'Vanilla Linux kernel'
> > > > > FIT: /images/kernel@1/hash@1: hash OK
> > > > >
> > > > > Loading open firmware Device Tree flattened Binary
> > > > > '/mnt/nand0.UBI.ubi.kernel/kernel-fit.itb'
> > > > > OS image not yet relocated
> > > > > Passing control to FIT image handler
> > > > > YY: do_bootm_linux
> > > > > YY: before bootm_load_os
> > > > > YY: bootm_load_os
> > > > > YY: kernel size 22484352
> > > > > YY: for each memory bank: size 22484352
> > > > > __request_region: 0x86b37000:0x880a857f conflicts with 0x87efe860:0x8fdfd0bf
> > > >
> > > > So your kernel has a size of 22484352 bytes. We want to places the
> > > > kernel at a place where we do not risk that it overwrites itself during
> > > > decompression. We assume that the kernel gets five times bigger during
> > > > decompression. So we put it at 0x80000000 + 22484352 * 5. Here the image
> > > > takes 22484352 bytes, so ends at 0x80000000 + 22484352 * (5 + 1) which
> > > > is already inside the malloc area.
> > > >
> > > > Try the attached patch, it should solve that issue.
> > >
> > > No, it doesn't. But reducing the malloc size helped. I have tried the
> > > reduced size with and without the fix.
> >
> > Nevertheless I would still be interested why the patch doesn't work.
> > Care to have a look? Some printfs of the addresses would be enough to
> > give me a clue.
> 
> Loading open firmware Device Tree flattened Binary
> '/mnt/nand0.UBI.ubi.kernel/kernel-fit.itb'
> YY: mem_start 80000000, mem_size 133163104
> YY: image_decomp_size 112422912
> YY: mem_end 87efe85f
> YY: kaddr initial 86b37000
> YY: kaddr final 8688d2df
> YY: load_address 8688d000
> YY: mem_free 87eff000
> FIT: image 'fdt220@1': 'Flattened Device Tree blob (220)'
> FIT: /images/fdt220@1/hash@1: hash OK
> handler failed with: Out of memory
> 
> I hope this helps.

Yes, that helps, thanks. It seems the kernel now fits into the available
memory, but now there's no space left above the kernel to place the
device tree, at least that's what I assume.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

  reply	other threads:[~2020-03-25  9:58 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-20  8:29 Yegor Yefremov
2020-03-23  8:30 ` Sascha Hauer
2020-03-23 12:22   ` Yegor Yefremov
2020-03-24  7:35     ` Sascha Hauer
2020-03-24 16:21       ` Yegor Yefremov
2020-03-25  9:58         ` Sascha Hauer [this message]
2020-03-25 15:35           ` Yegor Yefremov
2020-03-25 15:36             ` Yegor Yefremov
2020-04-08 17:17               ` Yegor Yefremov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200325095803.GD27288@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=lst@pengutronix.de \
    --cc=yegorslists@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox