public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Wandboard: u-boot.img is getting too large
Date: Tue, 5 Jul 2016 04:54:52 +0000	[thread overview]
Message-ID: <1467694422.3144.32.camel@synopsys.com> (raw)

Hello,

Recently I started to notice that u-boot.img built for Wandboard
by some toolchains becomes so large that it basically overlaps with
U-Boot environment area on SD-card.

According to?http://wiki.wandboard.org/index.php/Boot-process#sdcard_boot_data_layout
Wandboard's SD-card layout is as follows:
------------------------------>8---------------------------
# ?Offset (hex) (dec) ? Description
==========================================================
1. 0x00000000		Reserved For MBR
2. 0x00000200	512	Secondary Image Table (optional)
3. 0x00000400	1024	uBoot Image (Starting From IVT)
4. 0x00060000	393216	start of uboot env (size:8k)
5. 0x00062000		end of uboot env
6. 0x00100000	1048576	Linux kernel start
7. 0x0076AC00	7777280	start of partition 1
------------------------------>8---------------------------

So for U-Boot we have 383kB (392192 bytes).

But in up to date U-Boot for Wandboard we build separately
?a) SPL
?b) u-boot.img

which gives us a bit more detailed SD-card layout:
------------------------------>8---------------------------
# ?Offset (hex) (dec) ? Description
==========================
================================
1. 0x00000000		Reserved For MBR
2. 0x00000200	512	Secondary
Image Table (optional)
3. 0x00000400	1024	SPL
4. 0x00011400 ? 70656	u-boot.img
5. 0x00060000	39
3216	start of uboot env (size:8k)
6. 0x00062000		end of uboot env
...
------------------------------
>8---------------------------

From that layout we may calculate amount of space reserved for u-boot.img.
It's just 315kb (322560 bytes).

Now if I build U-Boot with?Sourcery CodeBench ARM 2014.05 produced u-boot.img
is already more than we expected (323840 bytes instead of "< 322560"):
------------------------------>8---------------------------
ls -la u-boot.img?
-rw-rw-r-- 1 user user 323840 Jul??5 07:38 u-boot.img
------------------------------>8---------------------------

Funny enough if I rebuild U-Boot with ARM toolchain available in
my Fedora 23 distro u-boot.img becomes a little bit smaller:
------------------------------>8---------------------------
ls -la u-boot.img?
-rw-rw-r-- 1 user user 322216 Jul??5 07:39 u-boot.img
------------------------------>8---------------------------

What's worse this problem might not affect people most of the time
because what happens people would just copy u-boot.img on SD-card and live
in happiness with it... well until somebody attempts to save environment
in U-Boot with "saveenv" command which will simply overwrite the very end of
u-boot.img. That will lead to unusable SD-card until user dd u-boot.img on
SD-card again.

I may foresee this issue in the future to become more visible once we add more
features in U-Boot for Wandboard or just existing code base becomes bulkier and
people will consistently get larger u-boot.img files produced.

IMHO there's an obvious solution for all that - just move U-Boot's env for say
another 300-400k above like that:
------------------------------>8---------------------------
diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h
index 99f5c0c..e39583c 100644
--- a/include/configs/wandboard.h
+++ b/include/configs/wandboard.h
@@ -181,7 +181,7 @@
?#define CONFIG_ENV_SIZE????????????????????????(8 * 1024)
?
?#define CONFIG_ENV_IS_IN_MMC
-#define CONFIG_ENV_OFFSET??????????????(6 * 64 * 1024)
+#define CONFIG_ENV_OFFSET??????????????(2 * 6 * 64 * 1024)
?#define CONFIG_SYS_MMC_ENV_DEV?????????0
?
?#endif
------------------------------>8---------------------------

That might introduce incompatibility issues for those who used to modify
default environment but given nobody noticed the problem in question it
looks like there're not many of them.

Any thoughts are more than welcome.

-Alexey

             reply	other threads:[~2016-07-05  4:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-05  4:54 Alexey Brodkin [this message]
2016-07-05  6:11 ` [U-Boot] Wandboard: u-boot.img is getting too large Wolfgang Denk
2016-07-05  6:19   ` Alexey Brodkin
2016-07-05 11:49 ` Fabio Estevam
2016-07-05 15:17   ` Tom Rini

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=1467694422.3144.32.camel@synopsys.com \
    --to=alexey.brodkin@synopsys.com \
    --cc=u-boot@lists.denx.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