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

Re: Build of powerpcspe port



On Mar 16, 2011, at 10:32, David Kuehling wrote:
>> We're evaluating to build an embedded system on powerpc e500v2
>> (=powerpcspe) architecture. We made some tests using binary powerpcspe
>> sid from debian-ports (http://wiki.debian.org/PowerPCSPEPort) and
>> would like to proceed. Actually our major concern is that the actual
>> powerpcspe port is based on sid/unstable which is no good base for a
>> commercial product.
> 
>> For this reason we want to try to build the a powerpcspe port from
>> source based on a stable debian release (e.g. squeeze) and i'm looking
>> for some hints to get started. Can someone please give me some hints
>> on how to (cross)build the debian packages? I'm pretty sure that there
>> exists a simple debian command which will work for most of the
>> packages.
> 
>> We could assume that a properly configured cross-compiler is
>> available, e.g. we use "make ARCH=powerpc
>> CROSS_COMPILE=/opt/codesourcery/bin/powerpc-linux-gnu-" to build the
>> kernel. Otherwise any hints on dealing with cross compiling are also
>> welcome.
> 
> I don't think that a full debian base-system can be easily build using
> cross-compilation.  As far as I understand, the usual way to port debian
> is to setup a build system and then proceed natively building all
> packages.

Exactly right.  Debian packages (at least right now) do not reliably build from a cross-compile environment, most of them *MUST* be built on a native system.  The "Emdebian" project does cross compiling for some limited subset of packages on a few architectures, and even then they have thousands of patches to make it work at all.

Furthermore, you can't reasonably crossbuild *any* Debian packages with anything other than an "official" Debian-built cross-compiler.  The CodeSourcery tools include their own libgcc and libc with their own set of default compiler options; they are probably not directly compatible with Debian.

Finally, it's entirely possible that the released CodeSourcery tools still have the GCC floating-point bug that was just recently fixed upstream.


> I don't think that you will be successful building squeeze from scratch
> for powerpcspe.  Some packages need patches to properly build on
> powerpcspe (i think that even includes libc6).  Those packages are not
> even in 'unstable' but in 'unreleased'.

This is also correct.  Now that "wheezy" is opened up we plan to submit patches from "unreleased" and get them merged into "unstable" (and from there to "wheezy/testing"), but there are too many packages that will probably never be fixed in "squeeze".

For example, the GCC sources currently in squeeze have a rather severe floating point register bug on PowerPC e500v2.


> By the way I'm going to use debian-powerpcspe for an embedded system,
> too.  Already set up a pretty usable build systems on a p2020rdb, based
> on debian-ports sid+unreleased.

I'm glad to know there's others who care about Debian on e500 out there :-D.


> I usually CC them when posting about powerpcspe-specific issues.  Maybe
> they can shed some light on how things are stabilizing, and where help
> is needed (i'd be able to spend a few days per month on ppcspe).
> 
> You know, the best way to make it more stable is to use it, report
> problems, and contribute patches :)

I'm working on the port intermittently right now; my big task at the moment is getting our kernel and U-Boot patches upstream, then I need to roll "official" Debian kernel images.

Once that is done I need to see how many other patches I can get upstreamed from "unreleased", then try to make an "official" Debian-Installer release.

Let me know if you have anything in particular you'd like to work on, I'll give what advice I can!

Cheers,
Kyle Moffett

Reply to: