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

Re: pocketworkstation.org (Debian on Handhelds) 0.17 update



On Mon, Apr 05, 2004 at 05:35:57AM -0700, Joshua Ferraro wrote:
> Quoting Klaus Weidner <klaus@atsec.com>:
> > One probably worthwhile project which I don't have the resources for
> > would be to convert this into a fully native distribution rather than
> > chroot - I have it set up this way on my C750, but in a hackish way, and
> > it would need a fair amount of work to install and support this properly.
> > Please send mail to the list if you're interested in this.

> Thanks for all your hard work!  I'm very interested in working
> towards a fully native distribution to avoid the chroot.  In a general
> way, what would be involved?  I've got a bit of time that I could devote
> to the project as well.

The chroot install currently manages to be fairly hardware-agnostic due
to letting the native install handle everything. For a fully native
distribution, there will need to be drivers and tools in appropriate
Debian packages.

The Openzaurus toolset would probably handle just about everything needed
for the Zaurus hardware, and would just need packaging as .debs.  Any
changes needed for Debian should be merged back to OZ to avoid a fork,
and if the packages overlap with existing Debian packages (i.e. pcmcia,
apm, ...) coordinated with the Debian package maintainers as well.

The main areas are:

- a kernel: the original Sharp kernels have the advantage of the
  (binary-only) SD module being loadable, but the OZ effort to clean up
  the platform-specific code and porting to newer kernels is definitely
  the approach with a long-term future. There have been some experiments
  with reverse-engineering the SD driver, but I don't know if that had
  any results. Note that apparently this is easier for the newer xscale
  models, because there the hardware handles much more of the SD/MMC
  interface, leaving the driver much simpler.

- booting: on my SL-C750 I'm booting a lightly modified Sharp kernel,
  with the boot argument "init=/sbin/debian-init.sh". I've attached that
  shell script, it's a simple boot loader which can boot the ROM OS (by
  exec()ing the real /sbin/init), or do a pivot_root to switch the root
  filesystem over to the SD card and calling the sbin/init there.

- PCMCIA tools (to handle CF cards) - the Debian pcmcia-cs works fine but
  was missing a couple of drivers (i.e. for WLAN cards) last time I
  checked.

- WLAN support is a huge mess, with some drivers using the wlan-NG API
  and others using the old one, and AFAIK both types are needed to
  properly support the common cards. Standardizing on one of them and (if
  needed) porting the drivers to the API would be needed.

- suspend/resume - the Sharp way of doing this was completely
  nonstandard, but I think in the OZ kernels now has the "apm" tool
  working in the usual way.

- other hardware-specific tools, such as backlight, volume control (last
  time I checked the audio driver didn't work with many mixers), the
  SL-C7x0 screen rotation toggle switch (which generates a keycode), etc.

I'd strongly suggest keeping the complete Debian system on the SD/MMC
card - trying to fit chunks of it into the onboard flash is a big hassle
which I don't consider worth the effort. You can use the flash for user
data if you worry about the space being wasted.

-Klaus

Attachment: debian-init.sh
Description: Bourne shell script


Reply to: