mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* reimplement bootm support
@ 2011-12-15 10:30 Sascha Hauer
  2011-12-15 10:30 ` [PATCH 01/12] oftree: add of_fix_tree() Sascha Hauer
                   ` (12 more replies)
  0 siblings, 13 replies; 25+ messages in thread
From: Sascha Hauer @ 2011-12-15 10:30 UTC (permalink / raw)
  To: barebox

The following series reimplements bootm. bootm now can handle
all kinds of images and becomes the single point of booting.

The simplest case for booting an image still is:

bootm <image>

With image being a uImage, or, if the architecture supports
it, a zImage, a raw image or a barebox image.

the bootm implementation also supports initrds and oftrees in
uImage or native format. An example for booting with initrd
and oftree is:

bootm -r uImage.initrd -o uImage.oftree uImage.kernel
bootm -r initrd.lzo -o oftree.dtb zImage

or:

bootm -r uImage.multi@1 -o uImage.multi@2 uImage.multi@0

for multifile uImages.

uImages have a hardcoded load address which does work for
multi SoC kernel images with different SDRAM addresses. For
this reason this implementation interprets a load address
of 0xffffffff as "let the handler decide". If the handlers
decision is wrong then the load address can be forced with
-a <address>

Unlike the old implementation this one uses the resource mechanism
to make sure that the images are really loaded to SDRAM and that
the images do not overlap with either other images or parts
of barebox.

All this is based on a new uImage implementation which provides
a simple API for loading and checking uImages.

This API is also used to implement a new 'uimage' command which
superseeds the iminfo command. Unlike iminfo uimage can also
be used for extracting and verifying images.

The arm 'bootz' and 'bootu' commands are not necessary anymore
but kept in the tree for now.

Here is a complete list of options for the bootm command:

Usage: bootm [OPTIONS] image
Boot an application image.
-c      crc check uImage data
-r <initrd>     specify an initrd image
-L <load addr>  specify initrd load address
-a <load addr>  specify os load address
-e <ofs>        entry point to the image relative to start (0)
-o <oftree>     specify oftree
-v      verbose

Sascha


