view · edit · print · history

NSLU2-Linux Development

NSLU2-Linux development revolves around the MasterMakefile.

See the make setup-host-debian or make setup-host-gentoo targets for a machine-executable description of the requirements for your build machine. I recommend Ubuntu 7.10 (that's what I use - our official build machine uses that version). Most the of the core development team uses Debian, Ubuntu or Gentoo.

For Unslung firmware (including kernel modules), use make unslung.

For OpenSlug firmware, use make slugosbe-image (recommended).
For all of OpenSlug (including lots of packages), use make slugosbe.

For Unslung packages (which are now called Optware/NSLU2 packages), use make optware-nslu2.

For Asus WL500g packages, use make optware-wl500g.

The Master Makefile will download and build everything that is required except the Intel code for the built in ethernet engines - you must download this yourself (see DownloadingTheIntelSourceCode). If there are sources missing from upstream sites, it *should* download them from the sources.nslu2-linux.org server - if not, then you can download them manually from there.

All commits, whether in Monotone (OE) or Subversion (optware) need to use the commit guidelines.


There are some things to be aware of when starting to rebuild (especially when rebuilding from the head).

If things stop working when they were working before, removing the whole tmp directory is a very good place to start. Don't remove the downloads directory unless you start seeing weird failures in downloading. Even then just remove the downloads for the package which fails - if the package is obtained from cvs remove its directory from downloads/cvs too.

When upgrading your kernel sources and rebuilding it is a good habit to remove tmp/{work,stamps}/{ixp,openslug*} (or unslung* if you are on unslung).
Especially when going to a different kernel version it is possible that ixp has not been recompiled to install in the new modules location. If you end up with a slug that seems to boot fine (led is green) it is possible that your ixp modules are not ok. This can a.o. happen when going from 2.6.14-rc2 to 2.6.14-rc3.

When upgrading your image with reflash -i some settings (e.g. /linuxrc) are maintained. This is nice as you do not have to do a turnup. However, if you upgrade from one release of the kernel to another (e.g. from 2.6.12 to 2.6.14 or from 2.6.14-rc2 to 2.6.14-rc3) your boot will fail as there will normally not be a /lib/modules/`uname -r` directory on your hard disk. Solution is to unplug the disk, reboot, then connect the hard disk and either do a turnup -i, install the modules or be lazy and cp -R /lib/modules from the flash to your hard disk (of course after mounting it).

view · edit · print · history · Last edited by rwhitby.
Based on work by Jon, Alan H, rwhitby, jbowler, eFfeM, kaste, ka6sox, and blaster8.
Originally by rwhitby.
Page last modified on February 22, 2008, at 12:13 AM