getting armed

Jay Vaughan jayv at synth.net
Mon Feb 13 23:09:33 CET 2012


> FWIW, It seems the ubuntu ARM distro comes in two flavours,
> one with software floats and one with hardware floats, though the hardware one is in alpha test.
> 

Yes, this is because float is not always available on the silicon, and thus the 'general case' solution that distributions are supposed to provide has to accommodate ARM with and without hard-FPU.  The distro's have had to make choices, some of them are relevant, but you must understand the reasoning.  ARM is truly multi-variate in terms of what co-silicon is onboard.  All of this is why I insist that if you want to do it right on ARM, you must roll your own compiler, preferably onboard.

To reach ARM nirvana, wherein you are using all the features of your chosen CPU in a comfortable, easy-to-hack-on way, use the Beagleboard, itself.  The distro is just the first step towards nirvana, although Angstrom has both -hard and -soft gcc's available, should you need either of them. But the proper path is this : You'll need to build gcc once, twice, and then three times.  My current beagle has its own kernel, its own gcc.  Perhaps I should do it again, and make a proper tarball that you could bootstrap from yourself, Paul .. 

> At the moment though, I'm struggling to get a build with Angstrom onto it (I built it using their builder, downloaded it, but can't uncompress it!!!).

Do remember the SD card had to be formatted right - vfat, and not just fat32 or something dodgy .. 

> Still, this is a learning experience.

In the good old days of Linux, the only use for a distributions gcc was to give you what you needed to build and boot a simple kernel, then you'd proceed to immediately re-build gcc, tweaked for your CPU, and then you'd re-build the kernel and boot it again.  This was such a nonsense waste of time that distribution politics rapidly came to the scene, drank all the beer, and raped all the cats.  But to be honest, if you're going to learn one thing in Linux, its how to bootstrap your first kernel, your first gcc, and so on.  Its not actually so hard if you read the docs.  The linuxfromscratch* instructions can be done in a weekend on a PC system, in a VM for example, and if planned well enough for your ARM needs, will result in you having the absolute nicest development environment for the Beagleboard.  (*LFS with the distcc path = shortcut to nirvana http://cblfs.cross-lfs.org/index.php/Distcc)  It is infinitely easier to boot and build your own mini-distribution that has only that which you need to support a very comfortable gcc-based buildserver for Beagleboard ARM targets than it is to rape cates.  (That is why there are so many distro's.)

;
--
Jay Vaughan






More information about the music-bar mailing list