ARM: mxs: tools: Use mkimage for BootStream generation

Now that mkimage can generate an BootStream for i.MX23 and i.MX28,
use the mkimage as a default tool to generate the BootStreams instead
of the elftosb tool. This cuts out another obscure dependency.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
master
Marek Vasut 11 years ago committed by Stefano Babic
parent 762a88ccf8
commit 6654f33c9b
  1. 11
      arch/arm/cpu/arm926ejs/mxs/Makefile
  2. 4
      arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg
  3. 4
      arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg
  4. 39
      doc/README.mxs

@ -25,14 +25,15 @@ $(LIB): $(OBJS)
$(call cmd_link_o_target, $(OBJS))
# Specify the target for use in elftosb call
ELFTOSB_TARGET-$(CONFIG_MX23) = imx23
ELFTOSB_TARGET-$(CONFIG_MX28) = imx28
MKIMAGE_TARGET-$(CONFIG_MX23) = mx23
MKIMAGE_TARGET-$(CONFIG_MX28) = mx28
$(OBJTREE)/u-boot.bd: $(SRCTREE)/$(CPUDIR)/$(SOC)/u-boot-$(ELFTOSB_TARGET-y).bd
$(OBJTREE)/mxsimage.cfg: $(SRCTREE)/$(CPUDIR)/$(SOC)/mxsimage.$(MKIMAGE_TARGET-y).cfg
sed "s@OBJTREE@$(OBJTREE)@g" $^ > $@
$(OBJTREE)/u-boot.sb: $(OBJTREE)/u-boot.bin $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/u-boot.bd
elftosb -zf $(ELFTOSB_TARGET-y) -c $(OBJTREE)/u-boot.bd -o $(OBJTREE)/u-boot.sb
$(OBJTREE)/u-boot.sb: $(OBJTREE)/u-boot.bin $(OBJTREE)/spl/u-boot-spl.bin $(OBJTREE)/mxsimage.cfg
$(OBJTREE)/tools/mkimage -n $(OBJTREE)/mxsimage.cfg -T mxsimage $@
#########################################################################

@ -1,6 +1,6 @@
SECTION 0x0 BOOTABLE
TAG LAST
LOAD 0x0 spl/u-boot-spl.bin
LOAD 0x0 OBJTREE/spl/u-boot-spl.bin
CALL 0x14 0x0
LOAD 0x40000100 u-boot.bin
LOAD 0x40000100 OBJTREE/u-boot.bin
CALL 0x40000100 0x0

@ -1,8 +1,8 @@
SECTION 0x0 BOOTABLE
TAG LAST
LOAD 0x0 spl/u-boot-spl.bin
LOAD 0x0 OBJTREE/spl/u-boot-spl.bin
LOAD IVT 0x8000 0x14
CALL HAB 0x8000 0x0
LOAD 0x40000100 u-boot.bin
LOAD 0x40000100 OBJTREE/u-boot.bin
LOAD IVT 0x8000 0x40000100
CALL HAB 0x8000 0x0

@ -27,9 +27,25 @@ Contents
1) Prerequisites
----------------
To make a MXS based board bootable, some tools are necessary. The first one is
the "elftosb" tool distributed by Freescale Semiconductor. The other one is the
"mxsboot" tool found in U-Boot source tree.
To make a MXS based board bootable, some tools are necessary. The only
mandatory tool is the "mxsboot" tool found in U-Boot source tree. The
tool is built automatically when compiling U-Boot for i.MX23 or i.MX28.
The production of BootStream image is handled via "mkimage", which is
also part of the U-Boot source tree. The "mkimage" requires OpenSSL
development libraries to be installed. In case of Debian and derivates,
this is installed by running:
$ sudo apt-get install libssl-dev
NOTE: The "elftosb" tool distributed by Freescale Semiconductor is no
longer necessary for general use of U-Boot on i.MX23 and i.MX28.
The mkimage supports generation of BootStream images encrypted
with a zero key, which is the vast majority of use-cases. In
case you do need to produce image encrypted with non-zero key
or other special features, please use the "elftosb" tool,
otherwise continue to section 2). The installation procedure of
the "elftosb" is outlined below:
Firstly, obtain the elftosb archive from the following location:
@ -63,11 +79,6 @@ copy the binary by hand:
Make sure the "elftosb" binary can be found in your $PATH, in this case this
means "/usr/local/bin/" has to be in your $PATH.
Install the 'libssl-dev' package as well. On a Debian-based distribution, this
package can be installed as follows:
$ sudo apt-get install libssl-dev
2) Compiling U-Boot for a MXS based board
-------------------------------------------
@ -112,6 +123,18 @@ The code produces "u-boot.sb" file. This file needs to be augmented with a
proper header to allow successful boot from SD or NAND. Adding the header is
discussed in the following chapters.
NOTE: The process that produces u-boot.sb uses the mkimage to generate the
BootStream. The BootStream is encrypted with zero key. In case you need
some special features of the BootStream and plan on using the "elftosb"
tool instead, the invocation to produce a compatible BootStream with the
one produced by mkimage is outlined below. For further details, refer to
the documentation bundled with the "elftosb" package.
$ elftosb -zf imx23 -c arch/arm/cpu/arm926ejs/mxs/u-boot-imx23.bd \
-o u-boot.sb
$ elftosb -zf imx28 -c arch/arm/cpu/arm926ejs/mxs/u-boot-imx28.bd \
-o u-boot.sb
3) Installation of U-Boot for a MXS based board to SD card
----------------------------------------------------------

Loading…
Cancel
Save