[Pkg-mono-devel] Packaging Mono for arm

Weeble clockworksaint at gmail.com
Mon Feb 28 16:53:21 UTC 2011


Hi. If this is the right place to ask, could anyone tell me:

1. How you go about building the Mono packages for ARM devices? Do you
use a cross-compiler, or do you just do it on an ARM device itself?
2. By what process does code in Mono's git repository make its way
into packages? Is it only when Mono makes a release, or at other times
as well?

Some background:

I'm working on software that runs on a Sheevaplug using mono. At
present we have Debian Squeeze installed on the Sheevaplugs, and
mono-2.6.7 from the Squeeze repository. I found a bug in Mono,
diagnosed it and provided reports to the Mono project. It has now been
fixed in git in the mono-2-6, mono-2-10 and master branches. I have
fetched the source from their mono-2-6 branch and built it using
Scratchbox 2 and a cross-compiler toolchain from Code Sourcery, and it
was pretty messy and painful. I couldn't get the managed code to build
in Scratchbox, so I needed to do an x86 build, install that onto the
ARM device (yuck!) then an ARM cross-compile of only the native parts,
and finally install that on the ARM device on top of the x86
installation. With that I was able to verify that the fix worked.
However, I don't trust this horrid process as a way for deploying Mono
onto the Sheevaplugs that are going to run my software in production.
With that in mind, I'm interested in two things - how and when those
fixes might make it into Debian's mono package, and also how I can
make my own custom Mono package for installation on the production
devices.

I figured that a good first step would be to "apt-get source mono" and
try to run dpkg-buildpackage to target an ARM device, with the idea
that later on I could repeat this process instead using the latest
code from the mono-2-6 git branch and the appropriate Debian patches.
(I'm still a bit fuzzy on a lot of the packaging process, but one step
at a time.) Unfortunately, I'm really not too sure how to do a
cross-compile for this. I think I want a command-line something like
this:

dpkg-buildpackage -aarmel -tarm-linux-gnueabi

...but I don't know if I need to run this in Scratchbox or if there's
some clean way to do this without Scratchbox. I certainly haven't
gotten very far yet.

Thanks for your time,

Weeble.



More information about the Pkg-mono-devel mailing list