*** PROBABLY SPAM *** reimplement bootm support
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Thu Dec 15 08:37:13 EST 2011
HI,
can you put on a git somewhere
Best Regards,
J.
On 11:30 Thu 15 Dec , Sascha Hauer wrote:
> 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 at 1 -o uImage.multi at 2 uImage.multi at 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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
More information about the barebox
mailing list