logo       

SlugOS 4.0 HEAD status update: msg#00066

misc.nslu2.devel

Subject: SlugOS 4.0 HEAD status update

Hi there,

This afternoon I have pushed some large changes to org.openembedded.dev.
I have checked out a clean version of the org.openembedded.dev tree
and am testing a full build right now.

SUMMARY OF CHANGES
The kernel has been upgraded to 2.6.18. I've put in place a new build
system that grabs patches straight from the kernel SVN repository,
allowing NSLU2-Linux to have a single site for kernel development.

USB support, and some other drivers are now compiled as modules. This
is to reduce the kernel image size to allow a second-stage bootloader
to be prepended.

The open source ixp_npe driver is now enabled by default, and thanks
to this the Intel Access Library has been jettisoned. It autoloads
correctly on boot, allowing SSH access to the NSLU2. It has not been
heavily tested.

For now, it is required to install the Intel NPE Microcode directly
into the root filesystem. The ixp4xx-npe package handles this within
the OE build environment. (Eventually, the microcode will be
installed onto a specific location on the NSLU2 flash, so that it is
not overwritten by kernel/rootfs changes.)

udev has been replaced by mdev, provided by busybox 1.2.1. hotplug-ng
has been removed. This is the most controversial change made,
partially because it will probably break turnup (not tested).

The reasons to make this change are as follows:
1) udev seems to be permanently undergoing rapid development and its
behaviour is not consistent between versions, increasing time
required to maintain SlugOS
2) A functioning firmware upload implementation is absolutely
required for ethernet access
3) No distribution, however large and well resourced, seems to have a
functioning and up-to-date udev (>94) shipping (with firmware upload
functioning) without the use of crufty outdated hotplug/coldplug
scripts (thinking of gentoo here). This does not bode well for our
small and resource-limited distribution.
4) For the life of me, I can't get udev to upload microcode to the
NPE. With mdev, a one-line config change was required, which took
less than a minute (see the ucode_dl line in slugos/mdev.conf in the
busybox commit).
5) mdev is fast, so booting is speeded up.
6) While mdev does not load modules automatically, this does mean
that its behaviour is predictable, and modules can easily be loaded
in boot scripts at appropriate times.
7) This is a matter of opinion, but I think that less hacky behaviour
is required in my implementation of mdev - compare the mdev init
script to the udev init script to see

The downsides of the change are:
1) People with custom udev rules will not be able to use them (Debian/
NSLU2 should include a full and functioning udev implementation with
the final etch release)
2) Some script 'logic' will be required to load the right modules for
different embedded IXP boards with different peripherals
3) USB hard disks are not currently automounted when plugged in
4) Turnup and associated boot scripts will need possibly more
rewriting than was necessary to deal with modularisation alone

mdev documentation can be found here: http://busybox.net/downloads/
BusyBox.html#item_mdev
Scripts can be run automatically after a device node has been added
or removed in order to provide functionality similar to udev

Summaries of the changes can be be seen at the links below:

busybox
http://tinyurl.com/emg2y

slugos-init
http://tinyurl.com/zt2oe

ixp4xx-npe
http://tinyurl.com/jstwb

slugos image & conf files
http://tinyurl.com/e5kd3

ixp4xx-kernel
http://tinyurl.com/pnpxe
http://tinyurl.com/zc72g

WHAT'S BROKEN
HEAD only boots correctly on the NSLU2 currently (and theoretically
on an IXDP425).
turnup (see above and below)
Kernel does not take into account 66MHz crystal, so timer is inaccurate

TODO
Test and fix turnup (disk first, then nfs)
Add logic in slugos-init to allow different module loading for
specific ixp4xx boards
Kernel updates (DSM-G600, loft support, new clocksource timer patches)
Specifically: Add mac definition for NAS-100D as in http://
tinyurl.com/ro6r3 & http://www.hohnstaedt.de/ixp_npe/readme
Copy ixp_npe branch in kernel SVN repository to trunk, and archive
current trunk

Again, my thanks go to Christian Hohnstaedt who wrote this driver and
has provided assistance throughout the process of integration.
http://www.hohnstaedt.de/ixp_npe/

Please reply with comments and complaints,

Michael-Luke (blaster8)
(Apparently) NSLU2-Linux.org Core Team




Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/nslu2-developers/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/nslu2-developers/join
(Yahoo! ID required)

<*> To change settings via email:
mailto:nslu2-developers-digest-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx
mailto:nslu2-developers-fullfeatured-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
nslu2-developers-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/







<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise