Last updated Jan 7, 2005


These instructions are to install PocketWorkstation with X-Qt on the Sharp ROM. X/Qt information is available at http://xqt.sourceforge.jp/index.html


Before you can begin, a method of transfering files from the internet to your PDA must be established.

The most convienent and straightforward method is to just have Internet available on the PDA itself. That will allow you to use the ipkg package manager. There are many ways this can be done, for example using the built-in wireless, or masquerading through the USB TCP/IP connection.

You will also need access to a shell to run the configuration scripts. You can use these terminals if you plan on using the Zaurus:

or install !["OpenSSH"] and work remotely.

Installing X/Qt

All the following steps should be run as 'su'.

The first step is to have a working copy of X/Qt installed. X/Qt must be installed onto an ext2 formatted filesystem, the internal memory will work fine.

If the PDA has access to the internet, the easiest way to install is to use the testing feed available from the X/Qt sourceforge site.

  1. Open a terminal
  2. Type echo "src xqt http://xqt.sourceforge.jp/feed-testing/" >> /etc/ipkg.conf

  3. Type ipkg update
  4. Type ipkg install xqt-server xqt-fonts-misc xbase-etc

If internet access is still unavailable, download/copy to the PDA all the following packages from http://xqt.sourceforge.jp/feed-testing/.

only xbase-etc requires to be installed on the internal memory, the rest can be installed on the ext2 SD or CF

Open up a terminal and install each of these packages.

  ipkg install xqt-server_0.0.10 xqt-fonts-misc_X.X.X... etc

Download a modified X/Qt startup scripts package here http://www.geocities.com/hatchetman1618/6000/xqt-pocketworkstation-scripts_0.0.3-4_all.ipk.gz These scripts include a modified .xinitrc file that will be saved in your /home/zaurus directory. Install it with the package manager GUI, otherwise (ipkg install) you need to manualy add the icon onto the desktop

This package will install the original X/Qt startup scripts modified for PocketWorkstation. The depencies for blackbox and rxvt have also been removed.

(Until I can find a different host to hold the package it's on Yahoo. Because Yahoo only allows certain extensions I had to gzip it for them to accept it. Make sure you gunzip the file before you try and install it.)

Installing Debian GNU/Linux

PocketWorkstation will need to be installed on an ext2 filesystem with at least ["195MB"] of free space for the big package. When you start to install more software and libraries, another ["200MB"]-["300MB"] will quickly be needed.

Because more space is needed then is available on the internal memory, a memory chip will need to be formatted and used. Refer to the following table when needed.

Type

Filesytem

Mount Point

Alias

SD Card

/dev/mmcda1

/usr/mnt.rom/card

/mnt/card

CF Card

/dev/hda1

/usr/mnt.rom/cf

/mnt/cf

Formatting a memory card

1. Open a terminal.

2. Unmount the filesystem being used.

  umount ''mnt''[cf or card]

3. Format the filesystem as ext2.

  mkfs.ext2 ''dev''[hda1 or mmcda1]

4. Remount the filesystem.

  mount ''mnt''[cf or card]

NOTE: you may need to add the following line to your /etc/fstab:

 /dev/hda1    /mnt/cf   ext2  defaults  0 0

for the cf to be recognized.

If you still can't mount the system, eject the CF card, and reinsert it. Type mount to see if it has been mounted as ext2.

Extracting Debian

Plug your Zaurus into AC Power while extracting! You don't want the unit to suspend in the middle of all your hard work.

Copy the following files onto the ext2 filesystem you just formated.

If you're downloading via Opera to your storage card, you will need a Documents folder & permissions

 cd /mnt/cf/
 mkdir Documents
 chmod 777 Documents

Change to the directory with the downloaded files and type:

 gunzip gnu-tar.gz
 chmod 755 gnu-tar
 mkdir ''mnt''[cf or card]/debroot
 ./gnu-tar -C ''mnt''[cf or card]/debroot -xvzpf zaurus-debian-big-v0.17.tgz 

(without ./ you will get message "gnu-tar: not found")

(If you extract using a PC, make sure your links between files don't become linked to the desktop.)

You could also use a folder starting with a period like .debroot, so that programs like Sharp's Media Player don't spend hours searching through it. You can change the directory name to whatever you like.

Final setup procedures

1. Change to your debroot directory. 2. Create a new file startd

  #!/bin/sh
  #Startup Commands
  export DISPLAY=0:0
  swapon /swapfile
  /usr/bin/icewm-session
  #Shutdown Commands
  swapoff /swapfile

3. Set the permissions on the new startd file

  chmod 755 startd

4. Create a ["64MB"] swap file

  1. dd if=/dev/zero of=swapfile bs=1024 count=65536
  2. mkswap swapfile

5. Link the home directory to root

  ln -s root home/root

6. Store the debroot location, type

  pwd > /etc/debroot

You can remove the debroot/INSTALL.d file since it wasn't used anyways.

The PocketWorkstation installation that uses fbvnc sets up a rootcmd daemon. It will let you run root commands outside the chroot environment from inside of it. If your interested in that check out the postinst.sh script that comes with the zaurus-debian archive.

See PocketWorkstationKeymaps for information on how to use or create an xmodmap file if your keyboard does not work correctly in X/Qt. On Zaurus 6000's various keys like colon : don't work without running xmodmap.

Download the new keymap file into your home folder. ie: /home/zaurus. Run xmodmap <keymap file>.

The only thing left is to mount the proc filesystem.

  mount -t proc /proc /usr/mnt.rom/[cf or card]/debroot/proc

You only need to do this once after you turned your PDA on. You may need to unmount it if you want to eject the card that holds Debian. You can also add the above line into your .xinitrc to let proc mounted automatically

  su -c 'mount -t proc /proc /usr/mnt.rom/[cf or card]/debroot/proc'

You're done!

Well except for fonts... most people find their font problems go away with the latest X/Qt server (1.9.0).

Mostly everything should be setup now. Click on the PocketWorkstation icon under your Applications tab.

Note: The chroot command needs to start as root (su). If you have a password set on root, then you would see Pocketworkstation launch, and a few seconds later, exit. To fix this, open a Qtopia terminal window, and su into root. Type passwd, and press <enter> twice to set the root password to blank.

NOTE: You won't see the taskbar at first because it is hidden beneath your Qtopia taskbar. Press your menu key to change to fullscreen mode.

Post-Installation

better to run the following as su

Locale problems

If you get errors saying "can't set the locale; please make sure $LC_* and $LANG are correct", then run as su

 apt-get install locales

en_US is english US

Updating your Debian build

There are new builds of software regularly, so your debian installation is likely out of date when it's originally installed. You can get update your Debian installation by running the following commands:

 apt-get update
 apt-get upgrade

Model Specifics

SL-6000

Internal Wireless Card

The internet can be controlled through Qtopia as it always has been. However the up and down scripts don't create a resolv.conf file for the chroot environment when using DHCP. An easy hack is to add the line

  cp /etc/resolv.conf /usr/mnt.rom/cf/debroot/etc

to the bottom of the /etc/pcmcia/network.functions files.

I've had some problems with this hack, has anyone come up with a better solution? (no probelm for me on 6000)

Keyboard Maps

The 6000 keyboard is all out of whack. Download a keymap or create your own. Put it in ''root''.xmodmaprc PocketWorkstationKeymaps

(I putted it in /home/zaurus/.xmodmaprc, according to the directory specificed in the .xinitrc, so everytime X/Qt starts, the keymapping is automatically done.)

Other Resources:

Known Issues