Am Dienstag, 3. August 2010, um 23:52:50 schrieb Marc Kleine-Budde:
> Hey Stephan,
>
> Stephan Linz wrote:
> > x-load is a first level bootloader for Texas Intruments OMAP
> > microprocessors (similar to the AT91Bootstrap application).
> >
> > This bootstrap package is required on TI OMAP boards where
> > dataflash/nandflash or USB/RS232 is used to boot from. In
> > any of these cases the internal bootROM of the OMAP core is
> > used to boot the board with.
>
> thanks for the patch. Please explain how to get the source, maybe we can
> figure out a nice way to automate things.
>
> Some somments inline...
>
> > Signed-off-by: Stephan Linz <l...@li-pro.net>
> > ---
> >  platforms/x-load.in |   60 ++++++++++++++++++++++++++++++++++
> >  rules/x-load.make   |   89
> > +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 149
> > insertions(+), 0 deletions(-)
> >  create mode 100644 platforms/x-load.in
> >  create mode 100644 rules/x-load.make
> >
> > diff --git a/platforms/x-load.in b/platforms/x-load.in
> > new file mode 100644
> > index 0000000..9b0003f
> > --- /dev/null
> > +++ b/platforms/x-load.in
> > @@ -0,0 +1,60 @@
> > +## SECTION=bootloader
> > +
> > +menuconfig X_LOAD
> > +   bool
> > +   depends on ARCH_ARM_OMAP
> > +   prompt "TI X-Loader                   "
> > +   help
> > +     The X-Loader is a first level bootloader for Texas Intruments OMAP
> > +     microprocessors (similar to the AT91Bootstrap application). It is
> > +     used for booting these microprocessors from NAND-flash, MMC/SD-card,
> > +     USB or serial interfaces.
> > +
> > +if X_LOAD
> > +
> > +comment "------------------------- Notice -------------------------"
> > +comment "The X-Loader source tree was never released as download"
> > +comment "archive. As long as that fact exists you have to store"
> > +comment "a build tree inside your ptxdist project root at:"
> > +comment "${PTXDIST_WORKSPACE}/local_src/x-load-${X_LOAD_VERSION}"
> > +comment "----------------------------------------------------------"
>
> Where to get the sources from, then?

see answer in my previous email...

>
> > +
> > +config X_LOAD_VERSION
> > +   string
> > +   default 1.4.2-dirty
>
>                      ^^^^^^
>
> is this intentionally?

Oops, I'll chnage to latest version 1.4.4ss I've used ...

>
> > +   prompt "X-Loader version"
> > +   help
> > +     Enter the X-Loader version you want to build. Usally something like
> > "1.4.2" +
> > +config X_LOAD_SERIES
>
> please remove this, a single series file would proably enough
> (I know, you probably copied it from u-boot)

OK, I do so ...

>
> > +   prompt "patch series file"
> > +   string
> > +   default "series${PTXDIST_PLATFORMSUFFIX}"
> > +   help
> > +     This entry specifies a patch series file which has to live in
> > +     the kernel patches directory:
> > +
> > +     The series file contains lines with names of patch files which
> > +     are then being applied to the kernel.
> > +
> > +config X_LOAD_CONFIG
> > +   string
> > +   prompt "X-Loader config target"
> > +   help
> > +     The X-Loader make config target. Usually something like
> > +     "yourbox_config". See X-Loader's main Makefile for possible
> > +     configuration targets.
> > +
> > +config X_LOAD_MAKE_IFT
> > +   bool
> > +   prompt "Generate signed IFT file"
> > +   help
> > +     When this option is enabled, a so-called IFT file is generated. You
> > +     need a X-Loader source tree that supports this. This must know about
> > +     the make target 'ift' so ptxdist can do the following: "make ift".
> > +
> > +     In details you will need the tool signGP from
> > +     http://beagleboard.googlecode.com/files/signGP.c
> > +
> > +endif
> > +
> > diff --git a/rules/x-load.make b/rules/x-load.make
> > new file mode 100644
> > index 0000000..69daea9
> > --- /dev/null
> > +++ b/rules/x-load.make
> > @@ -0,0 +1,89 @@
> > +# -*-makefile-*-
> > +#
> > +# Copyright (C) 2010 by Stephan Linz
> > +#
> > +# See CREDITS for details about who has contributed to this project.
> > +#
> > +# For further information about the PTXdist project and license
> > conditions +# see the README file.
> > +#
> > +
> > +#
> > +# We provide this package
> > +#
> > +PACKAGES-$(PTXCONF_X_LOAD) += x-load
> > +
> > +#
> > +# Paths and names
> > +#
> > +X_LOAD_VERSION     := $(call remove_quotes,$(PTXCONF_X_LOAD_VERSION))
> > +X_LOAD             := x-load-$(X_LOAD_VERSION)
> > +X_LOAD_URL := file://$(PTXDIST_WORKSPACE)/local_src/$(X_LOAD)
> > +X_LOAD_SOURCE      := $(SRCDIR)/$(X_LOAD)
> > +## not yet ## X_LOAD_SUFFIX        := tar.bz2
> > +## not yet ## X_LOAD_URL   :=
> > http://__SERVER__/__PATH_TO__/$(X_LOAD).$(X_LOAD_SUFFIX) +## not yet ##
> > X_LOAD_SOURCE       := $(SRCDIR)/$(X_LOAD).$(X_LOAD_SUFFIX) +X_LOAD_DIR     
> > :=
> > $(BUILDDIR)/$(X_LOAD)
> > +
> > +#
> > -------------------------------------------------------------------------
> >--- +# Get
> > +#
> > -------------------------------------------------------------------------
> >--- +
> > +$(X_LOAD_SOURCE):
> > +   @$(call targetinfo)
> > +   @$(call get, X_LOAD)
> > +
> > +#
> > -------------------------------------------------------------------------
> >--- +# Prepare
> > +#
> > -------------------------------------------------------------------------
> >--- +
> > +X_LOAD_PATH        := PATH=$(CROSS_PATH)
>
> _PATH is obsolete, please remove
>
> > +X_LOAD_MAKE_OPT    := CROSS_COMPILE=$(BOOTLOADER_CROSS_COMPILE)
> > HOSTCC=$(HOSTCC) +X_LOAD_MAKE_PAR   := NO
> > +
> > +ifdef PTXCONF_X_LOAD_MAKE_IFT
> > +X_LOAD_MAKE_OPT    += ift
> > +endif
> > +
> > +$(STATEDIR)/x-load.prepare:
> > +   @$(call targetinfo)
> > +   cd $(X_LOAD_DIR) && \
> > +           $(X_LOAD_PATH) \
> > +           $(MAKE) $(X_LOAD_MAKE_OPT) $(PTXCONF_X_LOAD_CONFIG)
>
>                         ^^^^^^^^^^^^^^^^^^
>
> hmmm...does a "make ift" compile anything? in the prepare stage nothing
> should be compiled.