Sascha Hauer (12):
      oftree: add of_fix_tree()
      filetype: Add oftree detection
      uncompress: implement uncompress_fd_to_buf
      libbb: add read_full/write_full functions
      ARM: call start_linux directly with initrd start/size and oftree
      reimplement uImage code
      bootm: use new uimage code
      add uimage command
      remove now obsolete iminfo command
      remove now unused uImage code
      move code now only used in mkimage to mkimage
      defaultenv: simplify boot

 arch/arm/boards/at91rm9200ek/env/config           |    5 -
 arch/arm/boards/at91sam9261ek/env/config          |    5 -
 arch/arm/boards/at91sam9263ek/env/config          |    5 -
 arch/arm/boards/at91sam9m10g45ek/env/config       |    5 -
 arch/arm/boards/chumby_falconwing/env/bin/boot    |    9 +-
 arch/arm/boards/chumby_falconwing/env/config      |    2 -
 arch/arm/boards/dss11/env/config                  |    5 -
 arch/arm/boards/eukrea_cpuimx25/env/config        |    1 -
 arch/arm/boards/eukrea_cpuimx35/env/config        |    1 -
 arch/arm/boards/eukrea_cpuimx51/env/config        |    1 -
 arch/arm/boards/freescale-mx35-3-stack/env/config |    5 -
 arch/arm/boards/freescale-mx51-pdk/env/config     |    5 -
 arch/arm/boards/freescale-mx53-loco/env/config    |    5 -
 arch/arm/boards/freescale-mx53-smd/env/config     |    5 -
 arch/arm/boards/guf-cupid/env/config              |    5 -
 arch/arm/boards/guf-neso/env/config               |    5 -
 arch/arm/boards/karo-tx25/env/config              |    5 -
 arch/arm/boards/karo-tx28/env/config              |    5 -
 arch/arm/boards/mini2440/env/config               |    5 -
 arch/arm/boards/nhk8815/env/config                |    5 -
 arch/arm/boards/panda/env/config                  |    5 -
 arch/arm/boards/pcm037/env/config                 |    5 -
 arch/arm/boards/pcm038/env/config                 |    5 -
 arch/arm/boards/pcm043/env/config                 |    5 -
 arch/arm/boards/pcm049/env/config                 |    5 -
 arch/arm/boards/phycard-i.MX27/env/config         |    5 -
 arch/arm/boards/pm9261/env/config                 |    5 -
 arch/arm/boards/pm9g45/env/config                 |    5 -
 arch/arm/boards/scb9328/env/config                |    5 -
 arch/arm/boards/usb-a926x/env/config              |    5 -
 arch/arm/boards/versatile/env/config              |    5 -
 arch/arm/include/asm/armlinux.h                   |    3 +-
 arch/arm/lib/armlinux.c                           |   20 +-
 arch/arm/lib/bootm.c                              |  221 +++++++++-
 arch/arm/lib/bootu.c                              |    8 +-
 arch/arm/lib/bootz.c                              |    7 +-
 arch/blackfin/lib/blackfin_linux.c                |   12 +-
 arch/nios2/boards/generic/env/config              |    1 -
 arch/nios2/lib/bootm.c                            |   11 +-
 arch/ppc/lib/ppclinux.c                           |   16 +-
 commands/Kconfig                                  |   28 +-
 commands/Makefile                                 |    2 +-
 commands/bootm.c                                  |  451 +++++++++++++-----
 commands/iminfo.c                                 |   71 ---
 commands/uimage.c                                 |  108 +++++
 common/Makefile                                   |    1 +
 common/filetype.c                                 |    3 +
 common/image.c                                    |  287 ------------
 common/oftree.c                                   |   22 +-
 common/uimage.c                                   |  505 +++++++++++++++++++++
 defaultenv/bin/boot                               |   43 +--
 defaultenv/config                                 |    5 -
 include/boot.h                                    |   62 +++-
 include/filetype.h                                |    1 +
 include/image.h                                   |  155 ++------
 include/libbb.h                                   |    3 +
 include/of.h                                      |    1 +
 lib/libbb.c                                       |   50 ++
 lib/uncompress.c                                  |    8 +
 scripts/mkimage.c                                 |  240 ++++++++++
 60 files changed, 1629 insertions(+), 860 deletions(-)
 delete mode 100644 commands/iminfo.c
 create mode 100644 commands/uimage.c
 create mode 100644 common/uimage.c

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2012-01-02 11:49 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-15 10:30 reimplement bootm support Sascha Hauer
2011-12-15 10:30 ` [PATCH 01/12] oftree: add of_fix_tree() Sascha Hauer
2011-12-18 13:07   ` *** PROBABLY SPAM *** " Jean-Christophe PLAGNIOL-VILLARD
2011-12-19 10:31     ` Sascha Hauer
2011-12-20 14:03       ` Jean-Christophe PLAGNIOL-VILLARD
2011-12-23 17:14         ` Sascha Hauer
2011-12-25  6:09           ` Jean-Christophe PLAGNIOL-VILLARD
2012-01-02 11:49             ` Sascha Hauer
2011-12-15 10:30 ` [PATCH 02/12] filetype: Add oftree detection Sascha Hauer
2011-12-15 10:30 ` [PATCH 03/12] uncompress: implement uncompress_fd_to_buf Sascha Hauer
2011-12-15 10:30 ` [PATCH 04/12] libbb: add read_full/write_full functions Sascha Hauer
2011-12-15 10:30 ` [PATCH 05/12] ARM: call start_linux directly with initrd start/size and oftree Sascha Hauer
2011-12-15 10:30 ` [PATCH 06/12] reimplement uImage code Sascha Hauer
2011-12-15 13:33   ` *** PROBABLY SPAM *** " Jean-Christophe PLAGNIOL-VILLARD
2011-12-15 15:27     ` Sascha Hauer
2011-12-15 16:20       ` Jean-Christophe PLAGNIOL-VILLARD
2011-12-15 16:39         ` Sascha Hauer
2011-12-15 10:30 ` [PATCH 07/12] bootm: use new uimage code Sascha Hauer
2011-12-15 10:30 ` [PATCH 08/12] add uimage command Sascha Hauer
2011-12-15 10:30 ` [PATCH 09/12] remove now obsolete iminfo command Sascha Hauer
2011-12-15 10:30 ` [PATCH 10/12] remove now unused uImage code Sascha Hauer
2011-12-15 10:30 ` [PATCH 11/12] move code now only used in mkimage to mkimage Sascha Hauer
2011-12-15 10:30 ` [PATCH 12/12] defaultenv: simplify boot Sascha Hauer
2011-12-15 13:37 ` *** PROBABLY SPAM *** reimplement bootm support Jean-Christophe PLAGNIOL-VILLARD
2011-12-15 14:47   ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox