[clue] Buying pi.

Michael J. Hammel mjhammel at graphics-muse.org
Tue Feb 26 13:47:15 MST 2013


On Tue, 2013-02-26 at 10:46 -0700, Jim Ockers wrote:
> I've done a lot of work on ARM (via OpenWRT build kit) and I was 
> wondering if you can build the distro under the ARM environment (on the 
> Pi itself) or if you have to cross compile on another system then copy 
> the files?

You could do it on the Pi, but unless you have a USB connected drive
there isn't much point unless your application is fairly small.  It
would practically kill your SD card if you tried to, for example, do a
bunch of kernel compiles on the Pi, not to mention it being much slower
due to memory and storage constraints.

That said, there are quad-core ARM variant boards out there.  The
concept of an ARM desktop is just starting to peak over the hill.  The
Chromebook has an ARM version (I got the Intel version, and UEFI has
made me realize I'll not make that mistake again).  ARM is moving into
bigger realms, Intel into smaller.  A war looms.  Winter is coming.
(Too much Game of Thrones.)

> I thought many times how it would have been convenient if I could have 
> built packages under a fully operational ARM dev environment, just like 
> we do for x86.  Basically I'm wondering if there is a *devel set of 
> packages including native gcc for the Pi.  Maybe gcc can't run without a 
> MMU or something?  I never looked into why it didn't exist.

There is nothing to prevent on-board compiles.  The ubuntu distros for
the Pi may have a compiler toolchain available in them.  You can, of
course, always build the toolchain yourself and install it on the board.
You just need to gather all the toolchain components.  Sadly, a native
toolchain build is not included in Crosstool-NG or Buildroot yet.
Angstrom might include one.

It's a silly idea, IMHO, to compile on the board.  Resource limitations
make it less ideal than cross compiling.  Most autotools-based builds
handle cross compiles rather well, but not all.  Some apps are pain to
cross compile.  cmake stuff makes my head hurt.

Cross toolchain builds are what I'm aiming at for PiBox and Beaglebox.
Their goal is to provide a base distro that you then add opkg's to, not
unlike Angstrom's goals for BeagleBoards and other hardware platforms.
I just prefer rolling my own and using tools like Buildroot and Make
instead of bitbake.  I've got an XBMC build (poorly named XBMCBox) that
generates an opkg for PiBox.  Completely cross compiled using the
toolchain from PiBox (which can be installed as an RPM) and PiBox's
rootfs/staging trees but without the use of a chroot or jail.  Caveat:
keyboard/mouse don't work yet, but I think that's a config issue, not a
build issue.

Summary:  you could do it.  But its not advisable on the Pi.  Get a
bigger, badder ARM board and turn it into a desktop first.

-- 
Michael J. Hammel <mjhammel at graphics-muse.org>



More information about the clue mailing list