mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: "Stefan Müller-Klieser" <s.mueller-klieser@phytec.de>
Cc: barebox@lists.infradead.org
Subject: Re: [RFC 0/1] am335x kernel not booting
Date: Thu, 23 Jun 2016 13:44:40 +0200	[thread overview]
Message-ID: <20160623114440.GF20657@pengutronix.de> (raw)
In-Reply-To: <1466606944-22735-1-git-send-email-s.mueller-klieser@phytec.de>

On Wed, Jun 22, 2016 at 04:49:03PM +0200, Stefan Müller-Klieser wrote:
> Dear list,
> 
> this is more of a request for help, as I am not sure if my current
> analysis is correct. The problem I am having is that the kernel current
> master does not boot and fails with:
> 
> Error: unrecognized/unsupported machine ID (r1 = 0x00001030).
> 
> My setup is:
> phyBOARD-WEGA-AM335x
> kernel: master with multiv7/omap2plus defconfig
> barebox: master with phycore-am335x image
> 
> Git bisecting lead to the DEBUG_RODATA change, which is now turned on
> for arm and arm64. Google brought up this thread:
> 
> http://www.spinics.net/lists/arm-kernel/msg511355.html
> 
> Which brought me to the bootm.c in barebox to check if there is enough
> space for decompression. I found the assumption of a compression factor
> of 4 also in the barebox. What puzzles me is that this assumption still
> holds true even for DEBUG_RODATA, at least for my case, though.
> With DEBUG_RODATA turned on, the compression ratio went up from 2.9 to
> 3.5. So my guess is that the kernel is relocating and barebox does not
> account for this case.

No, the kernel does not relocate itself. The problem is that the kernel
overwrites the device tree while zeroing the bss segment.

We setup this:

|--- space for uncompressed image ---||-- compressed image --||-- oftree --|

After uncompressing the kernel clears bss and has this:

| ----- uncompressed image ----------||--------- bss -------------|

so bss overlaps the device tree.

> Additionally I found some recommendations in
> git/kernel/Documentation/arm/Booting which I think should be taken
> into consideration for barebox.

I have my problems with these recommendations. The recommendation is to
put the image 32MiB into RAM. a multi_v7_defconfig already builds a 18MiB
image, so it's forseeable that 32MiB won't last very long.

Then the recommendation for placing the device tree and initrd is 128MiB
into RAM which can become very tight when the initrd is big.

These recommendations are written with multigigabyte memories in mind
and completely ignore that there are still small systems with a total of
32MiB of RAM.


That said, I currently have no better idea than to follow these
recommendations and wait until we hit the wall.
Another way would be to supplement the kernel image with the information
how big it will be after decompression. I have a draft patch for that,
but it doesn't work properly yet.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 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

      parent reply	other threads:[~2016-06-23 11:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-22 14:49 Stefan Müller-Klieser
2016-06-22 14:49 ` [RFC 1/1] ARM: bootm: recalculate decompression space Stefan Müller-Klieser
2016-06-29  8:08   ` Sascha Hauer
2016-06-23 11:44 ` Sascha Hauer [this message]

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=20160623114440.GF20657@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    --cc=s.mueller-klieser@phytec.de \
    /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