[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian on Zaurus status update



Hello,

the chroot-debian environment I've been working on
( http://www.w-m-p.com/pocketworkstation/ ) is now being used by a fairly
large number of other users (my web server reports close to 400
downloads for the pre-packaged environment), here's a short status update
about it.

The Debian side of things appears to be working perfectly - I had *zero*
problem reports regarding the Debian userspace applications. People are
even running KDE and Gimp on their handhelds.

What did cause problems is the integration into the native system. The
power management has been very troublesome, since the "zapmd" daemon
conflicts with Qtopia's builtin power management. I don't have the source
code for zapmd, and haven't really been able to track down the problems.

Therefore, I want to switch to a fully native system for the next
release, featuring a simple boot manager that allows switching between
the original system in ROM and the Debian system on a storage card. It's
already working well on my C700, including support for most necessary
hardware (suspend/resume, light control, pcmcia, IRDA and sound all
work).

The way it works is as follows:

- a customized kernel launches /sbin/debian-init.sh instead of
  /sbin/init.

- the debian-init.sh shell script prompts the user what system should be
  booted. In the case of the native system, it simply execs /sbin/init,
  and boot proceeds normally.

- for the Debian system, the sd driver module is loaded (from the
  original flash ROM), and the Debian partition is fscked and mounted.

- the bootloader then does a pivot_root and chroot, and proceeds execing
  the /sbin/init on the storage card.

The fully native approach makes about 4MB more RAM available than the
chroot approach (mostly due to not needing duplicate copies of the C
library in memory). This is very helpful on the C700, which only has 32MB
RAM available. Also, you can use the internal flash for document and data
storage, with 32MB available on the C700 by default, which could be
increased to ~56MB by deleting the Qtopia environment.

I'm working on getting it ready for a release, but there are still a few
issues I could use help with:

- no support for the hardware clock is available. The only way I found to
  set the hardware clock is through the Qtopia time application. It would
  be great if someone could extract the necessary code from it and
  package it as a standalone program (or add support to "hwclock").

- I haven't found the zapmd source, and it doesn't work quite right on
  the C700 (the maximum display brightness available is darker than what
  the hardware can do).

- Suspending with "irattach" running seems to crash the system. As a
  workaround, I've added a "killall irattach" to the suspend script.

- The bootloader currently only supports SD/MMC cards. To support CF
  storage, it would be necessary to initialize the PCMCIA code in the
  script, so that the block device for the card becomes available.
  Preferably without needing to run any userspace daemons. I haven't had
  time yet to do tests in this direction.

- I can build kernels for the C700 and Zaurus 5x00 devices, but I'm a bit
  out of touch on the iPAQ side. Are any iPAQ users willing to experiment
  in that direction, or are they happy with the Intimate distribution?

- The mixer on the C700 and 5x00 systems doesn't work right, "aumix"
  fails ("aumix: SOUND_MIXER_READ_RECSRC"), and manual mixer settings
  also did weird things.

- The PIM app I'm using is jpilot, which works well on the C700 but needs
  too much screen space to be useful on a 240x320 display. Also, it only
  syncs with a Palm handheld, not with a desktop Linux. gpe or opie
  would probably be more useful, but I haven't gotten them running in
  the short time I spent experimenting with them.

I'm a bit short on time at the moment, but I hope I'll get a release out
next week. The C700 is my highest priority (since that is what I'm
using), and I'll also try to do a release for the Zaurus 5x00 series.

-Klaus



Reply to: