Re: build emdebian wheezy for a custom target

Neil Williams <[email protected]>
Newsgroups gmane.linux.debian.devel.embedded
Message-ID <[email protected]>
On Wed, 8 May 2013 10:09:01 -0400
"Allen Pulsifer" <[email protected]> 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
modification.

>, 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
=============
http://www.linux.codehelp.co.uk/
signature.asc (application/pgp-signature, 836 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJRimF1AAoJEPFn5DyBQ7aCoxMP/A0S80B9+EbStklViN6hclah
a6y2F2/6H5m/LYYAcd9RYLIKh8fuAJ1gWfMuqO121LghEPrpCQruYTdXrkue6q1T
HE5KpdYzMaKzRD7FiS5Zv4R2KjaLWOVhN3KMHp9R1ln4yPbc8kZ7ecVRYW8o/Zb1
QHs9+xrsVFW2bVTjwPVckyqb7jz/mBAO4bCAkJ/fonc5bTBJ1P0spI9UCoxwg6m8
/SOUVZVh0hcxhCTiCAv363n3fV6N3OdL3CxqTNCHzQ2UOEAEaK/vxGRPuuIgZhg+
RduujA7xKR3ZrhcbrF9NgfKFyGRWOhzMp28I8RrFq36DwXJDNcLUbR2eYOeZGHHI
IYxvqazvTavUV6xHEJjnGKFEMWlbcfJvkcNuBVhGtFkkaVtXF8jn8wanRrlWZzRM
Bm1JIrFkEGoftaR2HD3dX/KHXtXJ0r7O+ik5pMnV0G9uZBqiOOZnu1IA3Uc35EX/
FD+8S5Ln5s72cWOqigs+CPvnKK+Ptdu3HyO1Rqw5pUAepz8l7k6z02tZjK0IXcB8
+DuTGy+Cj7xaFtAOBy9VC7OFkK9GWE0ty8NjqqQbQCEWxA0PTa92ArGDShD2Hvng
ME38P3XYpEZUx00wqsQCskCrgoMbZhJwvVTZNLxmYOnIhDVOaLve85ZlDsdTzGc3
d0dFFwHNUlCEtxTn+jWz
=/zOF
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.