PocketWorkstation runs in a chroot environment on a storage card, using the vendor's preinstalled native Linux system for most hardware access. GUI is based on Xf4vnc and the fbvnc framebuffer viewer.

See also DebianOnHandhelds for other related projects.

Runs on Sharp Zaurus handhelds: SL-5x00, SL-6000, and the clamshell models SL-C7x0, SL-C8x0.

http://pocketworkstation.org/ http://pocketworkstation.org/fbvnc.html

For discussions, please use the (low volume) http://lists.debian.org/debian-handheld/ mailing list.

This page is intended to be a community-editable forum to collect documentation, install instructions, tips and tricks.


NOTE: I haven't had time recently to update the installation software or instructions. Please take a look at these user-contributed instructions:

Installing on a SL-C700 (Paolo) http://externe.net/zaurus/forum/viewtopic.php?p=1102

Running Tcl/Tk on a SL-5500 (Kurt Yungel) http://mywebpages.comcast.net/clanwolfer/zaurus-debian-tcl-HOWTO.html

For general Debian issues on handheld computers, please use the debian-handheld mailing list. But please make sure to check out the "known bugs" section below first.

Get the most current zaurus-debian-*.tgz archive from the download section. The '-base-' package contains a minimal environment and needs 95 MB when unpacked, the '-big-' package contains additional software and needs 195 MB. You only need one of them, the contents of the 'base' package are completely contained in the 'big' one. See below for a full content listing. (Alternatively, you can use chroot-debian-bootstrap to create a customized package yourself from the Debian FTP servers, but this is a lot more complicated and time-consuming.)

If you can plug the target SD/MMC/CF card into a Linux computer (i.e. using a SD-to-PCMCIA adapter on a notebook, or a USB card writer), it's fastest to unpack it there. Otherwise transfer the archive to the Zaurus.

Make sure that the card is mounted using ext2 on the Zaurus (automatic mounting sometimes gets this wrong - edit /etc/fstab and use 'ext2' instead of 'auto' for the filesystem type).

Important: ensure that the filesystem is mounted with device files enabled - current ?OpenZaurus versions mount with the 'nodev' option which completely breaks the chroot environment. See 'known bugs' below.

Unpack the archive:

        cd /mnt/card    # SD/MMC card, Sharp or OpenZaurus ROM
        cd /home        # SD/MMC card, Crow ROM
        cd /mnt/cf      # CompactFlash or Microdrive

        # Unpack if you haven't done so already.

        # Configure and integrate into native system

Please read the fbvnc documentation for more information about the VNC-based GUI.

You can edit the file /etc/debroot.conf to control the integration into the native system and startup options. If you don't select automatic startup, just run the following commands on the text console to launch it manually:

        Vncserver   # it backgrounds, hit ENTER to get the prompt back

To get out of the Debian environment, use <Fn>-<Shift>-<Q> on the virtual keyboard, or ["Action"]-<Shift>-<Q> on the real keyboard. This quits fbvnc, which will return you to the command line, but Xvnc will keep running in the background. Kill the 'Xvnc' process to shut down all X11 applications.

There is also a good guide on http://zaurusfun.4t.com/index.html

Tips and Tricks

Platform specific notes and gotchas

Sharp SL-5000D, SL-5500

These should work without special tweaking.

Sharp SL-5600, SL-6000

[http://wiki.debian.net/index.cgi?PocketWorkstation-["SL6000"] SL-6000 with X/Qt]

See the SL-C7x0 section, most of this applies for these as well.

Sharp SL-C7x0, SL-C8x0

The SL-C7x0/8x0 support is still somewhat rough, and needs some manual tweaking:

Known Bugs

Current OZ versions mount the SD/MMC and CF cards in a secure mode with device files disabled, which unfortunately completely breaks the chroot environment. A symptom is that you get weird messages about devices such as /dev/null not working, and you may just get a blank X11 screen without any user interface, or terminal windows which open and close again immediately.

As a workaround, run the following from the command line:

        mount /mnt/card -o remount,dev,suid,exec

NOTE: This doesn't seem to valid for oz 3.5.2 pocket workstation worked out of the box for it.

On some machines, Opie and/or Qtopia crash when you launch it after previously running the Debian environment. This appears to be a power management conflict - try running /etc/rc.d/init.d/zdebian stop on the text console before launching Opie/Qtopia, and let me know if that makes a difference. An alternative on newer ["ROMs"] seems to be using the standard apm tool and not using zapmd at all.

On my Zaurus SL-5000D, operations that write lots of data to the MMC card often crash the Zaurus - it's still pingable, but the filesystem is dead. A typical symptom is "apt-get install" getting stuck at the "Getting package information..." stage. I think this is bug in the MMC/SD driver, everything works fine on a microdrive.

Mounting the SD/MMC card in synchronous write mode makes things very slow, but helps prevent these crashes:

        mount /dev/mmcda1 -o remount,sync,noatime

Don Leuenberger reported that running a background sync loop during the installation also helps prevent crashes:

        while true; do sync; sleep 1; done &

Since writes to flash memory are very slow, you'll need to be patient for many operations that would finish quickly on regular disk drives. apt and dpkg should be fixed so that they don't constantly write multiple identical copies of the package information files in various locations.

?OpenZaurus has a fairly weird startup sequence - Opie starts in the foreground, and the other startup scripts don't run until after Opie is shut down.

On the Compaq ["iPAQ"], Power and light management don't work out of the box, I haven't had the time to make the installer handle it yet. Send me mail if you care about this, and I'll fix it.

Oz 3.5.2 and pocket workstation seem to work well. To play mp3's install xmms and xmms-mad.