[ELDK] eldk 5.4 scratch build

Wolfgang Denk wd at denx.de
Mon Aug 12 10:33:11 CEST 2013


Dear Jeff,

In message <52086C03.4000902 at gmail.com> you wrote:
> 
> First, this is a great product that is a better fit for our company than 
> Angstrom/Yacto/etc --
> You've done a great work.

Thanks for the compliments!

> So, I decided to follow the FAQ and build everything from scratch and 
> add the recipes for a custom image.
> Then, 5.4 was released, so I reset my anchor to the new release and 
> built from scratch 5.4 according to the instructions.
> This went so smooth I could not believe it.

:-)

> Several images successfully completed building.
> I'm trying to figure out how to install this in the same manner as the 
> binaries were previously.
> I'm new to ELDK and so am unfamiliar with typical procedures.
> 
> I can't find any instructions on what to do after I've done the hard 
> part -- build all the images.
> Everything is sitting in /opt/eldk/build/2013-08-02-9a46fd5-armv5te/...
> and the OE stuff in $HOME/git/eldk/....
> 
> The documentation "ELDK Bulding" ends with successfully building several 
> images, which I've done. What's next?
> They reside where they should in their respective locations.

The build docs have a short reference at the very end:

	The results of the build can be found in the
	"tmp/deploy/images" resp. "tmp/deploy/sdk" directories.


> I'm confused as to how to use the work product like previous binary install.
> It ended up in /opt/eldk-5.3 (of course the latest stuff would go in 
> eldk-5.4, but how?).

There are two types of build results:

1) The root file system images - in "tmp/deploy/images":

   For a custom machine configuration, you would find here
   ready-to-use images, for exaple to be burned directly into flash,
   or to be written on a SDCard.  With the generic approach we take in
   the ELDK (to support a wide range of boards with a single
   configuration), we generate only tarballs.  To use them, you just
   have to unpack these images (as root, as they contain device
   special files and other things that require root privieldges for
   creation).

   For example, you could run:

   $ sudo mkdir -p /opt/eldk-5.4/armv5te/rootfs-minimal-mtdutils
   $ cd /opt/eldk-5.4/armv5te/rootfs-minimal-mtdutils
   $ sudo tar xpf /opt/eldk/build/2013-08-02-9a46fd5-armv5te/tmp/deploy/images/core-image-minimal-mtdutils-generic-armv5te.tar.gz

2) the SDK images with the cross tools - in "tmp/deploy/sdk":

   These are self-extracting shell archives, so for example to install
   the QtE development tools you could run:

   $ sh /opt/eldk/build/2013-08-02-9a46fd5-armv5te/tmp/deploy/sdk/eldk-eglibc-i686-arm-toolchain-qte-5.3.sh

> What am I missing? and install script?? or more instruction that I 
> missed reading??

This is the other option - instead of doing everything manually, you
can use the install script provided in the source tree, see the files
in the  meta-eldk/tools/installer/  directory.

I use something like this to prepare thecontents of the FTP directory,
i. e. a directory structure suitable for packaging on CDROM / DVD and
for running the "install.sh" script from it:


    set release version

    -> VERSION=5.4
         

    Create directories and populate with utilities

    -> mkdir -p /srv/ftp/pub/eldk/${VERSION}
    -> cd ~/git/eldk/meta-eldk/tools/installer
    -> find * | cpio -vBpdum /srv/ftp/pub/eldk/${VERSION}/
         

    Change to build directory:

    -> cd /opt/eldk/build/eldk-rel-v5.4-2013-08-02-9a46fd5-powerpc
         

    Copy RFS images:

    -> ARCH=powerpc

    -> cp -vp tmp/deploy/images/core-*${ARCH}.tar.* \
       /srv/ftp/pub/eldk/${VERSION}/targets/${ARCH}/
         

    Copy SDK images:

    -> cp -vp tmp/deploy/sdk/eldk-eglibc-i686-*-toolchain-* \
       /srv/ftp/pub/eldk/${VERSION}/targets/${ARCH}/
         

 Generate Checksums

    For the install script:

    -> cd /srv/ftp/pub/eldk/${VERSION}
    -> sha256sum README install.sh >install.sha256
         

    For the target specific files:

    -> cd /srv/ftp/pub/eldk/${VERSION}
    -> D=`pwd` ; cd $D/targets
    -> for i in * ; do
       cd $i && ( pwd ; sha256sum *.tar* *.sh *.conf >$i.sha256 ; cat $i.sha256 )
       cd $D/targets
    done
         

Generate ISO images:

    $ cd /srv/ftp/pub/eldk/${VERSION}
    $ mkdir iso
    $ for i in \
            armv4t \
            armv5te \
            armv6 \
            armv7a \
            armv7a-hf \
            mips \
       powerpc \
            powerpc-4xx \
            powerpc-4xx-softfloat \
       powerpc-e500v2 \
            powerpc-softfloat \
    ; do
      ~/git/eldk/meta-eldk/tools/eldk-mkiso.sh iso/eldk-${VERSION}-$i.iso $i
    done
         
    Create checksums:

    $ cd /srv/ftp/pub/eldk/${VERSION}/iso
    $ sha256sum *.iso >iso.sha256
         

Hope this helps.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The X11 source code style is ATROCIOUS and should not be used  as  a
model."                                                   - Doug Gwyn


More information about the eldk mailing list