Current Status (December 2011)

Eric and Brett worked on FreeSA in December of 2011 (technically, as this is typed, it should be "are working on"). The current status as of 7 December is:

  • We are able to get OpenWRT (HEAD of git master) to boot successfully. This is around SVN revision 29473 and includes Linux 3.0.12.
  • We engage to assemble the kernel source from OpenWRT and use its kernel configuration as a starting point.

Here is the Boot Log ... and the .config file used for it is attached to that page.

This was built with an initramfs root filesystem. Since that's now working, and it's a far preferable option to using squashfs, the next step is to reverse-engineer the OpenWRT build process to determine how exactly it constructs the trx image. Then we'll reproduce that process using our own (minimal) filesystem and a kernel configuration tuned to our preferences. Maybe it will work!

...But it doesn't. Here's a description of the situation.

No-longer-current Status (March 2010)

Eric and Brett worked extensively on FreeSA in January of 2010, when he was in the USA waiting for a Dell laptop to arrive. The Dell laptop turned out to be named Godot.

We made a lot of progress but neglected to write much of it down (Brett was planning to finish the work the next day, but got lazy). Here's the situation.

  • We were unable to get a kernel later than 2.6.23 to work.
  • Using the OpenWRT kernel tree from OpenWRT revision 9382 (patched 2.6.23 kernel) and our own kernel configuration, we can't load aec62xx without getting a bus error and kernel panic.
  • Building and booting OpenWRT revision 9382 works and gets the hard disk to be completely accessible.

We have the OpenWRT kernel configuration. We need to use it as a starting point, rather than using our from-scratch configuration.

Brett's working files (toolchain and what-not) are in ~/freesa on digad.

Eric continues to struggle with the SecondStageBootLoader.

Since the Asus WL-700gE has been discontinued, we are investigating new hardware. At present the Ubiquiti Networks RouterStation Pro seems to be the current best option.

Toolchain

The freesa git project uses litbuild to construct cross-toolchains. (Eventually we plan for it to use litbuild to construct an entire freesa system.) The goal is for the litbuild package files in git to be usable for constructing cross-toolchains with a variety of hardware architectures and C libraries. As of 2012-01-22, the following builds have been tested with the latest binutils (2.22), linux kernel headers (3.2.1), and gcc (4.6.2):

  • glibc 2.15 (x86 to x86, x86 to mips)
  • uClibc 0.9.32 (x86 to x86, x86 to mips)
  • eglibc 2.15 (x86 to x86)

(Our goal is for these builds to permit cross-toolchains on 32-bit Intel (x86) and 64-bit Intel (x86_64) hosts, to x86, x86_64, and MIPS targets.)

If you're having trouble building a cross-toolchain on Ubuntu, look to see whether you're using gawk; mawk doesn't work for the purpose.

openwrt-kernel-config-9382 - this one works (27.1 KB) Brett Neumeier, 05/15/2010 11:33 AM

Also available in: HTML TXT