[lug] Atom Based Computers

Michael J. Hammel mjhammel at graphics-muse.org
Mon Jul 12 14:01:49 MDT 2010

On Mon, 2010-07-12 at 12:41 -0600, Stephen Queen wrote:
> I was considering buying an atom cpu based mini-itx computer for an
> embedded project. Before I spent any money on it though, I wanted to
> see how difficult it is to load Linux on such a computer. I use debian
> for most of my embedded  projects, since it is ported to so many
> architectures. When I looked at the debian releases, I see nothing
> aimed at an atom. I know that a number of popular netbooks use Linux,
> so Linux does run on an atom. Can you just use a release that is for
> the i386? Has anyone done this and have some warnings or caveats to
> share?

Moblin was the distro for Atom's, but I'm not sure that status of that
project.  I think it was merged into Meego.  I haven't been able to get
Meego running yet.  I've been playing with OpenEmbedded and
Buildroot/U-boot/Crosstool-NG/etc in custom builds to boot under QEMU,
eventually targeting a PowerPC board (in house, for a radar) and a
BeagleBoard (at home, for fun).

Don't know much about Atom's, but if you're building a distro for an
embedded box you need three things:

1. A compiler (or, more likely, a cross compiler) for that processor.
2. A kernel for that platform.
3. A filesystem with the apps the kernel will run

A compiler for Atom is possibly not really a cross compiler but perhaps
just gcc with the right options.  You'd need to check on that to be
certain.  If you don't need a cross compiler then the rest is easy from
your chosen desktop distro.  If you do, you need to consider tools like
Buildroot and/or Crosstools-NG (I don't think OpenEmbedded targets
netbooks, but maybe through Poky they do).

A kernel for that platform will enable and support the peripherals like
flash (NAND/NOR) or SDRAM memory, SD cards, USB, video display (graphics
and LCD), etc.  You can do this manually from kernel source but you need
to compile using the compiler/cross-compiler for that processor.  The
kernel is fairly easy to build with a cross compiler.  Just set a few
env variables.

The filesystem is where the distro fun starts.  Get a version of X.org
running (and that's no small accomplishment) and then you can launch a
standalone Blackbox with a custom desktop.  The possibilities are
endless once you get the kernel going.  Moblin (or Ubuntu or Fedora or
whatever) make this easy by doing all the base work to build the distro
that gets you X running, plus variations on the UI/desktop.

If you're really doing embedded then you shove the kernel onto flash
(and hopefully the bootloader or BIOS knows how to get to it) and the
filesystem into flash, an SD card or USB or other drive.  I haven't
looked at the reality of what netbooks attempt to be (embedded or just a
tiny little desktop with laptop or SSD drives) so can't say if that's
the case for them.

Good luck.
Michael J. Hammel                                    Principal Software Engineer
mjhammel at graphics-muse.org                           http://graphics-muse.org
Without software to do something useful with it, hardware's nothing more 
than a really complicated space heater.
  --- Neil Stephenson

More information about the LUG mailing list