[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: build emdebian wheezy for a custom target

On Wed, 8 May 2013 10:09:01 -0400
"Allen Pulsifer" <apulsifer@apache.org> wrote:

> I'm embarking on a project to build emdebian wheezy

There is no Emdebian Wheezy. There is Emdebian Grip wheezy but that
only supports i386, amd64, mips, mipsel, armel, armhf & powerpc.
Emdebian Grip is not built, it is "processed" - the only Emdebian
flavour which did build things was Crush.

There is Debian Wheezy but cross-building support in Wheezy is reliant
on dpkg-cross & xapt. A number of packages in Debian Wheezy do not
cross-compile at all.

> for a custom embedded
> target.  The build has to be cross-compiled using a custom toolchain for a
> custom architecture.  The build process will therefore requiring download
> the source code for all software, cross-compiling with the custom toolchain,
> and then packaging it up into a root filesystem.

You will need to make modifications to an unknown number of packages to
get them to cross-compile, so the sources will need to be in some form
of local VCS.

Once built, the binary packages need to be uploaded to a local
repository managed by reprepro.
> Is this something that multistrap can handle from start to finish

Absolutely not. Multistrap works from binary repositories of packages
which must be ready to install on the target without source

>, or do I
> first have to download all the source packages, port them to my custom
> architecture, repackage them, and then hand them over to multistrap?  Would
> someone be able to point me to any How-To's or examples of this type of
> build, especially any that include the necessary config files and/or shell
> scripts?

Emdebian Crush - i.e. it is *HARD* and will likely take vastly more
time than you expect.

You are also bootstrapping, so you may need build-profiles which are
not implemented in Wheezy at all. So you will end up with circular
build - runtime dependencies which you will have to break manually.

If this really is an architecture to which these packages have not been
previously ported, I would conservatively estimate the time required in
months, assuming an input of 20-30 hours a week. That is just to get a
basic bootstrap to the point where the system can boot.

Multistrap is the tiniest, tiniest part of that. It can do about 0.001%
of the work you need for this task. The rest is more akin to Crush, the
tools used for Crush are out of date, the mechanisms used for Crush no
longer operate and the changes you need to make to get things to work
are all new and largely undiscovered.


Neil Williams

Attachment: pgpYO83Gn9wYl.pgp
Description: PGP signature

Reply to: