[Aboriginal] Various things

Rob Landley rob at landley.net
Wed Apr 6 04:38:12 PDT 2011

On 04/06/2011 04:05 AM, Alessio Igor Bogani wrote:
> Dear Mr. Landley,
> Sorry to bother you directly again and for my very bad English.
> I hope that this is the last time I write privately (so I'll try to
> use ml instead).

I don't really mind, but people were wondering why the mailing list
isn't very highly trafficed...

> I have some considerations, thoughts and questions for you:
> 1) You _should_ force people to use ml. Sound ironic that I said that
> in a private email but the mailing-list's archive vision is very
> distressing.

There used to be more archive but as I said I lost the old list when the
impactlinux.com domain went away, including the old subscriber list and
archives.  Then I didn't bother to set it back up for a few months, and
between those it lost rather a lot of momentum. :)

> 2) Aboriginal Linux is simple an horrible name (it sounds like the
> name of babies' toy)

The previous name was "Firmware Linux", which sounded like a bootloader.
 (And technically, it isn't firmware, so...)

> 3) Why have you chosen Mercurial instead of git?

I made the decision at OLS in 2006.  I tracked down and interviewed both
the git maintainer and the mercurial container, and saw the talks each
gave on their respective projects.  As I wrote in
http://landley.net/notes-2006.html at the time (July 23 entry):

  I'm converting the BusyBox repository to Mercurial.  (It was that or
  git, and it doesn't matter strongly which of the two because they
  work similarly enough that you can convert back and forth between
  them without losing the funky lateral branch history that makes 3-way
  merges work.)  I picked Mercurial because it's twice as fast, 1/10th
  as much code, and I understand the repository layout.

I keep meaning to set up a git mirror for the people who are more
familiar with that.  It's one of the many things on my todo list...

> 4) I hope that you'll replace busybox with toybox + useful packages
> (the first one is very a burden). The *box should do provide the
> simplest console interface on the system: other things should be
> delegated to specific project (like dropbear or lighthttpd).

This probably is a topic for the list. :)

I've been ambivalent about toybox for years:


The point of Aboriginal Linux is to bootstrap the simplest possible
development environment for the target which is capable of rebuilding
itself under itself from source code.  At that point, you can build any
arbitrary system you want natively on the target.

I'm trying to separate what you build from how you build (which targets
you develop for should not influence which packages are available on the
target).  I'm very carefully NOT opening the can of worms of "being a
distro", there are already a dozen projects that do that quite well
thank you (and even more like buildroot and openembedded that do it
badly).  Debian has a repository of over 40,000 packages, with
dependnecy information and maintained build recipes.  I can't coompete
with that, and don't want to, nor do I want to tie you to chosing dpkg
instead of portage or rpm or ipkg or whatever repo you want to use, just
because you've chosen to target a given piece of hardware.

I did a long slide series on all this at one point:


It was designed to be a day long 8 hour tutorial, but everybody kept
wanting 1 hour talks with different subsets of the material instead...

> 5) What is your opinion about Aboriginal vs. Yocto?

As soon as a project gets Linux Foundation on it, it stops being


> 6) I would want make Ubuntu packages for Aboriginal Linux. What do you
> think about?

Read the old release notes about "Automated native build control images":


Look at sources/control-images in the build scripts, and see also:


I already did a Linux From Scratch bootstrap (although it's not fully
debugged on all targets due to uClibc 0.9.31's threading being wonky on
mips and powerpc and such, the builds behave differently if you run them
several times in a row.  That's a libc bug.  I'm hoping the NPTL stuff
in 0.9.32 will fix it.)

I'm working on a gentoo-bootstrap which builds enough to run portage
(and possibly catalyst).

I need to do a debian-bootstrap.hdc that builds enough prerequisites to
make debootstrap work.  Once I've got that, Fedora has one called Koji:


And SuSE and Ubuntu and such have their own...

But yes, that's a big todo item of mine.  Natively bootstrapping distros
in an architecture-independent manner.  Separate WHAT you build from HOW
you build.

I believe that presentation.pdf covers some of the design ideas later
on.  (It's a bit out of date, I need to update it.  The curse of doing
documentation, when you change the code or design you need to update the

> These are only my personal (and stupids) opinions. After all I'm a
> very stupid and ignorant person.

Ignorant != stupid, and slow != stupid.  Can the false modesty please.
You have INTEREST in this area.  That's significant.  I'll take
passionate and slow over "smart but doesn't care" any day.

> Ciao,
> Alessio
> P.s.
> I would want let you know that I have used your Aboriginal Linux to
> test my last patch:
> http://permalink.gmane.org/gmane.linux.kernel/1122916
> So thank you very *much* for Aboriginal Linux!

You're welcome.  Glad you like it. :)


More information about the Aboriginal mailing list