'make ift' compiles the x-load.bin file and from this a so named "signed image" 
x-load.bin.ift

Without PTXCONF_X_LOAD_MAKE_IFT set make compiles only the bin file.

But I see your questioning eyes. I should use $(STATEDIR)/@pack...@.compile: 
not $(STATEDIR)/@pack...@.prepare:

right?

>
> > +   @$(call touch)
> > +
> > +#
> > -------------------------------------------------------------------------
> >--- +# Install
> > +#
> > -------------------------------------------------------------------------
> >--- +
> > +$(STATEDIR)/x-load.install:
> > +   @$(call targetinfo)
> > +   @$(call touch)
> > +
> > +#
> > -------------------------------------------------------------------------
> >--- +# Target-Install
> > +#
> > -------------------------------------------------------------------------
> >--- +
> > +$(STATEDIR)/x-load.targetinstall:
> > +   @$(call targetinfo)
> > +   @install -D -m644 $(X_LOAD_DIR)/x-load.bin $(IMAGEDIR)/x-load.bin
> > +ifdef PTXCONF_X_LOAD_MAKE_IFT
> > +   @install -D -m644 $(X_LOAD_DIR)/x-load.bin.ift
> > $(IMAGEDIR)/x-load.bin.ift +        @install -D -m644
> > $(X_LOAD_DIR)/x-load.bin.ift $(IMAGEDIR)/MLO +endif
> > +   @$(call touch)
> > +
> > +#
> > -------------------------------------------------------------------------
> >--- +# Clean
> > +#
> > -------------------------------------------------------------------------
> >--- +
> > +x-load_clean:
>
>    ^^^^^^^^^^^^
> call this target please:
>
> $(STATEDIR)/x-load.clean:

I do so ...

> > +   @$(call targetinfo)
> > +   @$(call clean_pkg, X_LOAD)
> > +   @rm -rf $(IMAGEDIR)/x-load.bin
> > +ifdef PTXCONF_X_LOAD_MAKE_IFT
> > +   @rm -rf $(IMAGEDIR)/x-load.bin.ift
> > +   @rm -rf $(IMAGEDIR)/MLO
> > +endif
>
> just put all three in one line, the ifdef can be removed. "rm -f" will
> not complain it a file doesn't exist.

I do so ...

>
> > +
> > +# vim: syntax=make
>
> cheers, Marc


-- 
Viele Grüße,
Stephan Linz
______________________________________________________________________________
OpenDCC: http://www.li-pro.net/opendcc.phtml
PC/M: http://www.li-pro.net/pcm.phtml
CDK4AVR: http://cdk4avr.sourceforge.net/
CDK4NIOS: http://cdk4nios.sourceforge.net/
CDK4MSP: http://cdk4msp.sourceforge.net/
CPM4L: http://download.opensuse.org/repositories/home:/rexut:/CPM4L

-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to