On Fri, 2010-12-17 at 12:20 +0000, Andrew Stubbs wrote:
- Right now I do not have access to board. I think probably I can use
QEMU for simulating my hardware.
Yes, I expect so, but it won't be fast!
Does the kernel not have a VFP emulation mode that might make the existing binaries work on your netbook, at least well enough for bootstrapping purposes? Just a thought ... it might be better than QEMU?
Yes, my kernel right now doesnot support VFP at all.
- Compiling each package individually will be a long process. I wonder
if Ubuntu has something like ALIP (ARM linux internet platform), which can be readily used with scratchbox.
That would be nice, but I don't know of such a thing, and would it work for builds in a custom environment?
ALIP is a bit tricky thing, but if you understand their build process, its very easy to customize it. Right now i use its v7 without vfp variant.
Anyway, here's another top-tip: use distcc. This is a tool that gives you a 'virtual' compiler. It does all the preprocessing and linking using the native tools (in QEMU, in your case), but sends the preprocessed source to a distcc server on another machine for the actual compilation job.
The distcc server can be another ARM machine, but equally it can be a PC with a suitable ARM cross compiler.
You can set up multiple distcc servers, each configured to run multiple compile jobs, if you wish, and then run the build with DEB_BUILD_OPTIONS=parallel=2 (or whatever) in the environment, and maybe get a performance boost, depending how QEMU performs at the preprocessing.
Back in a former job, I used to have 6 SH-64 boards running package builds via distcc, with the compilers running on 8 x86 build servers, and I could rebuild the entire distro in one night. Of course, that was only a small distro I put together myself - nothing on the scale of Ubuntu, and the boards were faster than QEMU, probably.
Distcc is often mentioned in conjunction with ccache, but caching object files isn't really very interesting if you only build each package once. There might be some small advantage in speeding up repeated configure tests, I suppose, but I suggest not bothering with it.
Hope that helps
Andrew
This looks very nice. I will try to establish this environment over the weekend.
Thanks for great help!