I got the Zaurus SL-C3000 and SL-C3100. These impressive little devices are
almost perfect. They are made by Sharp, however, Sharp decided to only sell
these models to the Japanese market.
Being in Australia this was a big disappointment. I tried to order one from
Conics, but got no response from them for several weeks, which I think is
unacceptable, so I asked a friend of mine who lives in Tokyo to send me one.
It's so nice to have friends all over the world :)
I want to thank Sachiko for getting me my first Zaurus. Thank You
very much Sachiko!!! You are the best!
The Zaurus is my replacement for my mini Laptop, the Toshiba Libretto 50 CT, which is now hosting this website running Redhat
Linux.
The Sharp Zaurus SL-C3000 is the first step of my dream laptop
becoming reality. I was sick of carrying a bulky and heavy laptop
around and the other PDAs on the market did not appeal to me except
for Sony's little Clie but that is another story. After the SL-C3000 died, I bought my second Zaurus,
the SL-C3100 from PriceJapan. I ordered it Friday afternoon and it took 3 days to arrive in Sydney
from Tokyo and clear customs. However, the local Post Office fucked up as usual and it took 2 more
days to arrive. The Zaurus is an astounding technology gadget dreamt up by the Japanese and is
the only PDA that really suits my needs. For instance, it runs Linux! Also the SL-C3000 was the
first PDA with an internal HDD, and currently the SL-C3000 and SL-C3100 are one of
the very few PDAs with an internal HDD. The 4 GB micro drive offers sufficient
storage (for a PDA) and opens up many possibilities, such as using the Zaurus as a
portable video and audio player. The Zaurus' HDD is also recognized by Windows as
a plug-n-play USB storage device (but sometimes it is a pain to detect properly). The
display of the Zaurus SL-C3000 and SL-C3100 is 3.7" in size and the VGA (640x480)
screen is truly awesome. It's bright and razor sharp. And there's a built-in zoom
function that allows you to zoom the screen. The screen's
orientation automatically adjusts when swivelled. The swivelling screen transforms
the shape of the Zaurus from PDA-style to laptop-style. Once in laptop-style, you
can utilize the QWERTY keyboard, with its great tactile feedback. The Zaurus
features an advanced character recognision for Japanese (kanji, hiragana and
katakana) and English which is entered directly onto the touchscreen via a stylus
pen. It also has a fully featured bi-directional Japanese-English dictionary and
translation software. The Zaurus measures 124x87x25mm, and weighs 298g.
And here is my Zaurus next to my new PC. It's tiny in comparison.
2 of 21216/09/2007 12:23
Page 3
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Specs:
Features:
Intel XScale PXA270 CPU at 416MHz
640x480 transreflective touch screen, 3.7" diagonal, backlit
4 GB internal hard drive
64 MB memory (SDRAM)
16 MB Internal Flash for SL-C3000 / 128 MB Internal Flash for SL-C3100
USB host capability (USB OTG implementation)
Weight 298g, Size 128x87x24 mm
1800 mA Lithium Battery (up to 7 hours)
White Colour (SL-C3000) / Black Colour (SL-C3100)
Compact Flash (CF-II) and Secure Digital (SD) expansion slots
Infra-Red port
3.5mm stereo audio out/microphone in, plus small built-in speaker
Landscape/Clamshell or portrait style, hot-switchable
Full QWERTY keyboard with bonus Japanese characters
Operating System: Linux kernel 2.4.20 from Lineo
Graphical User Interface (GUI): Qtopia 1.5.4 from Trolltech
Suite of Personal Information Management (PIM) applications
Hancom Mobile Office
Broad compatibility with established Sharp Zaurus software base
USB OTG:
The SL-C3000 and SL-C3100 use the new USB OTG (On-The-Go) connector which allows both mini
A and mini B plugs to be plugged in. When a mini B is plugged in, the Zaurus will act as a USB
client, ie the Zaurus becomes a USB storage device to the connected host PC or Laptop. When the
mini A is plugged in, the Zaurus will act as a USB host and you can attach USB devices such as
keyboards, mouse, disks, etc. to it.
Here is how USB mini A and USB mini B look like side by side:
3 of 21216/09/2007 12:23
Page 4
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The standards for USB are defined by the USB-IF (USB - Implementers Forum). The OTG 1.0 is a
new extension to the USB 2.0 specifications. USB 2.0 defines the following speeds:
USB 2.0 High Speed - 480Mbps
USB 2.0 Full Speed - 12Mbps (same as USB 1.1 speed)
USB 2.0 Low Speed - 1.5Mbps
In order to be USB 2.0 compliant, one or more of the above speeds has to be implemented. The
Zaurus implements the USB 2.0 Full Speed data rate for file transfers and the USB 2.0 Low Speed
data rate for peripherals such as mice and keyboards. It does not implement the USB 2.0 High
Speed data rate.
C3000 vs. C3100:
The most noticable difference between the C3000 and the C3100 is their colour. The C3000 has a
smooth white cover whereas the C3100 is mainly black with dark silver frame for the screen. The
C3100 case also feels like it is made of granite while the C3000 feels more metallic and smooth.
Internally, the difference is the amount of flash memory. The C3000 only has 16MB whereas the
C3100 has 128MB. This difference in flash memory does give the C3100 a small boost in speed over
the C3000 (no spin-up time when loading applications).
The software works the same in both models, but there is some differences in management and
maintenance when going down to the details level. There is also more software provided with the
C3100, but the additional software is all in pure Japanese only. The C3000 comes with 2 CD-ROMs
whereas the C3100 comes with 3 CD-ROMs, the additional CD contains data for the extra software.
The other difference is that the C3000 came with a tiny power adaptor which only worked with 100V
input (Japan only). The C3100 comes with a slightly bigger power adaptor which works with
100-240V input.
Accessories:
4 of 21216/09/2007 12:23
Although the Zaurus SL-C3000 and Zaurus SL-C3100 are
great little devices, there are a few essential things missing
which I had to add in order to make them perfect. Since I live
Page 5
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
plug adaptor.
In addition, I wanted to have wireless networking so I can surf the net, use Yahoo
Messenger and IRC as well as share files with my other computers over my home
network. This requires a wireless CF adaptor card, but getting one was not such an
easy task since Australia is quite behind Asia in terms of the technology market.
Most computer shops did not even know what a wireless CF card was and those
who knew had to order it in (3-4 days) since there was no demand for them and
hence none of them had any in stock. The Zaurus supports 802.11b wireless compact flash and
generally in Australia this means the Netgear MA701 or the D-LINK DCF-660W Air. I got myself the
Netgear MA701 which costs around AUD $100 because none of the shops had a D-Link in stock. I
recently also found a SanDisk Connect Plus 128M for only AUD $79.
I also found a USB mini A host adaptor cable to enable the USB
host capability of the Zaurus. Harris Technology has them (GoldX 5-in-1) for around AUD $40 and Office Works has them (Comsol
5-in-1) for only AUD $30. The cable comes with a little leather pouch
which contains five different interchangable USB connectors: USB
Male A, USB A Female, USB B Male, Mini USB A and Mini USB B. I
also found some cheaper cables made by Avico. The Avico USB Digital Camera Cord comes in several models. The CC1542 is a
USB A to USB mini A cable and the CC1522 is a USB mini A to USB
mini B cable and costs AUD $9.95 each.
in Australia, the power adaptor was a little problem with the
SL-C3000 since it only came with a 100V power adaptor and I
needed to find a compatible adaptor. Both Dicksmith and
Tandy have a relatively small adaptor (made by Digitor) which
has the required 5V input at 1A for around AUD $40. Jaycar
even has one for AUD $30 (another brand and slightly bigger).
The SL-C3100 comes with a 100-240V power adaptor (5V
input at 2A) so all that was needed was a cheap Australian
I also wanted to connect
my Zaurus to different
LANs via ethernet networks
and got myself a tiny USB LAN adaptor. This cost me
AUD $30. In addition to that, I have a small retractable CAT5 network cable made by Aidata (bought from Japan on my last trip there for approximately
AUD $20).
Since a single USB connection is rather limiting, I also got a Blue Eye powered mini USB Hub so I can connect up multiple USB devices at
the same time. I opted for a powered hub instead of a cheaper
unpowered one which I had lying around. With a powered hub I can
connect my BlueEye 40 GB 2.5" USB HDDs to the Zaurus. The 5V at
1A power required by the HDD had to come from the USB Hub. But be
careful, most powered USB hubs only provide 5V at 500mA which is not
sufficient for some harddisks. The Blue Eye hub costs around AUD $40
and is one of the few that supplies the necessary 1A. In fact, its AC
adaptor supplies 2A, which means it can handle more than 1 harddisk. Most 2.5" disks only need
500mA to run, but 1A to power up. 3.5" harddisk
enclosures normally come with an AC power so
those can be used with an unpowered hub and I
was able to use my BlueEye 200 GB 3.5" USB HDD which was NTFS formatted with the Z. I
have also tried the BlueEye hub with four disks
plugged in without problems. While shopping
around I have found another place which sells
the Blue Eye Hub for only AUD $25, so I got
myself another spare. Also, the USB hub powers
my USB desklight which costs around AUD $20. BlueEye devices are made/distributed by Noontech.
5 of 21216/09/2007 12:23
The hub also allowed me to simultaneously use my mini USB mouse
and mini USB keyboard. The mouse is particular useful when running
Page 6
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
X windows on the Z. The keyboard I normally only use with my Zaurus
when I need to type a lot. Almost any standard USB keyboard should
work with the Zaurus. The keymapping needs some
adjustments since the Zaurus keymapping layout is
Japanese and not English by default but this can be easily
changed since it is mainly QWERTY based.
I also got a pack of spare stylus so I can leave one at the office. In addition, I
bought the Belkin 4-in-1 stylus for around AUD $39. It is the size of a normal pen
so it feels quite natural to use. When you use it, you get the feeling that the stylus
tip is very soft and won't damage your screen. The tip can also be retracted like
most pen by a simple twist and it even has a pen built-in that can be used to write.
On the other end there is a light and a laser pointer. The laser pointer is quite handy
since I do quite a lot of presentations and the light is pretty cool and helps in the
dark. An exact copy of the Belkin 4-in-1 can also be found at Jaycar for half the
price, and for an even cheaper copy, try Vietnam where you can get it for around
AUD $10 only. The copies also come in a wooden pen box with extra spare batteries as well.
Photos from my digital camera can be easily transferred to the Zaurus either
via USB connection (using the Avico or GoldX cables) or by directly inserting
the SD Memory Card from the camera into the Zaurus' SD slot. Some of my
other cameras use CF Memory Cards, but the Zaurus has a slot for them as
well. I also got myself a few additional SD and CF cards, in particular, the
4GB Kingston CF card and the 4GB pqi SD card. Now I got several SD and
CF memory cards to swap in and out, and I also got a Kodak PCMCIA adaptor
so I can use the CF cards in my Laptop too. The Zaurus made my All-in-One USB card reader
redundant, however, I also bought a 4-in-1 CF adaptor which allows me to use additional memory
cards in my Zaurus such as my 2GB memory stick duo. I also got the new 2GB SanDisk Ultra IIplus USB which is a mini SD card with a USB adaptor stuck on it so you can use it as a normal SD
as well as a USB stick.
Finding a Leather Carrying Case that fit the C3000/C3100 was another
challenge. The normal PDA cases were not made for the C3000/C3100
but I eventually found a leather carrying bag for cameras that was
perfect. It even had a little pouch on the front for my CF cards and could
be attached to a belt or hung around the neck. The Tamrac Digital Camera Bag is made of ballistic nylon and genuine leather. It costs AUD
$45
I also bought a Joytech PSP power extender and since it has the same
plug and power requirements as the Zaurus, I can use it with either my
Zaurus or PSP to extend the battery power on a long haul flight. In addition,
I bought an AC to USB adaptor which has several uses, ie charging my
Zaurus, my Mobile phone, or powering my USB hardisk via a USB y-cable.
And here is my Zaurus (C3000) in all its glory surrounded with gadgets for it.
6 of 21216/09/2007 12:23
Page 7
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Additionally, I had to get the following from Tokyo since I could not get them locally in Australia.
Thanks again to Sachiko for going shopping for me.
The iRiver USB cable works with the Zaurus. This cable is quite small and has a USB
mini A connector on one end and a USB A Female on the other. It will be a handy
addition to supplement my GoldX cable. It is currently also the cheapest USB mini A
host controller cable available that I could find.
I also found a small USB power cable, the Diatec P-Cord (P to Go). This little gem allows me to leave the bulky
power adaptor at home. It can power the C3000/C3100 whilst
plugged into a USB port of a PC or a Sun Ray (or even my spare
USB hub). As a bonus this cable is also retractable. It is perfect
for stuffing into a small pocket. In addition, this cable also has a
little cousin which also includes a USB mini-b adaptor for
synching as well so you can use it to charge and sync at the
same time.
The screen on the Zaurus attracts quite a lot of
dust. The OverLay Brilliant screen protector should protect my little Z's
touchscreen. It will hopefully ensure my Z's screen will not be damaged and also
reduces the glare when under direct sunlight, so now I can see what's on the screen
even outside when the sun is shining on my Z. It can also be easily washed in warm water so
cleaning is a breeze, but re-attaching it afterwards is a bit tricky. The inner side easily catches little
dust particles which are very hard to remove and they cause bubbles on the screen. However, most
importantly, it prevents scratches on the Z's screen.
Well, I already have a few spare styli, but one can never have enough spares, so I got
the Pilot Pentopia stylus. This stylish replacement stylus looks and feels much better
than Sharp's greyish plastic stylus that comes with the C3000 or the black stylus that
comes with the C3100. The Pentopia stylus comes in a cool metallic colour with black
ends and a red tip. And it is also extensible by a few centimeters to give it the length of a
pencil. The extra metal weight also makes it feel like something with substance. It also
has a pen under the black cap on the other end.
straight into the Zaurus. It requires additional power from the USB hub. The USB VGA adaptor was
designed for USB high speed (480Mbps) in mind and runs very slow on the Zaurus which does not
7 of 21216/09/2007 12:23
I have found a USB to VGA adaptor which can be used with the Zaurus. It is made by
Kairen and contains a SiS 315E graphics chip and there is a custom driver for it
ported to the Zaurus. With the driver and special application installed, you can use
this adaptor to connect your Zaurus to a VGA monitor or projector. However, you will
need a USB host cable (mini A) and a powered hub. You cannot plug this adaptor
Page 8
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
support this speed.
While in Thailand, I went to the Pantip IT Mall in Bangkok and found a few extra goodies.
The most useful item I believe was the Sony MDR-138 Super Bass
Headphones (I don't think Sony really made it but who cares). This set of
headphones has a retractable spindle for the cable and a clip for attaching it
convenniently while it is retracted. It costs me only 280 Baht which is less
than AUD $10 and of much better quality than the usual retractable headphones that are now
swamping the computer stores here locally. I also got a few other headphones, some with built-in
microphones similar to mobile phone headsets but with two earpieces and 3.5mm connectors, and
some of them are also retractable.
I also bought a slim USB combo CDRW/DVD drive for only 3500 Baht which is
around AUD $110. They also had battery powered USB harddisk enclosures
for 1600 Baht which can be used to self power 2.5" USB harddisks without the
need for an AC adaptor or powered hub.
Another bargain I picked up was the Kingston 4 GB Compact
Flash memory card which cost me only 9500 Baht, around AUD
$300. In addition, I picked up a spare battery for my Z quite
cheaply too.
Also found some retractable USB mini B cables for only 100 Baht each (around
AUD $3), so I could not resist and bought a few extra spare ones. Unfortunately,
they did not have retractable USB mini A cables.
Software:
Included Software:
The Zaurus SL-C3000 and SL-C3100 are LINUX-based PDAs. They come bundled with the following
software:
HancomWord (for .doc),
HancomSheet (for .xls),
TextEditor (for .txt),
ImageViewer (for .jpg, .bmp, .gif),
MoviePlayer (for .mpg),
MusicPlayer (for .mp3),
NetFront Browser,
E-Mail Client,
ToDo List,
Calendar,
AddressBook,
Calculator,
WorldTime,
Dictionary,
Translator,
Terminal Window (need to be installed from CD-ROM),
Telnet and FTP client (command line),
English and Japanese handwriting recognition and keyboard input methods.
The C3100 also has the following software pre-installed by default which the C3000 does not have
(These applications are only really useful if you are in Japan or know Japanese):
BunkoViewer
8 of 21216/09/2007 12:23
Page 9
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
You should patch the SL-C3000 with the newer 1.11 ROM (card_update_3000111.exe) if it came
with the older 1.01 ROM. Also, there are some new drivers and patches that you might need at
http://support.ezaurus.com/sl-c3000/update/
The SL-C3100 should come with a 1.02 ROM. New drivers and patches for the SL-C3100 are located
at http://support.ezaurus.com/sl-c3100/update/
The SD card driver shipped with the SL-C3000 and SL-C3100 only supports SD cards of sizes up to
1GB. The SL-C3200 comes with an updated SD driver which supports larger SD cards. This driver
also works for the SL-C3000 and SL-C3100, however, Sharp only released it pre-installed on the
SL-C3200. It has been extracted and re-packaged by the Zaurus user community.
Additional Software:
Even with all this software, there is still a lot of extra functionality that can be obtained by installing
additional packages. The following is a list of applications and utilities that I have installed, most of
which can be found on the ZUG feed (see Feeds section). I have provided the full filename of the
packages which will make locating them with your favourite search engine much simpler. Also, I
have archived up all my installed packages here.
Well, Tux isn't really a game but it is funny. You will need to install
[qpe-libqtopia_1.6.0-13_arm.ipk] for tux.
A lot of applications written for prior Z versions still work for the C3000 and C3100, however, the
screen is rotated to portrait by default for those applications which can be changed easily. Most
require no changes to work, but some need some tweaking in order to work properly on the C3000
and C3100. Look in the customisation section for details for those.
Generally, feeds for Cacko and older versions of pdaXrom as well as pdaXqtrom are also good
sources for finding applications written for the older Sharp models. They will run on Qtopia and X/Qt
respectively.
The Sharp ROM on the C3000 is not really a ROM image. It really is a misnomer carried on from
previous models. The SL-C3000 doesn't really have a flashable ROM image with the full OS and
applications on it. Those are stored on the MicroDrive (harddisk) instead on the C3000. It really is a
Zaurus Linux distro packaged by Sharp. There are several other distros other than the Sharp one
available for the Zaurus in various stages of development. I have created a dedicated section on
alternate distros/ROMs for the SL-C3000 and SL-C3100. The customisaton section that follows is
primarily for the stock Sharp distro but may also be applicable to Cacko since Cacko is an improved
version of Sharp distro with various customisations and enhancements already applied. I have also
created sub pages dedicated to customising pdaXrom and customising OpenZaurus for the
SL-C3000 and SL-C3100.
In addition, you can also run Debian packages if you install Pocket Workstation. OpenOffice for
example works under Pocket Workstation. See the X/Qt section for more details.
There are also lots of emulators available for the Zaurus with which you can run applications and
games for Nintendo, GameBoy, AppleII, Palm and even DOS. You can even run Java applications
and games from your mobile phone on the Zaurus with a MIDP enabled J2ME implementation.
I also build a few ipk packages to make it easier to customise the Zaurus. Here is a quick summary
of them and what they do. The customisation section has further details. The packages are zipped
(not for compression but to prevent them from getting corrupted) so you will have to unzip them
before you can install them.
[c3000-custom-jaen_0.2_arm.ipk] - add English to the menus
[zicons-wmtux_0.2_arm] - icon package for replacing system icons and extra app icons
[keyhelper-c3000map_0.4_arm.ipk] - enhanced keyboard mapping for C3000 and C3100
[usbkbd-en_2.4.20_arm.ipk] - switch USB keyboard map when keyboard is plugged in or
unplugged
[dualkbd_2.4.20_arm.ipk] - allow shift num pad on USB keyboard to function like shift numeric
keys
[langswitch_0.2_arm.ipk] - switch between English and Japanese menus
[bgswitch_0.1_arm.ipk] - switch between several wallpapers
[netswitch_0.4_arm.ipk] - control for USB network with drivers
[netswitch-lite_0.4_arm.ipk] - control for USB network (no drivers)
[usblan-rtl8150_2.4.20_arm.ipk] - USB network driver (rtl8150)
[usblan-pegasus_2.4.20_arm.ipk] - USB network driver (pegasus)
[irnet_2.4.20_arm.ipk] - irnet driver and config for IrDA networking
[bluetooth-support_1.23-1_arm.ipk] - bluetooth drivers and tools
[bluetooth-gui-lite_1.23-1_arm.ipk] - bluetooth tools without drivers
[ntfs-zaurus_2.4.20_arm.ipk] - NTFS driver for Zaurus
[zmouse_0.1_arm.ipk] - enable mouse for the Zaurus
[unicodefonts-verdana_1.5.0-3_arm.ipk] - rotatable unicode font verdana
[libstdc6_1.2.2_arm.ipk] - standard C library supplement for Sharp ROM
[libstdc5-compat-sharp_0.5_arm.ipk] - pdaXrom C library supplement compatible with Sharp
ROM
[xqt-debian-scripts_0.6.1_arm.ipk] - custom X start script
[xqt-libXrender_1.2.2_arm.ipk] - updated X-render library
[apachegui_0.1_arm.ipk] - apache control GUI
13 of 21216/09/2007 12:23
Page 14
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
[zflite-gui_0.2_arm.ipk] - flite GUI
[filelaunch-en_0.4.5_arm.ipk] - (not fully translated yet, but usable)
[opera-en-helper_0.0.2b_arm.ipk] - opera config GUI (translated from Japanese)
[automounter-c3000_0.5.0_arm.ipk] - auto mounter for USB drives and loop filesystems
[sdmmc-module_2.4.20_arm.ipk] - updated SD driver to support larger SD cards
[usb-modules_2.4.20_arm.ipk] - additional USB device drivers
[iptables-base_2.4.20_arm.ipk] - minimum iptables
[iptables-additional_2.4.20_arm.ipk] - additional iptables
[shorewall-c3000_1.4.5-1_arm.ipk] - packet filter firewall
[kismet-misc_0.3_arm.ipk] - kismet script for GUI launch and sound files
[j2me-zaurus_1.1.8_arm.ipk] - personal profile for zaurus j2me with swing and compiler
[jlauncher_0.1_arm.ipk] - java launch wrapper for j2me
[midp-launcher_0.2_arm.ipk] - enables MIDP games to run with Jeode
[babbletower_0.9.3_arm.ipk] - babbletower dictionary reader (requires j2me)
[dosbox_0.6.3-3_arm.ipk] - dos emulator
[fbvncserver-c3000_0.9.4-0.2_arm.ipk] - hacked fbvncserver for C3000/C3100
[qtopia-sysinfo_1.23-3_arm.ipk] - enhanced sysinfo tool with process and mount controls as
well as more detailed disk info
[qtopia-addressbook_1.23_arm.ipk] - addressbook with alphanumeric sorting support
[qtopia-combbatteryapplet_1.0.6_arm.ipk] - updated battery applet with
overclocking/underclocking support
[qtopia-memoryapplet_1.0.4_arm.ipk] - updated memory applet with better swapfile
management
[qtopia-keyboardapplet_1.0.0_arm.ipk] - keyboard layout mapper applet
[qtopia-network-usblan_1.0.0_arm.ipk] - network config for usb lan adaptor
[qtopia-network-bluetooth_1.0.0_arm.ipk] - network config for bluetooth adaptor
[qtopia-usbapplet_1.0.3_arm.ipk] - USB device control applet
[japanese-support-c3100jaen_1.23_arm.zip] - add Japanese support to Cacko 1.23
[pico_4.4_arm.ipk] - console based file editor
[cpio_2.6_arm.ipk] - archiving tool
[top_0.3.6_arm.ipk] - system tool
[wget_1.10.2_arm.ipk] - download tool
[qpPhoto_1.0.3_arm.ipk] - graphics tool modified for C3x00
[yasump_0.40_arm.ipk] - MOD player modified for C3x00
[ipktools_0.3.5_arm.ipk] - various scripts for manipulating ipk files including conversion of
debian packages into ipk files
[zgcc2-95-2-lite.zip] - minimal Zaurus on-board gcc development environment
[zgcc2-95-2.zip] - Zaurus on-board gcc development environment
[zgcc 2.95.3 (cramfs)]/[zgcc2-95-3 (squashfs)] - extended and updated Zaurus on-board gcc
development environment for X/Qt
I have also made a section dedicated to X/Qt and Debian PocketWorkstation that is more generic
and not just for the SL-C3000 and SL-C3100 models. It contains the following:
X/Qt Jumbo and Applications packages
[xqt-gtk-jumbo_4.3-0.7.1_arm.ipk] - X/Qt jumbo package
[firefox_0.9-3_arm.ipk] - Mozilla Firefox
[thunderbird_0.6-3_arm.ipk] - Mozilla Thunderbird
[xqt-gimp_1.2.5-3_arm.ipk] - The Gimp
[abiword_2.0.0-2_arm.ipk] - AbiWord
X/Qt Jumbo and Application compressed images
[xqt-gtk-jumbo.cramfs] - X/Qt jumbo image
[xqt-apps.cramfs] - X/Qt applications image
[xqt-mozilla.cramfs] - Firefox and Thunderbird image
[xqt-openoffice.cramfs] - OpenOffice image
[java.cramfs] - Blackdown JRE 1.3.1 image
[xqt-install.sh] - the installer for the X/Qt images
Debian PocketWorkstation and OpenOffice
14 of 21216/09/2007 12:23
Page 15
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
In addition, I have updated and enhanced the X/Qt packages with additional and newer libraries so
that they can run the latest pdaXrom applications. A separate section for these new updated
packages can be found in a dedicated X/Qt super jumbo - pdaXQtrom section. This section is also
generic and not just for the SL-C3000 and SL-C3100 models. With these packages installed, you
can run the latest X based applications under Sharp/Cacko.
pdaXQtrom Application packages
[abiword_2.4.0-2_arm.ipk] - Word Processor
[aspell_0.60.4_arm.ipk] - Spell Checker
[axyftp_0.5.1_armv5tel.ipk] - FTP Client
[bluefish_0.13_armv5tel.ipk] - Text Editor
[denemo_0.5.3_arm.ipk] - Sheet Editor
[dia_0.92_armv5tel.ipk] - Diagrams
[dillo-xft_0.8.5_arm.ipk] - Web Browser
[dosbox-x11_0.6.3-3_arm.ipk] - DOS Emulator
[epdfview_0.1.2_arm.ipk] - PDF Viewer
[ethereal_0.10.9-1_armv5tel.ipk] - Packet Analyzer
[firefox_1.5_arm.ipk] - Web Browser
[fltdj-utf8_0.7_armv5tel.ipk] - PIM
[free42_0.3_arm.ipk] - HP Calculator
[gaim_2.0-b3_arm.ipk] - IM Client
[galculator_1.2.5_arm.ipk] - Calculator
[gftp_2.0.18_arm.ipk] - FTP Client
[gimp_2.3.4_arm.ipk] - Graphics Tool
[gnumeric_1.6.0_arm.ipk] - Spreadsheet
[gpaint2_0.2.3_arm.ipk] - Image Editor
[gpe-edit_0.13_arm.ipk] - Text Editor
[gpe-filemanager_0.23_arm.ipk] - File Manager
[gpe-gallery_0.97_arm.ipk] - Image Viewer
[gpe-soundbite_1.0.6_arm.ipk] - Image Viewer
[gpe-word_0.2_arm.ipk] - Word Processor
[gplflash_0.4.13_arm.ipk] - Flash Player
[gps_1.1_arm.ipk] - Graphical ProcessView
[gpsdrive_2.10pre3_arm.ipk] - Global Positioning
[gqview_2.1.1_arm.ipk] - Image Viewer
[grisbi_0.5.9_arm.ipk] - Personal Finance
[gtkyahoo_0.18.2_arm.ipk] - Yahoo IM Client
[gyach_0.9.4_arm.ipk] - Yahoo IM Client
[hp48_0.2_arm.ipk] - HP48 Emulator
[knowde1.8.0_arm.ipk] - Knowledge Management
[leafpad_0.7.9_arm.ipk] - Note Pad
[links_2.1_arm.ipk] - Web Browser
[mc_4.6.1-pre1_arm.ipk] - File Manager
[minimo_1.7.12_armv5tel.ipk] - MiniMozilla
[mplayer-1.1pre8_arm.ipk] - MPlayer for X
[multi-aterm_0.2.1] - Terminal Emulator
[nedit_5.4_armv5tel.ipk] - Text Editor
[planner_0.13-1_armv5tel.ipk] - Project Management
[putty_0.58_arm.ipk] - SSH Client
[scite_1.62_arm.ipk] - Text Editor
[smessy_0.1.1_arm.ipk] - SMS Messenger
[stardict_2.4.3_arm.ipk] - Dictionary
[sylpheed-gtk2_2.0.2_arm.ipk] - Email Client
[thunderbird_1.0.7_arm.ipk] - Email Client
[tightvnc_1.2.9-1_arm.ipk] - VNC Client
[xarchiver_0.3.1_arm.ipk] - Archive Tool
15 of 21216/09/2007 12:23
Page 16
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
[xchat_2.6.0_arm.ipk] - IRC Client
[xmms_1.2.10-4_arm.ipk] - Media Player
[xpad_2.11_arm.ipk] - Sticky Pad
[xpdf_3.01-4_arm.ipk] - PDF Viewer
[xpdf-tools_3.01-4_arm.ipk] - PDF Extraction Tools
[xournal_0.3.1_arm.ipk] - Journal App
pdaXQtrom Games packages
[cgoban_1.9.12_arm.ipk] - gnu go
[gnuchess_5.07_arm.ipk] - chess
[gsoko_0.4.2_arm.ipk] - sokoban
[gtkatlantic_0.4.0_arm.ipk] - monopoly client
[xbomb_2.1a_arm.ipk] - minesweeper
[xdemineur_2.1.1_arm.ipk] - minesweeper
[xkobo_1.11+w01_arm.ipk] - space game
[xpuyopuyo_0.9.8_arm.ipk] - puzzle
[xshogi_1.3_arm.ipk] - gnu shogi
[xsokoban_3.3c_arm.ipk] - sokoban
Getting Started:
Before embarking on customisation and hacking your Zaurus, you need to know how to handle it.
There is a very good manual written by TRIsoft on this topic. Please refer to TRIsoft's C3000
manual which they provide for free:
http://trisoft.de/pdf/c3000qs.pdf - the original TRIsoft quickstart manual in German
http://trisoft.de/pdf/c3000qse.pdf - the translated TRIsoft quickstart manual in English
The TRIsoft quickstart manual is a very good summary on all the important things you need to
know in order to operate your Zaurus. I personally prefer their original German version. Their
English translation is not perfect but it is much easier to read than the original Sharp manual which
is in Japanese. The TRIsoft manual concisely summarises just the important facts that you need.
User Manual:
Once you have learned how to handle your Zaurus and discovered some of its features, you
probably want to learn how to use the applications that come with the Zaurus. This shouldn't be a
problem for most savy users, but nevertheless, FigLabs have taken the time and written a complete
user manual for the C3000, and they have made it available online:
http://www.figlabs.com/catalog/ug.php
Customisations:
16 of 21216/09/2007 12:23
Page 17
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Most information about the SL-C3000 found on the net is in Japanese and a lot of the instructions
out there are for earlier models of the Zaurus. Although a lot of that info is still valid because the
C3000 is backward compatible with lots of the older models not everything works. Since the C3000
is newer, it has extra capabilities those guides do not mention. Also sometimes things that worked
in the older version do not work on the C3000 anymore due to it being implemented differently on
the C3000. This guide is intended specifically for the SL-C3000 model (also sometimes referred to
as Spitz) but a lot of the info can also be applied to similar models. Most of the information will also
apply to the SL-C3100 (also known as Borzoi) since the two models are very similar. In some areas,
however, there are significant differences between these two models and those will be highlighted.
Some of the customisations require additional files which should be downloaded first. Create a
folder called custom on a CF/SD card or via the USB connection to /home/zaurus/Documents and
copy these customisation files into that folder. Most the instructions below assume that the files
have been transferred to /home/zaurus/Documents/custom
The first thing you probably need to do is to install a terminal/console application and backup yourZaurus. These instructions are primarily for the Sharp distro/ROM, although most of it can be used
for Cacko as well.
Essential Packages
The following are applications and utilities that I consider absolutely essential and must have
packages:
qkonsole - a terminal console with multiple tabs (sessions), scrollbars, colour selection, history
and fonts
keyhelper - allows you to customise and reassign keys
c3000-custom-jaen - add English text to the menus and tabs
opie-sh and/or qshdlg - shell enhancement for dialog and input boxes (required by some apps)
sudo - enhances security if used correctly (needed by some apps)
unicodefonts-verdana - extra font with extended character set and rotatable
automounter-c3000 - enables automatic mounting of loop and USB devices
Tetsu's special kernel - an enhanced kernel for Sharp ROM/distro that fixes some annoying
bugs and improves performance as well
The following are very useful applications that I would also always install:
applets that appear in the taskbar
clipboard-applet - allows you to cut and paste between application
qpe-suspendapplet - allows you to enable and disable suspend temporarily
tasklistapplet - allows you to select running applications from a list
memoryapplet - allows you to manage swap files and view memory usage
combbattery-applet - allows you to manage and monitor power settings as well as overclock
and underclock
These libraries are often needed by several applications and should be installed to satisfy most
generic dependencies:
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
These are very useful runtimes and often, other useful services or applications depend on having
these runtimes:
runtimes
samba - allows sharing of files over network
jeode - java runtime
perl - perl interpreter
bvdd - enhanced video driver
mplayer - media player supporting many video formats
xqt-gtk-jumbo - X windows system for Qtopia
debian-pocketworkstation - embedded fully functional Debian environment
These command line tools are very important. They provide funtionality that one would expect from
any OS nowadays.
command line tools
vim or pico - console text editors
file - tells you the file type according to mime settings
dos2unix - fixes return characters between DOS and UNIX systems
unzip - allows you to unzip files
zip - allows you to create zip files
bzip2 - uses the newer and highly more compressable bzip2 format
wget - command line http client
openssh-client - secure terminal client
applications
qpdf2-freetype - pdf reader
yedit - text editor
visualq - graphics editor
qazoo - yahoo messenger clone
zicic - irc client
kino2 - mplayer frontend
firefox - mozilla browser
thunderbird - mozilla email client
openoffice - open source office application
Some tweaking of the look and feel is also required. The default Qtopia theme shipped by Sharp is
not very pretty (depends on taste). Changing the theme to something like Crystal-Blue will make it
look much better. There are several themes to choose from out of the box, but many more themes
can be downloaded and installed.
In addition, the default icons and background can be changed also. Install some icon packages and
get some nice backgrounds. zicons-wmtux contains my favourite icons. There are also plenty of
nice backgrounds. Plasterer can be used to ensure that the background looks consistent even
when the screen is rotated. Finally, replace the ugly default screensaver with LUSScreensaver.
More details on how to do all this is described in details later.
Installing Packages
Packages can be installed and uninstalled via the Package Installer tool (qinstall) under the Settings
tab. By default, the Zaurus installs applications to main memory which is the /hdd2 partition on a
C3000 and the /home partition on a C3100. You can also install applications to your SD or CF card
as well if the application allows it. Some applications can only be installed to main memory, wheras
others allow you to either install to SD or CF as well if they are formatted as ext2 or ext3. There are
also applications that can be installed to SD or CF cards that have a FAT filesystem.
18 of 21216/09/2007 12:23
Page 19
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
In addition, with a console, you can use the ipkg command to install and uninstall applications as
well, eg:
# ipkg install ipkfile
# ipkg remove ipkfile
The advantage of the ipkg tool that it can be used to script a batch of applications, such as all your
favourite fonts, or all your security tools. It also shows you detailed error messages if something
goes wrong unlike the qinstall tool which just reports an error but nothing else useful.
However, the ipkg tool does not generate the required links for you if you want to install to SD or
CF card. Qinstall (the GUI Package Installer) does that for you during the installation if you select
either SD or CF for the destination location. You will need to run ipkg-link after installing to SD or Cf
card in order to relink the applications you install with ipkg. However, ipkg-link does not get
shipped with the C3000 nor the C3100 by default. I have included ipkg-link in my ipktools package.
By default, the package installer expects package files to be located under
/hdd3/Documents/Install_Files, /mnt/card/Documents/Install_Files and
/mnt/cf/Documents/Install_Files. ipkg exspects all the packages to be in the same directory.
Additional sources and package feeds can be configured by modifying /etc/ipkg.conf and adding
source location like the following example:
src zug http://www.zaurususergroup.org/feed/
I have created a script called xipk (part of my ipktools package) which allows you to install
packages to virtually any location you like. This allows you to install packages to /hdd3 where the
bulk of the MicroDrive's space is instead of the default main memory which is /hdd2 on a C3000
and /home on a C3100. However, not all applications can be installed to /hdd3 because it is by
default formatted as a FAT filesystem and can't handle symbolic links. If you reformat it as ext2 or
ext3, then you won't have that problem (see later sections on /home and loopback filesystems).
Some application that you install will be in Japanese. Have a look at the Localisation section to see
if you can change it to English. Try the langswitch tool, which can fix it for you in most cases.
Also, if the application was written for an older Zauri model, then you need to change the
application's default screen orientation. See the Screen Orientation section on how to do this.
19 of 21216/09/2007 12:23
Page 20
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Installing a terminal
Connect the Zaurus via USB (make sure to plug the USB cable into the PC first, then the Zaurus).
Copy the terminal ipk file [qpe-terminal-ja_1.5.0-3_arm.ipk] from the CD-ROM into the
/Documents/Install_Files directory. Disconnect the USB device on the PC. The Zaurus will turn back
to normal mode. Click on the third TAB on the top and then click on the little disk like icon. Then
select the Install_Files folder. Inside, click on the ipk file (should be the only file there) and the
installer will launch it. Press install (the big button at the bottom) and then OK (the button on the
left) on the dialog box that comes up.
If you have a SD or CF card and a card reader for it, then you can also just copy the ipk file onto
the SD card and insert the card into the Zaurus afterwards and install the ipk file from the card
instead of using the USB cable which sometimes can be problematic.
A much better terminal [qkonsole_0.9.3-20040205_arm.ipk] can be download and installed instead
of the one provided on the CD-ROM.
Most of the customisation work requires a terminal so you really should install one. All the
instructions inside a white box assume its done from within a terminal window, and most entries in
gray boxes are illustrations of configuration file fragments. Also I assume you know how to use vi.
Personally, I love Vim (vi improved) and use it all the time for most things. However, if you are
really struggling to use vi, then you can use pico instead which is like the DOS edit (see pico
section on how to install). Then whenever you see the instructions tell you to use vi to edit or
create a file, use pico instead. The esc key in vi is mapped to the cancel key on the Zaurus.
Localising/Converting to English
The C3000 and C3100 come in Japanese only by default. The irony of this is that Qtopia and most
of Linux were developed in English, and Sharp had to change it all to Japanese, and we have to
change it all back again. This makes changing the Zaurus back into English rather simple except for
a few new applications that were written in Japanese natively. There are several approaches to
switch back into English only mode, and there are even some scripts out there that automate the
whole process. I consider the Japanese a bonus so no way am I going to get rid of it. (Ever tried to
add Japanese support to an older Windows version?)
Switching back to English (quick and dirty):
Launch the terminal and change the /home/zaurus/Settings/locale.conf file to use 'en' instead of
'ja'.
20 of 21216/09/2007 12:23
Page 21
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
[Language]
Language = en
[Location]
Timezone = Australia/Sydney
Reboot the Zaurus.
Localising to English but keeping Japanese:
(English menus, mixed Japanese and English titles)
The goal of this localisation is to keep all the Japanese funtionality but have English menu items and
mixed Japanese and English display of tab entries. Japanese input method, fonts and dictionary will
not be affected by this customisation and will still work afterwards.
# su
# cd /home/QtPalmtop/i18n/ja
# mkdir .hide
# mv *.qm* .hide
# mv .hide/libjpn* .
# cp /home/zaurus/Documents/custom/movieplayer.qmid .
# chown root:qpe movieplayer.qmid
# chmod 640 movieplayer.qmid
# cd /home/QtPalmtop/i18n/en
# cp /home/zaurus/Documents/custom/movieplayer.qmid .
# cp /home/zaurus/Documents/custom/libsl.qmid .
# chown root:qpe *.qmid
# chmod 640 *.qmid
# cd /home/QtPalmtop/bin
# mv word-eucJP.rc word-eucJP.rc.hide
# cd /home/QtPalmtop
# tar cf apps-orig.tar apps
# gzip apps-orig.tar
# cp /home/zaurus/Documents/custom/apps-mod.tar .
# tar xf apps-mod.tar
# chown -R root:qpe apps
# cd /home/QtPalmtop
# tar cf etc-orig.tar etc
# gzip etc-orig.tar
# cp /home/zaurus/Documents/custom/etc-mod.tar .
# tar xf etc-mod.tar
# chown -R root:qpe apps
# cd /home/zaurus
# tar cf Settings-orig.tar Settings
# gzip Settings-orig.tar
# cp /home/Zaurus/Documents/custom/Settings-mod.tar .
# tar xf Settings-mod.tar
# cd Settings
# chown zaurus:qpe *.conf
# chmod 644 *.conf
Reboot the Zaurus and this is what it will look like:
21 of 21216/09/2007 12:23
Page 22
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
This package [c3000-custom-jaen_0.2_arm.ipk] will do the above and is what I use to recover my
localisation if I need to reset my Zaurus to factory setting and start again. This package works for
the C3100 and C1000 as well. You can switch back to Japanese by simply uninstalling the package.
Some applications that you install after the localisation will still appear in Japanese, but most of
those can be easily localised as well by looking under the /home/QtPalmtop/i18n/ja directory and if
there is an additional qm file named after the application you installed there, simply move it into
the .hide directory. However, some applications are written natively in Japanese and cannot be
easily localised. I have created [langswitch_0.2_arm.ipk] which will allow you to move the qm files
back and fro from the GUI (it requires opie-sh).
The help files are still in Japanese. If that bothers you and you want English help instead, then you
can install helpfiles_1.23-lite-1_arm.ipk from the Cacko feed and once installed, create a link from
ja to en under the help directory:
# su
# cd /home/QtPalmtop/help
# mv ja ja.orig
# ln -s en ja
The addressbook will display text and menus in English, but entries are still sorted according to the
Japanese kana. If you rather have them sorted alphabetically and don't care about storing entries in
Japanese, then you can install [qtopia-addressbook_1.23_arm.ipk].
If you want Netfront to be able to display German umlauts, French accents, and other special
characters in addition to the standard English characters and Japanese characters, change
/home/zaurus/Applications/netfront3/prefs and find an entry FontFamilyJa:. Add or modify
FontFamilyEn: and set it to a font such as verdana that contains the extended character sets. The
following font package is recommended: unicodefonts-verdana_1.5.0-3_arm.ipk
FontFamilyEn: verdana
FontFamilyJa: lcfont
Fonts
The Zaurus comes with the following fonts already pre-installed:
22 of 21216/09/2007 12:23
Page 23
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
lcfont
fixed
helvetica (same as mico-unicodefonts-helvetica_1.5.0-1_arm.ipk)
micro
smallsmooth
smoothtimes
Unfortunately, the Japanese character mapping has some overlaps and it is not always possible to
correctly map some extended characters in the latin character maps. Unicode fonts help a bit in this
aspect. However, many fonts do not have all the unicode characters which results in little square
boxes being displayed. It is essential to have a font which has all the unicode characters fully and
correctly mapped, however, such a font will use over 1MB of memory for each font size.
The following fonts get very close to that, however, the unifont only has size 16.
unismall_1.0.0_arm.ipk
unifont_1.0-1_arm.ipk
Having fonts that contain as many character sets as possible is a good start, however, it also
depends on the application whether it uses unicode and can extract the right character out of the
fonts and display them. Some fonts are also missing details for screen rotation and thus will look
garbled when the screen is rotated. Make sure you install the rotated font also if you find the font
garbled on rotation.
Note: The unicodefonts-verdana_1.5.0-3_arm.ipk is a repackaged version of
mico-unicodefonts-verdana_1.5.0-2_arm.ipk with a rotatable font set.
These fonts are for the default Qtopia deskop and applications. X/Qt and Pocketworkstation use a
different set of fonts. The Qtopia fonts are stored in /opt/QtPalmtop/lib/fonts. Zaurus fonts use the
Trolltech's QT Prerendered Format (QPF). If you want to make your own additional fonts, then you
can convert fonts to Zaurus fonts by using a utility called makeqpf-arm which is provided by
Trolltech.
lcfont is the default system font used with the Japanese system, ie when your locale is set to ja
which is what your Zaurus is set to by default. However, Qtopia defaults to helvetica if it can't find
the font it needs.
When generating fonts, you will need to generate two versions, one for portrait mode and one for
landscape. The qpf font for the rotated screen has t10 appended to the filename.
Here are some sample steps to convert the arial.ttf font to a size 16 qpf in landscape and portrait
mode. Doing this may result your Zaurus being locked up, and you definately have to reboot your
Zaurus afterwards so make sure you save any open files before doing the following:
# mkdir -p /hdd3/build/lib/fonts
23 of 21216/09/2007 12:23
Page 24
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# cp arial.ttf /hdd3/build/lib/fonts
# export QTDIR=/hdd3/build
# cd $QTDIR/lib/fonts
# echo "arial arial.ttf FT n 50 160 s" > fontdir
# makeqpf-arm -display Transformed:Rot0 -A
# makeqpf-arm -display Transformed:Rot270 -A
# cd /hdd3/build
# newipk arial
# cp /hdd3/build/lib/fonts/*.qpf /hdd3/arial/data/opt/QtPalmtop/lib/fonts
# makeipk arial
# su
# reboot
The above assumes you have downloaded makeqpf-arm from trolltech and extracted it to a location
in the PATH, ie /usr/local/bin. Also it is assumed you have ipktools installed.
And finally, the Japanese display character for the ⁄ symbol is ¥. It is incorrectly displayed but the
correct character is being used, so don't worry about it.
Key Mappings
The Zaurus comes with a full QWERTY keyboard and like most notebooks, some special characters
and keys need to be accessed with a function key (Fn) combo. Most of those combos are already
clearly marked on the keyboard, however, some are not marked and some are missing. All of the
following key mappings work for most applications, however, some applications that have
codepages directly compiled into them will not recognise the mappings and ignore them.
The Print Screen key sequence is:
Fn + Shift + c
Navigation keys:
Fn + up arrow = Page Up
Fn + down arrow = Page Down
Fn + left arrow = Home
Fn + right arrow = End
Other useful and unmarked keys:
Shift + - = `
There are other essential keys that need to be mapped. For that install keyhelper
[keyhelper_1.2.2-1_arm.ipk] and put keyhelper.xml into /home/zaurus/Settings and then reload
the key mappings from a console.
# cd /home/zaurus/Settings
# cp /home/zaurus/Documents/custom/keyhelper.xml .
# khctl reload
Installing keyhelper-c3000map [keyhelper-c3000map_0.4_arm.ipk] will also do the above and it
will also enable the keyhelper menus too as shown below:
24 of 21216/09/2007 12:23
Page 25
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
It will give you the following mappings:
Sticky Shift key - press the Shift key and the next key you press will be shifted
Sticky Fn key - press the Fn key and the next key you press will be the blue one on the top of
each key
Sticky Ctrl key - press the Ctrl key and the next key you press will be the combined with the
Ctrl key
Alt key - the left Japanese key (kana/hira) next to the Ctrl key
Shift+Mail will bring up the application/quick menu for favourite apps
Shift+Address will bring up the documents menu for frequently accessed files
Shift+Calendar will bring up the settings menu for common tasks
Home = switch between Menu Tabs
Shift+Home will switch to the next application
Menu key - brings up the pulldown menu of the current application, or launch the application
from the quick menu when pressed with the shortcut key.
Shift+Menu will bring up the task selector similar to alt + tab on windows
Ctrl + Menu when Menu does not work, will give Alt + f (bring up the file menu)
Swapped / and , key
Fn + o = {
Fn + p = }
Ctrl + t = « (left double angle quotation)
Ctrl + y = » (right double angle quotation)
Ctrl + w = × (multiplication sign)
Ctrl + r = ÷ (division sign)
Ctrl + - = ± (plus minus sign)
Ctrl + m = º (little circle sign)
Ctrl + q = ´
Fn + q = ` (this one is redundant but I don't like the shift - combo)
Ctrl + a = ä (umlaut a)
Ctrl + Shift + a = Ä (umlaut A)
Ctrl + o = ö (umlaut o)
Ctrl + Shift + o = Ö (umlaut O)
Ctrl + u = ü (umlaut u)
Ctrl + Shift + u = Ü (umlaut U)
Ctrl + i = î (circumflex i)
Ctrl + Shift + i = Î (circumflex I)
Ctrl + e = æ (ae)
Ctrl + Shift + e = Æ (AE)
Ctrl + s = ß (eszett)
Ctrl + Shift + d = Ð (D with eth)
Ctrl + 1 = è (e with grave)
25 of 21216/09/2007 12:23
Page 26
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Ctrl + 2 = È (E with grave)
Ctrl + 3 = é (e with acute)
Ctrl + 4 = É (E with acute)
Ctrl + 5 = ê (e with circumflex)
Ctrl + 6 = Ê (E with circumflex)
Ctrl + 7 = ë (e with diaeresis)
Ctrl + 8 = Ë (E with diaerisis)
Ctrl + 9 = ç (c with cedilla)
Ctrl + 0 = Ç (C with cedilla)
Fn+Shift will allow Alt key combinations from a-z and 0-9 except for x, c and v (the Alt key
does not work for some applications)
The file /home/zaurus/Settings/keyhelper.conf contains the menu item definitions for what to
display and what to execute. If you want to customize your own key mappings, you can install
keyhelperconf which helps you determine the correct xml code required for the mappings:
You can also remap the application keys on the right hand side of the screen and at the bottom of
the keyboard. The ApplicationKey tool under the Settings tab will allow you to assign different
applications to those keys.
26 of 21216/09/2007 12:23
Page 27
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The following is my mapping:
Dictionary -- Dictionary
Calendar -- Qkonsole
Address -- MusicPlayer
Mail -- NetFront
Home -- Home
Menu -- Menu
And here are some useful keyboard shortcuts for Qkonsole:
Fn+s will switch between terminals/consoles
Fn+n will create a new terminal/console
Fn+5 will toggle fullscreen terminal/console
Shift+Up will scroll up
Shift+Down will scroll down
If you get ~0, ~1, ~2, ~3 when you hit the function keys at the bottom of your keyboard while in
qkonsole, copy my modified linux.keytab and vt100.keytab to /opt/QtPalmtop/etc/keytabs and it
won't happen anymore.
# su
# cd /opt/QtPalmtop/etc/keytabs
# cp /home/zaurus/Documents/custom/linux.keytab .
# cp /home/zaurus/Documents/custom/vt100.keytab .
Here are some useful keyboard shortcuts for NetFront:
Fn+h home
Fn+r refresh
Fn+s save
Fn+u view previous link
Fn+i view next link
Fn+d add bookmark
Fn+f find
Fn+k toggle search bar
Fn+m new tab
Fn+b close tab
The esc key in vi is mapped to the cancel key on the Zaurus.
The function keys F1 - F10 in midnight commander are mapped to Fn + 1 to 10 respectively.
X/Qt (and also Debian PocketWorkstation which uses X/Qt) has its own keymapping. Get
xmodmaprc-c3000 and place it under /home/zaurus and/or /home/root as .xmodmaprc if your keys
misbehave.
.xmodmaprc does the following remapping so the keys are mapped similar to keyhelper:
Swapped / and , key
Fn + q = `
Ctrl + q = '
Fn + o = {
Fn + p = }
The Menu key will activate the X/Qt control.
27 of 21216/09/2007 12:23
Page 28
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Fn + m will kill X/Qt
If your keys turn all CAPS then just hold down the Shift key for a few seconds and they will turn
back to lower case.
File Associations
The file association information is derived from two places. The file /opt/QtPalmtop/etc/mime.types
stores the mime types that is used to derive the association information which is then combined
with the desktop files stored under /opt/QtPalmtop/apps
The information inside mime.types specifies what file extensions are associated with each file type.
The desktop file for each application then specifies which file type the application should handle. If
you have more than one application associated with a certain file type, then only one of them will
be associated, however, the logic that the Z uses to determine which one to use is unknown to me.
Therefore, make sure that only one of them is associated to a file type and you will get the
expected file association.
As an example, to associate Opera to .htm and .html files, you would have the following in
mime.types
text/html html htm
And opera.desktop would have the following:
MimeType=text/html
MimeTypeIcons=opera
You can also associate an icon to the file association as well which is shown in the above sample.
Multiple associates can be delimited with a semi colon (;).
Screen Orientation
28 of 21216/09/2007 12:23
Page 29
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The C3000 and C3100 have a larger screen resolution (640x480) than the older models. Older
applications designed for those models by default start in portrait mode (because that is their
default mode). The C3000 and C3100 support both portrait and landscape mode. The clam shell
design detects when the screen is rotated and automatically re-adjusts the orientation. However, it
also detects that these older applications were build for portrait mode and also automatically
switches to portrait mode when those applications are run.
To change this behaviour, tab on the application icon and hold the stylus there for a few seconds
and a properties screen will appear. Untick the option "Display with magnified screen". (This needs
to be done for each application)
Alternatively you can add the following line to the appropriate .desktop file located under
/opt/QtPalmtop/apps
Display=640x480/144dpi,480x640/144dpi
Only applications that do not have Display=640x480/144dpi,480x640/144dpi in their desktop
file will show the Display with magnified screen option, however, if EnableForcedVGA in
/home/zaurus/Settings/Launcher.conf is set to 0, then this option will not be available. The value of
3 in /home/zaurus/Settings/display.conf also means that the application will run in 640x480 mode.
Run as root
By default, applications run as the zaurus user, however, some applications need to be run with
root priviledges.
29 of 21216/09/2007 12:23
Page 30
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
To do that, tab on the application icon and hold the stylus there for a few seconds and a properties
screen will appear. Tick the option "Execute with root priviledge".
Application Preloading
Some applications are preloaded on startup. This means when the Zaurus starts up, they are
automatically loaded into memory. This makes them load very fast when you run them because
they are already loaded. However, because of that, they also use up memory.
You can prevent them from preloading and conserve memory by disabling the preloading flag for
each of the preloaded applications. To do that, tab on the application icon and hold the stylus there
for a few seconds and a properties screen will appear. Untick the option "Fast load (consumes
memory)".
Startup Screen Customisation
30 of 21216/09/2007 12:23
Page 31
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Customising the startup screen is possible. The startup image is a 90 degrees rotated bmp file
(480x640) with a 24bit colour depth called Startup_screen.bmp. You simply need to copy it to the
correct location so it will be picked up at boot time.
# su
# cp /home/zaurus/Documents/custom/Startup_screen.bmp /opt/QtPalmtop/pics144
It will look like this:
If you want to get rid of the Sharp screen right at the beginning of the boot process, then you will
need to recompile the kernel with the sharp logo option disabled. Tetsu's kernel does that as well.
The file /root/etc/rc.d/rc.sysinit controls what is started at bootup. It runs all the scripts under the
rc.d directory depending on which runlevel is invoked and then runs rc.rofilesys. However, rc.local
which normally is the last script it runs is commented out and won't be run. You can make it run
rc.local by uncommenting that section:
cd /etc/rc.d
if [ -f "./rc.local" ];then
if [ -x "./rc.local" ];then
echo "*** Running rc.local"
./rc.local
fi
fi
Alternatively, you could also modify /home/QtPalmtop/qpe.sh and make it run /etc/rc.d/rc.local
sdisp /home/QtPalmtop/pics144/Startup_screen.bmp &
/etc/rc.d/rc.d/rc.local
cd
if [ -f /etc/restorefile ]; then
export LD_LIBRARY_PATH=/usr/QtPalmtop.rom/lib
else
export LD_LIBRARY_PATH=$QTDIR/lib
fi
qectrl -c
The difference between running rc.local from rc.sysinit and qpe.sh is that the output of the scripts
executed from rc.local will be displayed during the boot process if its run from rc.sysinit (if using
tetsu's kernel) while nothing will be displayed when running it from qpe.sh because it will be
covered by the boot screen image.
Wallpaper Customisation
The C3000 and C3100 allow you to use a wallpaper which can be a png or jpg file. By default, if you
31 of 21216/09/2007 12:23
Page 32
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
use the Appearance application under the Settings tab, your selected image will be tiled unless you
pick an image that exactly fits the screen (640x420 or 480x620 minus the Qtbar) depending on
which your preferred orientation is. However, if you rotate the screen, then the image will be out of
proportion and will be tiled.
There is a way around this if you install Plasterer [plasterer_2.1.0-1_arm.ipk] which allows you to
choose an image that you can center or tile. It will then generate two images for you, vImage.png
and hImage.png which will be used as your wallpaper depending on which orientation you are in.
You can replace those two files with your preferred images which can be two completely different
images.
I have created the following background images with their horizontal and vertical pairs so they look
decent on the Zaurus in either orientation:
linuxgirl11linuxmypdathinklinux
tuxbackunix2000tuxdrinkxpthinkshell
Note: Most of the above images were taken from Cresho's zaurusthemes.org site. There are plenty
more pretty background images over there. These are just my favourite ones.
You will notice that this application is in Japanese. Use the Menu Language Switcher (en) tool under
the Settings tab (if you have langswitch installed) to move the qm file and it will be in English.
Once you have used Plasterer to generate hImage.png and vImage.png you can use bgswitch
[bgswitch_0.1_arm.ipk] to switch between your available backgrounds provided they are located in
/home/zaurus/Documents/Image_Files/wallpaper
ScreenSaver Customisation
32 of 21216/09/2007 12:23
Page 33
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The default screensaver on the C3000 and C3100 is rather ugly. You can replace it with something
much better. To do that install the following:
You will notice that this application is in Japanese. Use the Menu Language Switcher (en) tool under
the Settings tab (if you have langswitch installed) to move the qm file and it will be in English.
Menu and Tab Customisation
You can re-organise tabs and applications using the TabConf/TabSetting tool. Alternatively, you
can also move files around under /home/QtPalmtop/apps, but those changes will not apply until you
restart Qtopia, reboot the Z, or run TabSetting and apply the settings by saving them. There are
also two hidden files in each sub-directory called .order and .directory which can be manually
changed as well.
33 of 21216/09/2007 12:23
Page 34
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
In addition, you can customise the icons that are displayed for each application on the menu, and
also the icons displayed for the applications according to their mime associations.
The icons for the menu and the tabs are located under /opt/QtPalmtop/pics144. Qtopia will always
search this location for the icons first. If no icon is found with the specified name, then it will also
search under /opt/QtPalmtop/pics as well. If an icon exists with the same name in each location,
then the icon in /opt/QtPalmtop/pics144 is used.
The default icons that come with the default Sharp ROM on the C3000 are located under
/hdd1/usr/QtPalmtop.rom/pics144 and /hdd1/usr/QtPalmtop.rom/pics and are symbolically linked to
/opt/QtPalmtop/pics144 and /opt/QtPalmtop/pics144 respectively.
Similarly on the C3100, they are located under /usr/QtPalmtop.rom/pics144 and
/usr/QtPalmtop.rom/pics and are symbolically linked to /opt/QtPalmtop/pics144 and
/opt/QtPalmtop/pics144 respectively.
The icons for file association are by default searched under /opt/QtPalmtop/pics. When installing
applications, they add their icons to /opt/QtPalmtop/pics144 and/or /opt/QtPalmtop/pics. Usually
icons under /opt/QtPalmtop/pics144 are 64x64 in size and icons under /opt/QtPalmtop/pics are
32x32 in size. However, some special smaller icons of size 28x28 are also located in
/opt/QtPalmtop/pics144 and size 14x14 under /opt/QtPalmtop/pics
The icons can be customised by replacing the icons used by the applications or copying additional
icons to those locations and using the TabConf utility to change the icons used for the applications.
Alternatively, each .desktop file under /opt/QtPalmtop/apps can also be manually modified. If you
replace an icon by copying over another icon file with the same name, then you will not see the new
icon until you reboot because Qtopia still has the old icon in cache.
customised start menu:
34 of 21216/09/2007 12:23
Page 35
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The following is a list of the names of the icons that need to be replaced in order to change the look
and feel of the default Qtopia desktop. Since some of these icons are symbolic links, the symlinks
need to be deleted first before a new icon can be copied to replace them. I have replaced and added
the following default icons:
The zicons-wmtux package [zicons-wmtux_0.2_arm.ipk] will replace the above listed icons with a
set of nicer looking ones and also adds a few extra icons for applications. This package is based on
the cool-icons package from cacko.biz and also the z-oslinux theme from zaurusthemes.org
The Appearance tool under the Settings tab can be used to switch themes. Crystal Blue is one of my
favourites, although a combination of SLStyle for the Style, umicons for the Title Bar and Gray for
the Colour Scheme does look very good too.
Configuring bash
The Zaurus comes with bash 2.05 by default. It also comes with ash and sh which is the default
shell for the root and zaurus user accounts. The zaurus user forks off and launches bash when you
launch a console from within Qtopia. When you connect to the zaurus via telnet for example or su
to root, you will get the default shell (/bin/sh) which is not bash. If you want to make bash your
default shell, then edit /etc/passwd and change /bin/sh to /bin/bash
You can also customise the bash prompt by creating or editing a file called .profile or .bashrc which
is in the user's home directory, eg: /home/zaurus/.profile or /home/root/.profile
37 of 21216/09/2007 12:23
Page 38
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
You can change the bash prompt by changing the PS1 variable definition to something simple like
zaurus-:) or even something fancy with different colours.
If you don't have a .bashrc file, you can just copy .profile for starters and then modify it.
Zaurus Home Directory
The zaurus user's home directory (/home/zaurus) is located on the /home partition
(/dev/mtdblock3). On the C3000 it is only 4MB in size. It is physically located on the internal flash
memory which is only 16MB in total on the C3000. This partition cannot be made bigger since the
rest of the flash memory is used for the main rootfs (/dev/mtdblock2), the emergency rootfs
(/dev/mtdblock1). The /home partition is also used to store kernel modules (/home/root/modules),
system configuration (/home/zaurus/Settings and /home/etc/) and other things. In addition, some
applications also store their configuration and data into the zaurus home directory (this is what
linux apps are supposed to do), but it is not so ideal on the C3000. Thus the /home partition quite
quickly fills up. It it advised to not store large files there, in fact, try avoiding saving anything there
to preserve the precious space available on /home.
If you do run out of space, you can move some files and directories to /hdd2 or /hdd3 and symlink
the files/directories. To simplify this, I have created a script zhomefix which will move all files and
directories in /home/zaurus starting with . to /hdd2/zaurushome and symlink them back. If you are
low on space on /hdd2 as well, you can modify zhomefix to move files to /hdd3/zaurushome
instead.
On the C3100, however, the situation is slightly different. The internal flash memory on the C3100
is 128MB in size compared to the tiny 16MB on the C3000. Now you would think that the C3100
won't run out of space so easily. Unfortunately, that is not the case. The rootfs is now allocated
32MB instead of 4MB which was what it was on the C3000, and remember, there is also the
emergency rootfs (smf). So after allocating some of the space for the other stuff, there is still 89MB
of space left on /home. This isn't so bad after all you think, but wait, there is another surprise. On
the C3000, the internal MicroDrive was partitioned into /hdd1, /hdd2 and /hdd3. The default
binaries and settings were stored on /hdd1 which was a read-only filesystem. All the applications
were installed to /hdd2 and the remaining /hdd3 was used for data. On the C3100, the content of
/hdd1 has moved to the rootfs and /hdd2 has moved to /home. Those two partitions (/hdd1 and
/hdd2) are now about 9MB in size each on the C3100 and are more or less empty and not in use.
This makes /hdd3 much bigger on the C3100 compared to the C3000.
However, this in effect makes /home on C3100 equivalent to /hdd2 and /home on the C3000. There
was around 400MB allocated to /hdd2 on the C3000 for installing applications. We only have 89MB
38 of 21216/09/2007 12:23
Page 39
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
on the C3100. Luckily, this 89MB is located on a jffs2 filesystem which has built-in compression so
we could be able to install around 200-300MB of applications and stuff if we are lucky. Still, we will
run out of space eventually. If that happens, we could uninstall some applications (such as the
additional applications that came with the C3100 but weren't present on the C3000) or we could
move some files to /hdd3, but be careful, /hdd3 is by default a FAT filesystem and does not support
symbolic links which some applications might require. See the Filesystem section on discussion on
using cramfs or ext2 loopback filesystem on /hdd3 to extend the amount of installable space.
Alternatively, you can install to SD or CF card, but some applications require to be installed to
non-FAT partitions so you might need to reformat them.
HDD3 Considerations
Both the C3000 and C3100 contain an internal 4GB MicroDrive which is partitioned into /hdd1,
/hdd2 and /hdd3. By default, /hdd3 is formatted as a FAT filesystem so it can be shared as a USB
drive when the Zaurus is connected to a computer as a USB slave and accessed from Windows. The
first partition, /hdd1 is a read-only partition containing the OS images and binaries required to run
and restore the Z to factory default on the C3000. On the C3100, it is an almost empty partition
with a size of 9MB. It contains a file called hdimage2.tgz that has the directory structure and
sample template files for hdd3. The second partition, /hdd2 is where applications get installed to on
the C3000. On the C3100, it is also an empty partition with a size of 9MB. The third partition, /hdd3
is allocated the remainder of the MicroDrive and is a FAT formatted partition. It can be used to store
data on files of any type, including relatively large files. Alternatively, /hdd3 could potentially also
be used for applications when /hdd2 or /home is full if you apply a few modifications.
However, since the default /hdd3 is using the FAT filesystem, no symlinks can be created on it and
file permissions and ownership are also not available. Thus, there are a few drawbacks with having
/hdd3 as a FAT partition. You can either reformat the entire /hdd3 to linux filesystem (ext2/ext3) or
repartition /hdd3 into /hdd3 and /hdd4. This leaves a smaller FAT formatted /hdd3 and additionally
a /hdd4 with a linux partition.
Before repartitioning /hdd3, make sure you backup everything on it first. The dictionary files (dict1
and dict2) which are by default on /hdd3 can be found on the first two CD-ROMs that came with the
Zaurus. The C3100 has a third CD-ROM which contains the files for the Contents_Files directory.
The contents of the sd_map directory (C3100 only) are located under a sub-directory under the
Applications directory on the first CD.
/hdd3 is usally mounted from /dev/hda3 or /dev/hdc3 depending on how you booted. If you booted
with no CF card, then it will be /dev/hda3, however, if you had booted with a CF card inserted, then
it will be /dev/hdc3.
The steps required for splitting hdd3 into two are:
unmount hdd3
run fdisk and delete hdd3
run fdisk and create hdd3 as FAT
run fdisk and create hdd4 as EXT2 or EXT3
format hdd3 as FAT
format hdd4 as EXT2 or EXT3
There is also a tool called parted which allows you to resize your existing partitions without having
to remove them. This is certainly very useful tool, but remember to backup your hdd3 before
resizing it if you have files on hdd3 that you want to keep. Although parted can resize the partition
without wiping your data, it is not guaranteed. There may be instances where resizing could corrupt
the partition so its always wise to do a backup first. Also run fsck after using parted to verify that
the partition has been resized successfully without corruption.
Once that is done you need to remount / as read/write and create a mount point for hdd4, ie /hdd4.
Remember to remount / to read-only after you have created your mount point. Also you will need
to create a startup script to mount hdd4 during bootup. But be careful since hdd4 can boot up as
/dev/hda4 or /dev/hdc4 depending on whether a CF card is inserted during bootup or not. My
automounter package [automounter-c3000_0.5.0_arm.ipk] will automatically mount hdd4 if it
detects it.
39 of 21216/09/2007 12:23
Page 40
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Alternatively, if you don't need your Zaurus to act like a USB drive, or your PC runs Linux, then you
could just reformat the entire /hdd3 to linux filesystem.
You might also consider creating a small swap partition while you are at it. A swap partition is faster
than a swapfile. A swap partition between 64MB and 256MB should be fine depending on your usage
and applications.
Also note that the default installer tool (qinstaller) won't let you install applications to either /hdd3
or /hdd4. ipkg will allow you to install to those locations but won't relink the applications for you, so
you will have to use ipkg-link afterwards which is not included with the default Sharp ROM. My xipk
script which is part of my ipktools package enables you to install to /hdd3 and/or /hdd4, and also
relinks the files and directories for you. In addition, it uses the same mechanism as qinstaller and
thus applications installed with xipk can be uninstalled using the qinstaller.
If you want to maximise the space on hdd3 and you don't care about the Japane se/English
dictionary and translator, then you could remove the dictionary files under /hdd3/dict1 and
/hdd3/dict2. If you later decide that you do want them, simply copy them back from the CD-ROM
(so don't loose your CD-ROMs). On the C3100, there is additionally the MobileMap application which
has some files under /hdd3/Documents/sd_map. You can uninstall the application and remove the
sd_map directory to get more space. You can re-install MobileMap from the first CD, and find the
contents of sd_map under X:/Applications/MobileMapData/sd_map. The MobileMapData part is in
katakana. There is also the Contents_Files directory containing many Japanese books and reading
material on the C3100. If you don't know Japanese, you probably want to hide the Contents tab.
This can be done though the Appearance tool under the Settings tab. You probably also want to
remove the /hdd3/Documents/Contents_Files directory afterwards as well. If you ever want it back,
you can simply copy it from the third CD.
Lastly, /hdd3 gets wiped when you do a factory reset, but you can disable that behaviour. To do
that you need to first remount / as rw and then modify /root/etc/rc.d/rc.rofilesys and comment out
the following section:
if [ "$HDDCLEAR" = "YES" ]; then
dd if=/dev/zero of=/dev/${IDE1}3 > /dev/null 2> /dev/nulls
fi
mkfs.vfat -F 32 /dev/${IDE1}3 2> /dev/null > /dev/null
Of course, after you do a factory reset, you will need to fix rc.rofilesys again so the next time you
do a reset it won't wipe your hdd3. Alternatively, you could also update .home_default.tar and
replace the rc.rofilesys in there with the hacked version and not worry about it anymore.
On the C3100, /hdd1 and /hdd2 doesn't contain anything important and are a waste of space
because those partitions are not really used except for factory reset to wipe /hdd3 which sux
anyway. Thus you can hack rc.rofilesys to not even mount them or you could resize the partitions
so that /hdd1 is a swap partition, /hdd2 is a linux filesystem (instead of /hdd4) and /hdd3 becomes
a smaller fat partition.
Here is the default partition table:
Disk /dev/hda: 4095 MB, 4095737856 bytes
16 heads, 63 sectors/track, 7936 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Start End Blocks ID System
/dev/hda1 1 20 10048+ 83 Linux
/dev/hda2 21 40 10080 83 Linux
/dev/hda3 41 7936 3979584 c Win95 FAT32 (LBA)
Here is my custom partition table which has /hdd1 as a 256MB swap partition, a 1.2GB ext3
partition on /hdd2 and a 2.5GB on /hdd3:
40 of 21216/09/2007 12:23
Page 41
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Disk /dev/hda: 4095 MB, 4095737856 bytes
16 heads, 63 sectors/track, 7936 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 256 128992+ 82 Linux swap
/dev/hda2 257 2790 1277136 83 Linux
/dev/hda3 2791 7935 2593080 c Win95 FAT32 (LBA)
In order to do this, you need to replace /root/etc/rc.d/rc.rofilesys after you have remounted / as
rw. You also need to remove the NotAvailable file from the unmounted /hdd1 and /hdd2.
I have successfully used parted to shrink /hdd3 dynamically without destroying my existing files but
backing up the files is still recommended just in case. Then I used fdisk to recreate /hdd1 and
/hdd2 with their new sizes and formatted them using mkswap and mk2fs -j respectively.
Now when the C3100 boots up, it automatically mounts /hdd3 as before but it won't erase /hdd3 on
a factory reset, and it also mounts /hdd2 as ext3 if it exists. Additionally, it also enables the 256MB
swap partition (formerly /hdd1) and mounts tmpfs as 2MB instead of 1MB.
MicroDrive Performance
The C3000 and the C3100 both have a 4 GB CF MicroDrive internally, which is used as its harddisk
to store data. Since a CF Flash card is generally faster than a MicroDrive, it would make the Zaurus
faster if the CF MicroDrive is replaced with a CF Flash card. This makes sense for the C3000 where
the applications and binaries are stored on the MicroDrive and there is a slight delay for the
MicroDrive to spin up when it has gone into powersaving mode after some time of disk inactivity.
However, for the C3100 it would not make such a big impact on application performance since they
actually are on the flash memory instead of the MicroDrive. Still, if the application is also stored on
the MicroDrive, ie /hdd3 is used for installing additional applications such as PocketWorkstation and
a large swapfile, then it would make sense too.
To do this, you would need a CF Flash card to replace the MicroDrive with. Make sure the Flash card
you are using has a similar capacity to the MicroDrive (4GB would be good, 2 GB is managable and
bigger ones should be better). However, make sure the Flash card you are using is faster than the
current MicroDrive inside the Zaurus (the Z has a 4GB Hitachi MicroDrive inside), otherwise you
won't be gaining anything.
What you want to do is mirror the 4GB MicroDrive to the Flash card. You can d o this by inserting
the Flash into the CF slot on the Zaurus and partition it ex actly like the MicroDrive using fdisk.
Then use the dd command to copy each partition, ie hdd1, hdd2 and hdd3. Unmount hdd2 and
hdd3 before you copy them or remount them to read-only. The other partitions are located in the
internal flash memory (also called Nand). Alternatively, you can also use parted to copy the entire
partition from one disk to another. Once this is done, you can open up your Z and swap the two
drives. This will void your warranty, so make sure you understand and know what you are doing. It
is your own responsibility if you break your Zaurus or any parts of it. Finding replacement parts will
be extremely difficult unless you live in Japan, so be careful and consider the consequences of your
actions, or modifications. Let me say it again. If you open your Zaurus up to replace parts, you void
your warranty. If you break something during the process, then you are on your own since you just
voided your warranty.
Zaurus Backup
You should always backup your system since that is the only way to recover if something goes
wrong.
41 of 21216/09/2007 12:23
Page 42
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The C3000 and C3100 come with a backup and restore tool which is located under the Settings tab.
Use this application to backup your Zaurus. It allows you to backup your system (flash, applications
and configurations) to either SD, CF or /hdd3. Basically, everything except /hdd3, /hdd1, /root and
/mnt will be backed up and can be restored which means you will need to backup /hdd3 by other
means. Before you backup, make sure you unmount any loop devices that are mounted, unless
they are mounted under /mnt, otherwise they will be backed up as well (which you think might be
great) but you won't be able to restore the backup image (because the additionally backed up files
on the loop device(s) will make the backup image bigger than the backed up partitions). If you have
automounter installed, you can unmount all the loop devices by running the following:
# su
# automounter stop
Once you have backed up all the files on your Zaurus, you can remount all the loop devices by
running the following:
# su
# automounter start
Since /hdd3 is quite large, you either need to get a big CF card, or mount a Samba or USB drive
that has enough space to hold your data. A USB drive would be the best (cheaper than CF drive and
faster than Samba since its connected directly and not over a network unless you have got a fast
network).
Assuming you have your USB disk mounted as /mnt/usbdisk1 you could do the following to backup
/hdd3:
# tar cf - /hdd3 | gzip - > /mnt/usbdisk1/hdd3-backup.tgz
If you are paranoid you can backup /hdd1, /hdd2 and /home as well:
# tar cf - /hdd1 | gzip - > /mnt/usbdisk1/hdd1-backup.tgz
# tar cf - /hdd2 | gzip - > /mnt/usbdisk1/hdd2-backup.tgz
# tar cf - /home | gzip - > /mnt/usbdisk1/home-backup.tgz
# tar cf - /root | gzip - > /mnt/usbdisk1/root-backup.tgz
# tar cf - /mnt | gzip - > /mnt/usbdisk1/mnt-backup.tgz
42 of 21216/09/2007 12:23
Page 43
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The Zaurus backup tool basically shuts down Qtopia so all open files are closed and then tars up
/hdd2 and /home which become the backup image. This is much safer than the above approach
while Qtopia is still running. You should, however, gzip the backup image to save some space.
There is no real need to backup /hdd1 each time since it is a read-only partition and does not
change unless you have changed something on it manually or applied an update via flashing.
I have written a script called hdbackup which will backup /hdd3 by archiving and compressing each
directory separately and datestamping them so regular backups can be made by simply running a
single command.
Alternatively, you can connect your Zaurus to your Windows PC through the USB link cable and use
Windows backup software or anything else you like to backup the USB drive that the Zaurus is
recognised as. Since the USB PC connection is buggy, you might be better of enabling Samba and
then backup /hdd3 over the network or USB cable.
Lastly,don't forget about backing up your SD and CF card also. They can get corrupted or fail
without warning as well, so make sure you back them up to.
In addition, there is also a NAND backup feature in the Zaurus Diagnostic Menu which allows you to
backup the entire NAND. Since the C3000 only has 16MB of NAND flash and everything actually sits
on the hdd3, doing a NAND backup won't buy you much. On the C3100, however, everything is on
the NAND except for the data on /hdd3, thus making a NAND backup for the C3100 gives you a
reliable system image which you can use to restore your C3100 if you really mess it up. The same
is not the case with the C3000 so be very careful with what you flash your C3000 with.
To do a Nand Backup, you need a CF or SD card which can hold the entire Nand. A 256MB card
should be sufficient. To do a Nand Backup or Restore, do the following:
Turn off or suspend the Z
Unplug the Z and take out the battery
Press and hold the D and M keys simultaneously
Plug in the power
The Maintenance Menu should appear in a few seconds
Go to the third page in the menu
Select either Nand Backup or Restore
When finished turn off the Z
Put battery back in and start Z
Zaurus Restoration/Recovery
If you manage to corrupt your Zaurus configuration so badly that you cannot boot it anymore or
things just don't work any more, then you have several options to fix it.
Factory Reset
If you really messed up and just start over again without retaining anything, then just do a
factory reset and the Zaurus will revert to its initial Japanese ROM state.
Restore From Backup
If you have a backup, you can restore your previous settings contained in your backup files. If
you had to factory reset, then a restore can quickly get you to where you were before.
Command Line Recovery
This is by far the most advanced option. Use this to recover files that might not have been
backed up yet before doing a restore and/or factory reset.
Please refer to Trisoft's C3000 manual on how to do the above. It would be a waste of my time to
provide step by step instructions since they have it pretty much covered, and they even have
emergency backup images for you to use in case you dont't have a system backup.
If you have booted into the console for recovery, then you are using the /dev/mtdblock1 partition.
43 of 21216/09/2007 12:23
Page 44
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
This is the emergency partition that you usually don't see. You will need to manually mount the
usual partitions if you want to access them. /home is /dev/mtdblock3 and /dev/mtdblock2 is your
root partition. Don't forget to unmount the partitions after you have finished your changes or they
will be rolled back and all the files remain unchanged.
Zaurus ROM Update
For the C3000, you should update your Sharp ROM to 1.11JP if you are still on 1.01JP
There is no updated Sharp ROM for the C3100 yet.
Put card_update_3000111.exe onto a Windows machine (you got one of those right?) and run
it to extract the files. (it's a self extracting zip file).
Then copy all the extracted files to a SD or CF card (if your windows box has no card reader,
then put the memory card into your Zaurus and connect it via USB cable and switch it to share
your card instead of your hdd so you can transfer the files directly to the card). Make sure you
put the files into the card's root directory, ie don't put them into any folder and don't copy the
folder they were in.
The following files should be on the root of your memory card:
hdimage1.tgz(about 19,734KB)
Turn off your Zaurus and disconnect the power cable (and any other cables). Unlock the
battery compartment and press the little reset button with your stylus. Put the lid back on and
make sure to lock it again.
Now make sure your Zaurus is plugged in to the AC power. You don't want to be on battery
power and have your Zaurus run out of juice in the middle of the update process (you can kiss
your Zaurus goodbye if that happens). Also make sure your card with the update files is
inserted.
The charge indicator should be orange now. Hold the "OK" key on the keyboard or the back of
the Zaurus and turn on the device with the "On/Off" button.
You should see the maintenance menu and select option 4 to update/flash the ROM. On the
next screen, select either 1. CF or 2. SD depending on where your update files are. Now
confirm to proceed with the update by selecting Y. Wait about 5 minutes after which your
Zaurus should reboot. You're done. You should have 1.11 JP ROM now.
Warning: Only flash your Zaurus with a ROM intended for your specific model and make sure you
downloaded the complete files. Never ever flash your Zaurus with a ROM for another model. It will
cause you many sleepless nights trying to restore it to a working condition.
Zaurus Kernel Replacement
There are several replacement kernels for the C3000 and C3100 which enhance the stock kernel
that ships with Sharp's ROM. You can even build your own if you want (and know how to). The
kernel source is available on Sharp's developer website. However, there are some smart people who
already build and tested their own enhanced kernels. One of those is Tetsu's special kernel which
has been build for optimised speed and also includes iptables and bluetooth modules. It also makes
the battery status more accurate and it has a few bug fixes too.
Warning: The kernel is an important part of the Linux OS. A bad kernel can corrupt your Zaurus,
so don't play around with it unless you know what you are doing and install the correct kernel for
your model.
Download and place the files onto a CF or SD card.
Turn off your Zaurus. (suspend it).
Unlock the battery compartment and push the little reset button.
Put the lid back on and lock it again.
Plug your Zaurus into the AC power.
44 of 21216/09/2007 12:23
Page 45
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Hold the "OK" key on the keyboard or the back of the Zaurus and turn on the device with the
"On/Off" button.
You should see the maintenance menu and select option 4 to update/flash the ROM.
Select either 1. CF or 2. SD depending on where your update files are.
Confirm to proceed with the update by selecting Y.
Reset your Zaurus (press the little reset button inside the battery compartment and then press
the "On" key).
Install the kernel module ipk file that came with the kernel.
Zaurus Maintenance
fsck needs to be run on the Linux filesystems from time to time to check for inconsistencies in the
file systems and to fix it if there are any. fsck is similar to the chkdsk or scandisk command in DOS
and Windows.
Running fsck on a mounted filesystem is not recommended so the safest way to run it on the C3000
is from the maintenance menu. Unmounting the partitions on the MicroDrive is much easier on the
C3100 since it runs off the flash instead of the disk. For FAT partitions, ie /hdd3, use fsck.vfat
instead of fsck.
To perform fsck via the maintenance menu do the following:
Shutdown Zaurus
Remove battery lid and press the reset button
Put battery lid back on and lock battery compartment
Plug the power cable in
Hold OK button and turn Z on
Select Option 2 (data check)
Select Option 2 (run fsck)
Confirm (left option)
Wait for fsck to finish
Restart Zaurus (using the reset key inside the battery compartment)
The fsck from the Maintenance Menu checks all three partitions on the MicroDrive, ie /hdd1, /hdd2
and /hdd3. It does not fsck /home or /root which is located on Flash. In fact, there is currently no
known way of fscking a jffs2 filesystem which /home and /root are formatted as.
You should also regularly fsck your SD and CF card. Please unmount them before fscking them.
Here is how you would fsck a FAT formatted SD card:
# su
# umount /mnt/card
# fsck.vfat /dev/mmcda1
# mount /mnt/card
Zaurus Networking
Configuring a Wireless CF adaptor:
Enabling the wireless network was amazingly easy and straightforward. Just plug in the Wireless CF
card and the Zaurus automatically detects it. Then run the Network config applet and enter the
network info and press connect. Voila! That's it. Way too easy. This was the case using a Netgear
MA701 CF Wifi card. Not all CF Wifi cards are supported so your milage may vary depending on your
card.
45 of 21216/09/2007 12:23
Page 46
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
However, you can also manually configure the network without using the Network config applet.
The config files it generates are located under /home/zaurus/Applications/Network/modules and are
called WLANx.conf. You will also need to edit the corresponding entry in /etc/pcmcia/wlan-ng.opts.
If for any reason the applet won't let you enter a value you want (such as space in ssid), then you
can edit the mentioned config files yourself.
Enabling a USB LAN adaptor:
Now this one was a bit trickier. My USB LAN adaptor came with a Linux driver, a file called rtl8150.c
and all that was required was to compile it on the Zaurus (provided you got gcc to work). Anyway, I
cheated and googled for rtl8150-1.o and found it :)
Next I had to install this driver which was quite easy. All that was required was to drop it into the
following location: /lib/modules/2.4.20/kernel/drivers/usb/net and the hotplug mechanism in Linux
would detect whenever the device was connected and enable eth0.
Now came the slightly harder part, ie the automatic configuration of the device. The network applet
seems to only work for the CF based cards so it completely ignored eth0 because it came from the
USB interface. After looking at how the usbdnet and wlan is configured by the hotplug mechanism, I
extended the net.agent to check for eth0 as well and added net.func and net.conf to automatically
configure the network once the cable was plugged in.
In addition I also wrote a script called net to change the stored network settings so I can easily
switch between networks. The configuration for net are stored under /etc/sysconfig/netconf and net
is invoked with the name of one of the config files as the parameter. Proxy settings for the Zaurus
are stored under /home/zaurus/Applications/Network/modules/Proxies.conf which net will
automatically update depending on the config being loaded.
# net dhcp (loads the config file dhcp.conf)
# net -gui (starts with opie shell in QTopia desktop)
# net -refresh (tells NetFront that its connected already)
46 of 21216/09/2007 12:23
Page 47
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# net -resume (manually force network to resume)
Here is a sample config file for a private network:
net also has a GUI front-end using opie-sh, but in order to use the GUI, sudo needs to be
configured to allow zaurus user to change the network settings, ie. ifconfig and dhcpcd. I also
created a netswitch package [netswitch_0.4_arm.ipk] which will do the above steps when installed.
Some application such as NetFront insist on doing their own connection and disconnection to the
network and ignore the fact that your USB network is already connected. As a workaround net has
a refresh option to reset the network status whenever those programs mess with it. Simply run the
following after you have launched NetFront:
# net refresh
A lot of the USB network cards use either the rtl8150 chipset or are compatible with the pegasus
driver. Drivers for both are included with netswitch, so installing the netswitch package should
enable your USB LAN device in most cases. However, some network cards use other chipsets. You
should be able to compile your own driver if you can find the driver source. See gcc section for
further details.
Using the advanced USB sync:
The USB sync cable which allows you to access your Zaurus as a USB disk can also be used in
TCP/IP mode which means you could use that cable to network your Zaurus and your PC.
To do this, you first need to install the USB NDIS drivers onto your PC or laptop. The Zaurus
Software for the PC (Windows) does not use UniCode and hence displays garbage when run on an
English version of Windows (even if you have installed the Japanese language pack and your
browser can display Japanese websites without problems). To fix this, change the default Windows
system locale to Japanese and restart Windows. Then run X:\PCSOFT\Setup.exe from the Zaurus
CD-ROM and you will be able to read the Japanese.
Select next as appropriate and use the following as guide for the options:
Intellisync for Zaurus
Backup/Restore
Zaurus Shot
47 of 21216/09/2007 12:23
Page 48
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Zaurus Drivers (Network)
(you only need the last option for the USB network)
Restart Windows when the install has finished.
The USB network driver is now installed and Zaurus Manager should had started automatically. If
it has not, start it manually by running "C:\Program Files\Common
Files\Sharp\SL\SSPCLINK2\ComSet.exe". You should also make a copy of C:\Program Files\Sharp
Zaurus 2\drivers, best is to zip up the whole directory. This is the Zaurus USB network driver. You
can use this driver to re-install the USB network or install it to another machine without having to
run through the whole setup process again.
Rather than carrying a floppy, CD-ROM or another USB stick around that contains the Zaurus NDIS
USB driver, you could put it on /hdd3/Documents on the Zaurus itself. When you connect your
Zaurus to a computer which has not been setup with the Zaurus NDIS USB driver before, it will
detect the Zaurus as a plain USB storage device and allow you to copy the driver from the Zaurus.
Then once you installed the driver to the computer, it will believe that it is connected to the Zaurus
via a network instead of treating the Zaurus as a dumb USB disk (provided the Zaurus is in
advanced USB mode).
48 of 21216/09/2007 12:23
Page 49
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Now, on to the Zaurus side of the configuration. Run the PC Link tool from the Settings tab and
select PC Link Setting, then select Connection USB-TCP/IP (advanced). Now just connect the
USB cable (USB mini-B into Zaurus, USB A into Laptop or PC). The Windows machine should detect
a new device at this point, a SL series Ver3 (NDIS 5) network adaptor, and you should be able to
configure it. By default, the Zaurus would be assigned an IP address of 192.168.129.201. Assign an
IP address in the same range to this new network adaptor, eg 192.168.129.101. You should now be
able to ping both ways unless you have a firewall blocking it or DDE service is not enabled. If you
want the Zaurus to be able to access the internet as well, you could enable internet sharing on your
Windows PC (assuming it has internet connectivity and you trust Microsoft security). If you do that,
Windows will reset the IP address of your Zaurus NDIS driver to 192.168.0.1 but you can change it
back to whatever value you had given it before, ie 192.168.129.101
On the Zaurus side, you need to run the following commands to setup a route to your windows box:
Now that the route is configured, you should be able to ping servers by their IP addresses. In order
to resolve the hostnames, you need to configure /etc/resolv.conf on your Zaurus with the DNS that
is used on your Windows box. Assuming your DNS is 192.168.10.1, do the following:
Since the Zaurus has an infra-red port (IrDA), you can use it for networking as well provided you
also have an IrDA port on your PC or laptop that you can configure to use PPP over IrDA (IrCOMM
or IrNet). This method of networking your Zaurus would give you the slowest network speed and
you usually would not use it if the other options were available to you. But if your CF slot and USB
port are tied up with other things, then using IrDA for networking might be something viable.
For this to work, you would need to first choose whether to use IrCOMM or IrNet drivers. Then you
would need to make sure the chosen driver is enabled on both your Zaurus and your PC or Laptop.
For IrDA connectivity, one machine has to be the host and the other the client. I will describe how
to make Zaurus the host and the other PC or Laptop the client. The roles can also be easily
reversed. I also did not bother with security since both machines would have to be physically in
close range to each other in order for this to work.
IrCOMM
The IrCOMM driver is by default already installed on the Zaurus and most Linux machines that have
IrDA enabled. However, you would need to install a driver for Windows. On Windows 2000, for
example, you will need to disable Image Transfer and install an IrCOMM driver (IrCOM2k). The
following site describes how to setup IrCOMM on Windows2000:
http://www.stud.uni-hannover.de/~kiszka/IrCOMM2k/English/manual.html. Once you have installed
49 of 21216/09/2007 12:23
Page 50
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
the IrCOMM driver, you can setup a new network connection (Direct Connection) using IrDA as the
device and setting up Windows as the client with no password prompt.
On the Zaurus, you will need to do the following to make it start IrDA as the host:
# su
# /etc/rc.d/init.d/irda start
# pppd /dev/ircomm 9600 10.10.10.21:10.10.10.20 local noauth nodetach
On the IrDA client, if you are running Linux (and IrCOMM is already setup), you can simply do the
following:
# su
# /etc/rc.d/init.d/irda start
# pppd /dev/ircomm 9600 nodetach
If you are running Windows (and you have setup the direct connection using IrDA as client) you can
simply double click on the Direct Connection icon to connect.
Once they are paired successfully, you can ping the other box from the Zaurus as 10.10.10.20. The
Zaurus would be 10.10.10.21 in this example.
To stop IrCOMM, simply press Fn + c and then run /etc/rc.d/init.d/irda stop
IrNet
You will need the IrNet module on the Zaurus and your other Linux box. However, it is already
installed on Windows 2000 so all you need to do on Windows is to create a new Direct Connection
using IrDA interface.
To install and enable IrNet on the Zaurus, you will need to copy irnet.o to
/lib/modules/2.4.20/kernel/net/irda/irnet.
On the IrDA client, if you are running Linux (and IrNet is already setup), you can simply do the
following:
# su
# /etc/rc.d/init.d/irda start
# pppd /dev/irnet 9600 nodetach
If you are running Windows (and you have setup the direct connection using IrDA as client) you can
simply double click on the Direct Connection icon to connect.
Once they are paired successfully, you can ping the other box from the Zaurus as 10.10.10.20. The
Zaurus would be 10.10.10.21 in this example.
You can also just simply install irnet_2.4.20_arm.ipk which installs and configures irnet so that it
will be available even after a reboot. It also provides an opie shell script to allow you to start and
stop it from the Qtopia GUI or simply run irnet start to start it from the command line and irnet
50 of 21216/09/2007 12:23
Page 51
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
stop to stop it.
Using Bluetooth for networking:
If you have a CF bluetooth card or a bluetooth USB dongle, then you can set up a PAN (Personal
Area Network) with other bluetooth enabled devices.
In the case you have a bluetooth enabled mobile phone with GPRS service, then you can even use
bluetooth to connect to your phone using dialup networking (DUN) to use the phone's GPRS service.
However, the default Sharp ROM does not have bluetooth drivers or tools installed out of the box
and you will need to setup and install those first before you can use bluetooth. See the bluetooth
section for more details.
File Sharing and Services
Enabling Samba (over wireless or ethernet)
51 of 21216/09/2007 12:23
Page 52
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
By default, a Samba service is already installed on the Zaurus. It is used when you synchronise
your Zaurus with your PC while the USB cable is plugged in. You can also manually start and stop
the Samba service and allow it to go over your wireless and ethernet network instead of just the
USB cable. If you use the USB cable in advanced mode (with TCP/IP enabled), then you will be able
to access all your devices (MicroDrive, SD card, CF card and USB disk) at the same time instead of
being able to only chose one at a time in normal sync mode.
To allow Samba to be accessed via the WLAN (wlan0, wifi0) or LAN (eth0) interface, edit the
following file: /usr/lib/samba/smb.conf
Find the following line: interfaces = usbd0
add your network interface after usbd0 separated by a space like this: interface = usbd0 wlan0 eth0
You might also want to add a new entry: hosts allow = 192.168.1. (whatever the IP range of your
network is from which you want to connect to your Zaurus, multiple entries are separated with a
space)
[system]
comment = System Folder
path = /root/samba
read only = no
browseable = no
guest ok = yes
force user = root
[home]
comment = for User Data
path = /home/samba
short preserve case = no
read only = no
guest ok = yes
force user = zaurus
And finally, you need to know how to start the Samba service:
# su
# /etc/rc.d/init.d/samba start
To stop the Samba service:
# su
# /etc/rc.d/init.d/samba stop
Alternatively, you can install sambacontroller [sambacontroller_0.1-0_arm.ipk] which gives you a
GUI interface to do it. Remember to give it root access or else nothing will happen. Also you need
to do the following to enable it to configure smb.conf (only needed for the C3000)
# su
# mkdir -p /home/root/usr/lib/samba
# cd /home/root/usr/lib/samba
52 of 21216/09/2007 12:23
Page 53
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# ln -s /usr/lib/samba/smb.conf smb.conf
Once you install SambaController, you can use it to start and stop samba, as well as modify
smb.conf from the Configure tab.
You should also install smbpasswd [smbpasswd_0.1-1_arm.ipk] which will allow you to set the
samba password.
Once you installed smbpasswd, you will need to do the following to get it working:
Note: you might need to hack the Windows registry to enable plain text password to make Windows
compatible with Samba (depends on the version of Windows you are running).
This configuration forces the samba user to be the zaurus. When giving access to the samba shares,
all the access rights and file permission is that of the zaurus user. This will work fine on all FAT
filesystems, however, if you change some of your partitions to ext2, then you might get some
permission denied errors when trying to acces, create, modify, move or delete files. If that
happens, make sure the file or directory in question has sufficient access rights for the zaurus user.
In addition, if you change /hdd3 to another filesystem other than fat, then samba will stop to work
for /hdd3/Documents unless you change /etc/hotplug/usbdstorage.agent and change the mount
options to the appropriate filesystem type, ie change fat to someting else like ext3.
Installing SSH
ssh client
If you only want to ssh to other machines from your Zaurus, install ssh client
[openssh-client_3.6.1p1_arm.ipk].
sshd
53 of 21216/09/2007 12:23
Page 54
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
If you want your Zaurus to be accessed via ssh as well, then you need to install the following:
Add any IP range you want to give access to in addition to the above.
Installing FTP
ftp client
A command line ftp client is already installed, however, there are much nicer ftp clients such as
ncftp [ncftp_3.1.5-1_arm.ipk] and lftp [lftp_2.6.7-1_arm.ipk]. Alternatively, there are also GUI
based ftp clients such as opie-ftp [opieftp_0.9.1-20020702_arm.ipk] and jftp [jftp_0.23.1_arm.ipk].
ftp server
If you want to serve as a ftp server then you need to install utftp [utftpd_0.2.4_arm.ipk] or
troll-ftpd [troll-ftpd_1.28-cg2_arm.ipk]. Alternatively, you can ftp to port 4242 on the Zaurus which
is a very basic ftp service.
Alternatively, you can also enable the ftp daemon within inetd. To do that, uncomment the ftp entry
in /etc/inetd.conf and restart inetd.
# su
54 of 21216/09/2007 12:23
Page 55
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# vi /etc/inetd.conf
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
# /etc/rc.d/init.d/inet restart
Make sure you use tcp wrapper as it is slightly more secure. Then enable tcp wrapper security by
creating hosts.allow and hosts.deny as follows:
Now we are ready to install apache [apache-1.3.27-php-4.2.3_0.1_arm.ipk]
When apache is installed you need to do the following:
# su
# ln -s /usr/local/apache/bin /usr/local/apache/src
(you can also fix apachectl to look at the right place instead of creating a link)
You can now start apache with the following command:
# su
# cd /usr/local/apache/bin
# ./apachectl start
You can stop apache with the following command:
# su
# cd /usr/local/apache/bin
# ./apachectl stop
I have also created a opie-sh script [
apache from the GUI. You will be required to configure sudo and add /usr/bin/apache to the allowed
list for zaurus user (see sudo).
55 of 21216/09/2007 12:23
apachegui_0.1_arm.ipk] which allows you to stop and start
Page 56
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Alternatively, you can also install boa [boa_0.94.12_arm.ipk] which is a light-weight http daemon if
you just want simple web server.
Browsers
There are several browsers available such as NetFront, Opera, Konqueror, Firefox, Minimo, Dillo,
Links, ...
Installing VNC
VNC client
keypepple [opie-keypebble_1.0.0-1_arm.ipk] can be used as a vnc client to other machines or even
the local one.
VNC server
fbvnc server for Qtopia
You can run a vncserver on your Zaurus to enable remote access to its desktop. However, since the
available fbvnc server packages were build for other models, it does not work reliably on the C3000
and C3100.
I have build my own version of fbvncserver [fbvncserver-c3000_0.9.4-0.3_arm.ipk] which allows
me to view the Zaurus desktop remotely using a vnc client such as tightvnc or using a web browser
to connect to port 5800 on the Zaurus.
I also managed to get the mouse pointer working through the vnc server as well as the keyboard.
However, some keys are still wrongly mapped. If you just want a read only vnc server without
remote mouse and keyboard entry, then do the following to disable them:
# su
# rm /etc/rc.d/init.d/fbvncinput
# reboot
Alternatively, you could also just restart Qtopia instead of rebooting the Zaurus. To do that instead
do the following:
56 of 21216/09/2007 12:23
Page 57
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# su
# /usr/local/bin/fbvncinput stop
# killall qpe
If you want to re-enable the keyboard and mouse, then just recreate the the symbolic link to
fbvncinput and reboot your Zaurus:
# su
# ln -s /usr/local/bin/fbvncinput /etc/rc.d/init.d/fbvncinput
# reboot
Alternatively, you could also just restart Qtopia instead of rebooting the Zaurus. To do that instead
do the following:
# su
# /usr/local/bin/fbvncinput start
# killall qpe
Vncserver for Debian
Vncserver is part of the Debian PocketWorkstation bundle and is intended as a loopback service to
connect to the Debian instance locally. However, there is nothing preventing it from being accessed
remotely as well. Vncserver listens on port 5901 and can be easily accessed through keypebble
and/or tightvnc [tightvnc-1.2.9_javabin.zip]. tightvnc is a java application and can be installed on
any machine that runs java. It can also be installed under a webserver such as Apache. Simply
make a directory such as vnc under the document root and copy index.html and VncViewer.jar into
there.
Or use the smbmounter GUI interface. Make sure you give it root access (see Run as root section).
The NETBIOS name needs to be an IP address or if you provide a hostname, make sure in your
/etc/hosts file on your Zaurus you have given the hostname an alias in all uppercase letters. For
example if you have a hostname mylaptop mapped to an IP of 192.168.1.10 then you will need the
following entry:
192.168.1.10 mylaptop MYLAPTOP
Once you have created an entry with a valid share name and username/password, then you can
mount and unmount the share by clicking on the appropriate buttons. If the share is valid and your
username/password is correct, then the smb share will be mounted under
/hdd3/Documents/NetworkFolders/hostname/sharename
Mounting USB drives
To mount a drive type:
# mount /dev/sda1 /mnt/usbstorage
To unmount type:
# umount /mnt/usbstorage
You can also create the following simple script to automatically mount USB drives or use the more
advanced usb-storage that I've written. Here is the simple version:
# su
# vi /etc/hotplug/usb/usb-storage
58 of 21216/09/2007 12:23
#!/bin/sh
. /etc/hotplug/hotplug.functions
if [ ! -L /var/run/usb/%proc%bus%usb%* ]; then
mesg Try to Mount
mount /mnt/usbstorage
Page 59
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
if [ $? = 0 ]; then
ln -s /mnt/usbstorage /home/samba/USB_Storage
ln -s /etc/hotplug/usb/usb-storage.off $REMOVER
mesg make REMOVER in $REMOVER
fi
fi
# chmod 755 /etc/hotplug/usb/usb-storage
# vi /etc/hotplug/usb/usb-storage.off
Hint: Once a USB disk is mounted, it will appear in the Files tab as well. In addition, creating a link
to the mounted drive from /home/samba will allow it to be shared as well through Samba. In
general, most devices such as memory sticks, cameras, mp3 players and usb harddrives have their
disk partitioned as a primary partition and can be found at /dev/sda1. However, if you have
partitioned your disk as an extended partition, then it most likely would be /dev/sda5. Do a fdisk -l /dev/sda as root to check and change the above accordingly.
In addition, if you are using a USB Hub, then you will be able to attach and mount multiple devices,
usually up to four disks. In such a case, the devices will be /dev/sda, /dev/sdb, /dev/sdc and
/dev/sdd. I have created a more advanced script which can automatically mount up to four usb
disks and also automount disks partitioned as primary or extended partitions. Place this usb-storage
into /etc/hotplug/usb and remove usb-storage.off if there already is one (it will generate a new
one). The script will also create mount points under /mnt and update /etc/fstab as required.
Alternatively, you can simply install [automounter-c3000_0.5.0_arm.ipk].
In addition to external harddisk enclosures with USB interfaces and memory sticks, most MP3
players, cameras and some mobile phones also have an internal storage that can be mounted on
the Zaurus if they have a USB interface. Most of those devices will be recognised by the Zaurus as a
Mass Storage device by default, however, some newer devices are not on the Zaurus' device list
and you will need to update it to let the Zaurus know about the new device (see SonyEricsson
section for an example).
The automounter script only automatically mounts the first mountable partition. If you have
multiple partitions, then you will need to manually mount the remaining partitions or modify the
automounter script to also mount the remaining partitions.
The C3000 and C3100 can also read NTFS formatted USB disks. You will need to copy ntfs.o to
/lib/modules/2.4.20/kernel/fs/ntfsfs/ or install [ntfs-zaurus_2.4.20_arm.ipk].
A useful applet that I wrote [qtopia-usbapplet_1.0.3_arm.ipk] can be used to unmount the USB
disks prior to unplugging them without needing to go to the command line.
Mounting SD and CF cards
The SD and CF cards are automatically mounted when they are inserted. In addition to mounting
and unmounting them, additional hooks and controls can be added to the scripts such as invoking
59 of 21216/09/2007 12:23
Page 60
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
/etc/rc.d/init.d/mntloop (automounter) to check for the presence of a swapfile and enabling it when
the card is mounted and disabling it when the card is unmounted. The SD card is auto mounted by
the /etc/sdcard/sd_mem_ctrl script and this is where the control hooks need to be added. The CF
card is auto mounted by /etc/pcmcia/ide.
Furthermore, by default, the SD card script only attempts to mount the first partition. If you have
multiple partitions, then you need to enhance the above mentioned script to automatically mount
additional partitions on the CF or SD cards.
Remounting Filesystem as Read/Write or Read Only
Some partitions/file systems such as / cannot be unmounted. Some are also mounted as read-only.
In order to modify the files on those file systems, you need to remount them as read/write and then
remount them back to read-only after you have done what you wanted.
To remount as read/write:
# mount -o rw,remount /
To remount as read only:
# mount -o ro,remount /
Enabling Swap
The following demonstrates how to configure a 128MB swap file on the C3000's harddisk. Normally
a swap file is not required unless you are running many X/Qt applications and doing onboard
development. Most users with X/Qt will probably only require 32MB - 64MB swapfile.
In addition, you can install [qtopia-memoryapplet_1.0.4_arm.ipk] which allows you to monitor both
your physical memory as well as your swap. It even can manage the swapfile creation for you. This
version can create a swapfile with a max. of 512MB. It also gives you the option to create the swap
on the internal HDD (/hdd3), CF card and SD card. The created swap file is also called swapfile
rather than .swapfile.
Increasing tmp
60 of 21216/09/2007 12:23
Page 61
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
By default /tmp is mounted from /dev/shm as a 1MB tmpfs. This 1MB is taken from the 64MB of
RAM and for most applications, 1MB of tmp is sufficient. However, some applications such as kismet
or qpdf2 may require a bit more than just 1MB. Opening some large pdf files for example might be
very slow or does not work at all because there is insufficient space in /tmp. Some applications can
utilise /home/root/tmp instead, but not all can.
You can increase the amount of memory allocated to /tmp. But remember that memory for /tmp is
taken from RAM, so increasing /tmp will decrease the amount of physical available RAM.
To do that, you need to edit /etc/fstab and /root/etc/rc.d/rc.rofilesys and replace 1m with for
example 2m to increase the size of /tmp to 2MB. Remember to remount / to rw before editing
rc.rofilesys and remount it back to ro once done. Finally, you need to reboot the Zaurus in order for
the change to take effect.
Using loopback filesystem
You can use a loopback filesystem which is a mounted filesystem image to do various things such
as compressing files or overlaying a filesystem with another format.
The cram filesystem is a read only compressed filesystem format. The following demonstrates how
to configure cramfs to preserve some space. Only convert directories to cramfs if you are sure
those directories are read-only, ie you are never going to change or add any files there. You will
need either [cramfs-1.1_arm.bin.tar.gz] or [mkcramfs.tar.gz], or install gcc which also includes it.
Here is an example for compressing and mounting the jre directory:
# su
# mkcramfs /usr/lib/jdk1.3 /hdd3/jre13.cramfs
# rm -r /usr/lib/jdk1.3/*
# mount -t cramfs -o loop /hdd3/jre13.cramfs /usr/lib/jdk1.3
Note that mkcramfs stores the whole image in memory before writing it to disk, so make sure you
have a sufficiently sized swap file enabled before running mkcramfs.
Also, there are only 2 loop devices by default on the C3000 and C3100, but you can create more
loop devices. You will need to recreate them each time you reboot, so it would be better to
automate it in a start script which you can use to automatically mount the cram archives as well.
Here is how you create /dev/loop2 to /dev/loop6
# for i in 2 3 4 5 6
> do
> mknod /dev/loop$i b 7 $i
> done
You might also want to add an entry into fstab so the cramfs archives can be automatically
mounted. Copy mntloop to /etc/rc.d/init.d and link it to rc5.d and rc6.d
mntloop will create new loop devices and check /etc/fstab at bootup time and mount any valid entry
for cramfs it finds. The Linux boot process will mount entries in /etc/fstab by default, but it can only
61 of 21216/09/2007 12:23
Page 62
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
mount 2 loop partitions because there are only that many default loop devices, so any additional
entries in /etc/fstab will fail to mount. mntloop will mount any additional entries it finds after
creating the extra loop devices. At system shutdown or reboot, it will cleanup and unmount
anything mounted as a loop device.
The automounter package [automounter-c3000_0.5.0_arm.ipk] will install mntloop and also install
the usb automounter.
Similar to the cram filesystem is the squash filesystem which is appendable, ie you can add files to
it. In order to use the squash filesystem, you will need to install the squashfs module
[kern-mod-squashfs_c3000-2.1-2_arm.ipk].
Alternatively, if you don't need a compressed filesystem but want a read and write access instead,
then you can create an ext2 or ext3 formatted loopback filesystem. You would need to pre-allocate
a chunk of space for it and the files won't be compressed at all.
For example, to create a 128MB loopback filesystem on /hdd3 called expansion.ext2 do the
following:
Now you could move all the files from /usr/local to the newly mounted loopback filesystem and then
relink /usr/local to the loopback filesystem. This way, we moved some files off to hdd3 and
extended the /usr/local directory to have a higher limit of 128MB. Similarly you could do something
similar with /opt/QtPalmtop/share and many other directories as well. However, doing this will
impact on performance a little bit. The overhead caused by the loopback filesystem and the speed
of the MicroDrive are factors to consider and thus, choose files and directory that are not frequently
used to be moved to the loopback filesystem.
On C3000:
# mkdir -p /home/expansion/usr/local
# cd /usr/local
# tar cvf - * | tar xvf - -C /home/expansion/usr/local
# mv /hdd2/usr/local /hdd2/usr/local.bak
# ln -s /home/expansion/usr/local /hdd2/usr/local
Once you have tested that everything still works, you can remove /hdd2/usr/local.bak
On C3100:
# mkdir -p /home/expansion/usr/local
# cd /usr/local
# tar cvf - * | tar xvf - -C /home/expansion/usr/local
# mv /home/root/usr/local /home/root/usr/local.bak
62 of 21216/09/2007 12:23
Page 63
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Once you have tested that everything still works, you can remove /home/root/usr/local.bak
Make sure you install the automounter package [automounter-c3000_0.5.0_arm.ipk] or else your
loopback filesystem might not get automatically mounted after a reboot.
Alternatively, instead of moving files manually after they have been installed, you can also just
install files to the loopback filesystem directly. The default installer won't let you do it, but my xipk
install script (which is part of my ipktools package) does allow it.
By default xipk installs to /hdd3/programs, so you should mount your loopback filesystem as
/hdd3/programs or change /etc/xipk.conf to contain the mount point of your loopback filesystem.
Then you can do the following to install applications to hdd3:
# xipk ipkfile
Enable large SD cards
The default SD/MMC driver only supports SD and MMC cards of sizes up to 1GB. Using the updated
driver which is taken from the C3200, it is possible to use larger SD cards. 2GB and 4GB SD cards
are recognised and can be used once this updated driver is installed.
However, some applications have 1GB or 2GB (upper limit for FAT16 partitions and maximum
filesize on FAT16) hardcoded as the upper limit and thus will miscalculate the amount of free space
on the larger SD card. Also, this driver is not loaded during emergency boot or the NAND loader so
you cannot use the larger SD card to flash your Zaurus or do NAND backup/restore.
Also, for 4GB SD cards, be very careful when ejecting the card. If you eject it while it is still
mounted or while it is being written to, then you might corrupt the integrity of the device and might
not be able to use it anymore. Since it is larger, it needs more time to flush the buffers and thus
this problem occurs less on smaller SD cards. If this occurs, however, even a fdisk or reformatting
of the SD card won't work (the smaller SD cards can be reformatted in some digital cameras but
not many cameras can recognise the larger SD cards either so you cannot use them to reformat a
broken SD card). To prevent this from happening in which case you need to claim a warranty
replacement so make sure you got proper warranty when you purchase large SD cards, you can
change the SD mount options to mount the SD card with the sync option and also increase the wait
delay from 1 second to 3 or 5 seconds during the SD unmount process.
To make the SD card mount with the sync option, modify /etc/sdcard/sd_mem_ctrl change the
To increase the wait delay during the SD unmount, modify /etc/sdcontrol and change the following
from
sleep 1
63 of 21216/09/2007 12:23
Page 64
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
to the following
sleep 3
Enabling IrDa
The Zaurus has an IrDa port build-in, but for security and power saving, it is disabled by default.
You can temporarily enable it to receive files. Use the IR-Receive tool under the Settings tab and
enable it to receive files. You should disable it once you finished receiving files.
You can also send files via IrDa. For that, select the file you want to beam from the Files Tab and
hold the stylus on it for a few seconds and select Send by beam.... I have tested this feature and it
works fine to send and receive files to my Laptop (Toshiba Libretto 50CT) and Mobile phone (Sony
Ericsson K750i).
64 of 21216/09/2007 12:23
Page 65
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Enabling Bluetooth
The stock Sharp ROM does not come with bluetooth enabled. You can add bluetooth capability to
the Zaurus by either using a CF Bluetooth card or a USB Bluetooth dongle. I've tested this using a
Socket Bluetooth CF card which I think is great because it is exactly the same size as a CF memory
card. It has a CF I form factor and no bits sticking out when inserted into the CF slot on the Zaurus.
I have also tested this with a tiny WIDCOMM compatible USB Bluetooth dongle.
In order to enable and use Bluetooth, you need to install a bluetooth stack such as bluez which
includes the required kernel modules as well as needed command line tools. You can also add some
plugins to the graphical Network config tool to enhance it to handle bluetooth connection types.
There are currently two such plugins available, one for PAN (Personal Area Network) and one for
DUN (dial up bluetooth). Once they are installed, you will see additional options in your Network
config tool.
The bluez package is essential while the others are optioanl. If you find newer updated versions of
those, then use them instead. Once you have installed the above packages, you can begin to setup
and configure your bluetooth stack. I have also created a single package
[bluetooth-support_1.23_arm.ipk] which contains the above as well as additional obex packages.
There is also a bluetooth lite package which only contains the GUI scripts. The qshdlg package
needs to be installed to use the bluetooth GUI.
The first thing you need to do is check your config and make sure your bluetooth stack has
initialised successfully.
# su
# /etc/rc.d/init.d/bluetooth restart
# hciconfig
Then you need to search for bluetooth enabled devices you want to use and do the pairing.
# hcitool scan
Note that unless the other bluetooth devices are configured to be visible, you won't be able to find
them. Write down their mac addresses. (xx:xx:xx:xx:xx:xx is the format for the mac addresses and
each device will have a unique address), eg:
65 of 21216/09/2007 12:23
Page 66
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
To find out the capabilities of those devices do the following with their corresponding mac address:
# sdptool browse xx:xx:xx:xx:xx:xx
You can initiate the pairing from each of those devices and make sure the PIN matches. The Zaurus
stores its PIN in /etc/bluetooth/getpin and /etc/bluetooth/pin
/etc/bluetooth/pin contains the pin number that you enter in any other Bluetooth device that pairs
with the Zaurus.
/etc/bluetooth/givepin contains the pin number that your Zaurus will automatically give to another
Bluetooth device if pairing from the Zaurus. givepin is a script which must print out a string of the
format "PIN:1234" where 1234 is the pin number, so you only change that part of the script to
change to pin number.
Once the devices are paired with your Zaurus and you have determined what capabilities they have,
you can setup and configure your Zaurus to use them.
The bluetooth qshdlg GUI or the network config tools plugins can be used to configure the following.
66 of 21216/09/2007 12:23
Page 67
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Setting up a bluetooth PAN (Personal Area Network)
A PAN allows you to access services on the other bluetooth enabled devices like on a small network
with TCP/IP connectivity. This requires that the other devices, usually bluetooth enabled computers,
provide services such as Samba, FTP, HTTP, Telnet, SSH/SCP, etc.
On your Zaurus do the following:
# su
# modprobe bnep
# pand --role PANU --service NAP --connect xx:xx:xx:xx:xx:xx --nodetach
(where xx:xx:xx:xx:xx:xx is the mac address of your Desktop PC or Laptop)
This will give your Zaurus an additional network interface called bnep0 if a successful connection
was established.
# ifconfig -a
You can then configure your PAN network like this:
To check the connection ping your desktop or laptop:
# ping 192.168.12.10
This assumes that you have a 192.168.12.0 private network and your PC or Laptop is
192.168.12.10
To terminate the connection just type:
# pand -K
67 of 21216/09/2007 12:23
Page 68
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Alternatively, you could also use the PAN applet in the network config tool to do the same thing or
use my bluetooth-gui script.
Setting up a bluetooth Dialup connection
You can also use bluetooth to behave like a serial communication device. You can connect to other
devices such as computers via a serial line similar to an IrDA connection but with a wider range and
greater speed, or connect to a modem on a computer or mobile phone to dialup internet services.
Using the serial communication feature, you can emulate PPP and/or use OBEX for file transfer (the
IrDA beaming feature).
To setup bluetooth dialup service, for example, you can do the following to dial a GPRS on a mobile
phone. First create a config file under /etc/ppp/peers as follows:
/dev/rfcomm0
115200
connect '/usr/sbin/chat -s -v -t 60 ABORT "NO CARRIER" ABORT "NO DIALTONE"
ABORT "BUSY" "" "ATZ" OK "ATDP*99#" CONNECT'
crtscts
noipdefault
modem
usepeerdns
defaultroute
connect-delay 5000
remotename DUN1138428518
Make sure the remotename matches the id in
/home/zaurus/Applications/Network/modules/Bluetooth.conf
For the Telstra GPRS no username and password was required and the network settings were DHCP.
The only thing needed to be provided was the GPRS profile name which was telstra. The default dial
string of atz was sufficient with *99# as the number which tells the phone to use its local profile.
Additionally, *99***telstra.internet# could had been specified as well to choose a specific profile
during dialing.
Then do the following:
# su
# pppd file /etc/ppp/peers/yourconfig
Alternatively, you could also use the Bluetooth (DUN) applet in the network config tool to do the
same thing.
Setting up beaming with bluetooth via OBEX
You can use OBEX to push and receive files similar to IrDa but with bluetooth instead.
To transfer files towards the device, you have to install the package obexftp
[obextftp_0.10.7_arm.ipk]. To transfer a file, simply execute:
# obexftp -b 00:00:00:00:00:00 -p file.ext
The parameter -b instructs the program to use Bluetooth. If you omit the MAC address, obexftp will
scan for surrounding Bluetooth devices and select the transfer partner automatically provided your
device is visible and paired.
Alternatively, you can also use obextool:
68 of 21216/09/2007 12:23
Page 69
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# obextool push file.ext xx:xx:xx:xx:xx:xx 6
The bluetooth GUI allows you to convenniently select files to be beamed over.
To receive a file on your Zaurus via the Bluetooth interface, an OBEX server
[obexserver_1.0_arm.ipk] has to be installed and running. The service "OBEX PUSH" also has to be
registered to the SDP daemon:
This custom driver package [zmouse_0.1_arm.ipk] should do the same thing.
Restart the Zaurus (or just restart Qtopia)
Alternatively, you can also install inputhelper [inputhelper_1.0.1-1_arm.ipk] which will give you
mouse support as well as macro recording for your keyboard.
Enabling USB Keyboard
Yes, you can plug your USB keyboard into the Zaurus and it will work, but some of the keys will be
mis-matched unless you are using a Japanese keyboard because the Zaurus' default keyboard
layout is the Japanese keyboard. You need to remap the keyboard so the keystrokes matches that
of the USB keyboard, but this of course will mess up the build-in keyboard on the Zaurus. You will
need to switch between native keyboard and external keyboard mappings. You cannot have both
keyboards mapped correctly at the same time unless your USB keyboard has the same layout as
the Japanese keyboard or you hack the usbkbd kernel module.
If you want to remap the keyboard so that it is correctly mapped for an
external USB keyboard, then you need to install usbkbd-en
[usbkbd-en_2.4.20_arm.ipk] which once installed will automatically
switch your keyboard layout depending whether your USB keyboard is
plugged in or not. So with this replacement driver installed and its
associated scripts, if you plug in a USB keyboard, your keymap will be
automatically remapped for a US/AU QWERTY keyboard. When you
unplug the keyboard, then the keymap is reverted back to the previous
keymap settings.
To manually control the keyboard remapping run the following to enable the USB keymap:
# usbkey enable
To disable the USB keymap and revert back to the original map, type the following:
# usbkey disable
In addition, you can also modify the keytable so that on a USB keyboard, the numeric keys on the
keypad behave just like you press Shift and a number key on the top row. To get this behaviour,
you need to install dualkbd_2.4.20_arm.ipk.
Enabling Joypad
You may be able to use your USB Joypad. Install the joyenabler script [joyenabler_1.3_arm.ipk]
and plug in your joypad. If you are lucky, it will work and you can use jstest to check whether it
works correctly. Now you just need to find some games that support joypad controls. You may need
an additional joypad driver for your particular joypad if it does not work.
70 of 21216/09/2007 12:23
Page 71
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Enabling WebCam
You can use some USB webcams. You will need Video4Linux support for the kernel (videodev.o) and
an appropriate video driver for the webcam. I currently have compiled drivers that work with four of
my six webcams. You will also need some framegrabber software to capture video frames. I am
currently working on some.
Enabling CD-ROM
USB CD-ROM drives are also supported similarly to USB harddisks. You will need to install some
applications to rip and burn CD-ROMs [cdrtools-2.01.tar.gz]. A USB Mini-CD drive or a slim combo
CDRW/DVD drive would be a great companion for the Zaurus.
The CD-ROM will be detected as /dev/scd0 and can be mounted as follows:
# su
# mkdir -p /mnt/cdrom
# mount /dev/scd0 /mnt/cdrom
In addition, the following will be useful:
# su
# mknod /dev/pg0 b 11 0
# mknod /dev/sg0 b 11 0
# ln /dev/scd0 /dev/cdrom
# ln /dev/scd0 /dev/vcd
# ln /dev/scd0 /dev/dvd
echo "/dev/cdrom /mnt/cdrom auto ro 0 0" >> /etc/fstab
In order to copy VCDs or DVDs from the CD to your disk, you need to install mplayer
[mplayer-bvdd_1.1.5-1_arm.ipk] and mencoder [mencoder_1.1.0-1_arm.ipk]. A straight file copy
won't work.
To copy the VCD video file (.dat file) do the following:
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
See Video Conversion section on how to re-encode and compress the videos for optimal viewing on
the Zaurus.
Enabling Microphone
You can plug any 3.5mm microphone into the Zaurus. Since there is only one input connector, you
will need to use a splitter if you want to plug in both a microphone and earphones at the same time,
or use a combined headset with microphone such as the one for mobile phones and use a 2.5mm to
3.5mm adaptor.
There is nothing special you need to do in order to enable the microphone except install some
recording software. There is an application called qpe-voicerec [qpe-voicerec_1.5.0-7_arm.ipk] that
comes on the CD-ROM accompanying the Zaurus. You can use that to record some voice.
Alternatively, you can also use a console application called spxrec [spxrec_0.0.1_arm.ipk] to record
lengthy voice sessions and then use shine [shine_0.01_arm.ipk] to encode to resulting sound file.
Connecting to VGA Monitor via USB
It is possible to connect the Zaurus to a VGA monitor or projector using a
USB VGA dongle. The Kairen VGA adaptor is a USB VGA 2.0 adaptor that
allows you to do slide show presentations using your Zaurus. You will
need to use a USB hub to provide power as well as a USB host cable.
The Kairen USB2VGA dongle is detected as a sisusb vga device:
USB2VGA dongle. It is allocated 8 output buffers with 8MB SDR SDRAM
with a bus width of 32 by the driver.
The package vga-presentation_1.0.1_arm.ipk provides the driver and
application for the USB dongle. I have only tested this specific model, but
any USB dongle with the same SiS chipset (SiS 315E) should work also.
The VGA presentation application allows you to use the dongle for
presentation. The application is limited to doing slideshows only. It slowly
streams the data to the USB device which then buffers it and displays it
to the monitor. I could even switch applications on the Zaurus while the
presentation application continued to send data to the USB device and it
72 of 21216/09/2007 12:23
Page 73
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
renders it to the monitor. However, the VGA application crashes after a while so it needs a bit more
work to iron out the bugs and fix the instability.
The image on the monitor remains even when rebooting
the Zaurus so I guess the last image displayed is buffered
by the USB dongle and the monitor is getting the cached
data from it.
This proves that it is technically possible to have VGA out
for the Zaurus via USB, however, the current state of the
driver and application is very limited and needs more
work. It is also very slow due to the slow USB bus speed
implemented by the Zaurus.
I then plugged the USB dongle into one of my PCs and
used it to mirror and split the display on a Win2000
system without any problems. The speed was ok there because it was using USB 2.0 High Speed
instead of USB 2.0 Full Speed that the Zaurus uses.
At this stage, the USB dongle does not perform better than displaying via a VNC server on the
Zaurus and a VNC client on a PC to display the Zaurus desktop on a larger monitor. This works fine
if you can network your Zaurus and the PC, but can't be done directly to a projector so this is where
the USB dongle could be useful. With a USB dongle you do not need a PC or a laptop to act as the
bridge device since the Zaurus can be directly connected to a projector or monitor.
For more info, visit the way-nifty blog where the images for the USB to VGA dongle and Presenter
screenshot have been borrowed from.
Similarly, there are CF cards with VGA out capabilities similar to the USB dongle, however, none of
those cards are manufactured anymore so you would need to get them second hand if you can find
them. But even if you find those CF cards, you still need to compile drivers and applications for
them if you manage to get the driver source code so they work on the C3x00, ie 2.4.20 kernel and
glibc 2.2.2.
Connecting to Mobile Phone (SonyEriccson K750i)
The Sony Ericsson K750i is a mobile phone with many features. It has a 2
mega-pixel camera, and a slot for a Memory Stick Pro Duo card. I have
upgraded mine to 1 GB. It also has Infrared, Bluetooth and comes with a USB
interface which can be used for file transfer with the Zaurus. The phone also
has a GSM modem via a serial line as well.
Using the USB cable to access the Memory Stick
The memory stick can be accessed as a mass storage device when the mobile
is connected to the Zaurus via a USB cable. However, the Zaurus does not
recognise the manufacturer id as a mass storage device by default. To fix that, you need the
append the following to /etc/hotplug/usb.usermap:
This should make the Zaurus detect the K750i's Memory Stick as a Mass Storage device the next
time it is plugged in. However, if it does not, then try appending the above into
/lib/modules/2.4.20/modules.usbmap and/or /etc/hotplug/usb.handmap
Using Bluetooth to access Memory Stick
73 of 21216/09/2007 12:23
Page 74
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Once you have either configured a USB Bluetooth dongle or a Bluetooth CF card, you can transfer
files between the mobile and the Zaurus wirelessly using the OBEX via bluetooth mechanism. See
the bluetooth section for more details.
Controlling the phone with the Zaurus
The K750i also offers a virtual serial interface that can be used to issue AT commands or trigger
other phone functions. The serial line is accessible via the USB cable, as well as via Bluetooth. Once
the link is established, you can access the data of the phone, interact with the user interface and
manipulate the telephony functions.
Serial interface via USB
Once you plug in the phone, the Zaurus will not only recognize the USB storage device, but also
detects the built-in modem. It then should load the appropiate cdc_acm module which brings
support for USB modems and ISDN adaptors. The new device will be placed under /dev/ttyACM0
and /dev/ttyACM1. The devices can be opened with minicom or any other terminal program to gain
access to the phone.
Serial interface via Bluetooth
Instead of relying on a wired connection, you can also use the Bluetooth interface to access this
serial line.
Include the following section in the file /etc/bluetooth/rfcomm.conf:
rfcomm0 {
bind yes;
# MAC address of your phone:
device 00:00:00:00:00:00;
}
Now reload the Bluetooth subsystem with /etc/init.d/bluetooth restart. If you already paired your
computer with your phone, accessing the device /dev/rfcomm0 will instruct RFComm to connect to
the phone without any user action needed. You can monitor the process with the rfcomm utility:
rfcomm
Once a process opens the device file /dev/rfcomm0, the RFComm daemon contacts the phone. See
the bluetooth section for more details.
Security
Hardening
assign passwords to root and zaurus
# su
# passwd
# passwd zaurus
tighten down the number of terminals in /etc/securetty
74 of 21216/09/2007 12:23
console
tty0
Page 75
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
tty1
ttyUSB0
disable all non-essential listening ports
disable telnet (port 23) if running
shutdown ftp server if not used (port 21)
shutdown Samba server and portmap (port 111) when not in use
shutdown web server when not in use
tighten down access for sshd (port 22)
disable Qtopia sync with opie-security package (port 4242)
disable port 4992 and 4244 with inetd.conf
Firewall
Install iptables modules and configure them as a packet filtering firewall. You can also install
shorewall which is a framework that simplifies the management of iptable rules and configuration.
To enable IP filtering firewall, install the following:
This version has been customised specifically for the C3000 and C3100, primarily as a firewall while
connected to a wireless network. Once installed, you can specify your network interface to be
firewalled by modifying /etc/shorewall/interfaces. The default is to protect the wireless cf (wlan0)
network using dhcp.
Once you have established a network connection, you can enable the firewall by issuing the
following command:
# su
# shorewall start
Once you disconnect, you can stop the firewall by issuing the following command:
# su
# shorewall stop
To check the status of the firewall issue the following command:
# shorewall status
The iptables-additional package contains extra libraries that will allow you to use all of shorewall's
features.
VPN
Setting up a VPN connection with the Z is possible. You will need to install the following packages:
iproute - [iproute_z2.2.4-now-ss991023-1_arm.ipk] or [iproute_20010824-1_arm.ipk]
ipsec - [ipsec-module_2.4.20-1_arm.ipk]
tun - [tun-module_2.4.20-1_arm.ipk]
vpnc - [vpnc_0.3.2-1_arm.ipk]
Once installed, you can establish a VPN connection by issuing the following command from a
75 of 21216/09/2007 12:23
Page 76
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
console and providing the required settings:
# su
# vpnc-connect
To terminate the VPN session issue the following command:
# su
# vpnc-disconnect
sudo
Don't do this on Cacko. This is for SHARP ROM only.
install sudo [sudo_1.6.3p7-2_arm.ipk]
Once sudo is installed, you will need to configure it by using the visudo command. It will allow you
to update /etc/sudoers
This uses the security conscious approach of only allowing sudo for the commands you want. If
security is not such a concern for you and you just want to be able to sudo any commands as
zaurus user without typing a password, then make it look like this instead:
root ALL=(ALL) ALL
zaurus ALL=(ALL) NOPASSWD: ALL
Emulators
Game Console Emulators
There are a few emulators for the popular game consoles for the Z. In order to use them, you will
need to install SDL libraries [libsdl_1.2.5-slzaurus20050731_arm.ipk] if you have not installed them
yet. There is also a nice front end to select and launch the game ROMs. Install the common
emulator frontend [zemufe_0.1.1-3ex_arm.ipk]. It also has several addons which allows it to
handle additional ROM types and emulators:
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
The following is the key mapping for the emulator:
KeyAction
EnterSTART
Space SELECT
Cancel QUIT
Key Action
ap1 (L)
sp2 (X)
dp3 (A)
Key Action
zk1 (R)
xk2 (Y)
ck3 (B)
KeyAction
y u i\ | /
g h j-b n m / | \
You might also need to disable the key repeater while playing the games to avoid stuttering with
the sound effects. If you have keyhelper installed, then you can run the following to temporarily
disable the key repeater:
# khctl norepeat
Once you have finished playing the games, you can re-enable the key repeat by running the
following command:
# khctl repeat
psx
You can even emulate Sony Playstation on the Zaurus with the psx4zaurus emulator. It requires the
BVDD enabled SDL library. The bundle contains binaries for pdaXrom and Cacko which means you
will either need Cacko or Sharp ROM with Tetsu's special kernel as well as the latest BVDD kernel
module [bvdd_0.4.0-1_arm.ipk] and libSDL-bvdd [libsdl_1.2.5-bvdd-07-2_arm.ipk] installed.
Extract the psx4zaurus zip file and copy scph1001.bin to the same directory where you extracted
the psx4all_cacko binary. Then place the ROM files into the games_psx directory. Use the up and
down arrow keys to move between options and the x key to select an option.
zbochs
I tried running Win98 on zbochs [zbochs.tgz.gz]. It works but it is extremely slow. Too slow to be
much use anyway. However, if you are bend on trying, then get the Linux or Windows version of
bochs and use that to create a disk image with at least 250MB (Win98 will fail to install with less
than that even though Microsoft website says it needs less). Then get your Win98 CD-ROM to install
Win98 into bochs which will take about 4 hours on a 1 GHz Pentium with 512MB. Once you've done
that copy your disk image file, BIOS (BIOS-bochs-latest) and VGA BIOS (VGABIOS-elpin-2.40) to
your Zaurus. Also don't forget to copy bochsrc as well and remove the CD-ROM config. Here is a
sample bochsrc:
I also tried xqt-bochs_2.1.1-1_arm.ipk which appears to be a bit faster than zbochs. Here is Win98
starting up within xqt-bochs:
Eventually, after a long time of waiting, you get this once Win98 has finally loaded:
But really, emulated Win98 runs way too slow, but running DOS inside bochs for playing DOS
games is possible.
dosbox
78 of 21216/09/2007 12:23
Page 79
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
dosbox allows you to run DOS applications and games. The advantage over bochs is that it is
dedicated and preconfigured to run DOS applications. chyang has built a version of dosbox that
runs on the C3000 and C3100. I have packaged it as dosbox_0.6.3-3_arm.ipk. Once installed, you
can edit /usr/local/dosbox/dosbox.conf and add entries after [autoexec] to automatically launch any
DOS application you wish. For example:
[autoexec]
mount c /mnt/card/dosfiles
c:
cd tetris
tetris
The screen flickers a bit when you launch dosbox. Just press the Cancel key a few times. When you
have finished using dosbox, press Shift + Ctrl + Cancel to exit.
You might also need to install libstdc6_1.2.2_arm.ipk if you don't already have the standard C
libraries installed.
Alternatively, you can also install dosbox under X/Qt (or the newer pdaXqtrom package) [dosbox-x11_0.6.3-3_arm.ipk].
dosbox has a known bug that keys on non-US keyboards are mismatched and some keys are
missing, in particular the : key. This has been hacked by me for the Zaurus version so that Fn + ; is
:, and Fn + Ctrl + ; is ;
qpose
Emulating the Palm on the Z is possible provided you have a Palm ROM file. Install the following
and once done, use the Files tab to locate the ROM file and tap on it. The ROM will then be launched
by QPose.
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
zbasilisk
basilisk [zbasiliskii_0.3_arm.ipk] also works on the Z. Since I already have BasiliskII running on my
PC, I simply copied the whole MacOS7.hfv file and the ROM image to the Z and then loaded
zbasilisk. It launches X/Qt and runs from within it. zbasilisk emulates the Mac just like basilisk does
on the PC, although slower and without sound.
If you want to emulate the Mac on the Zaurus, install BasiliskII on your PC and download the free
MacOS7 binaries. Then create a hfv disk image with HFVExplorer (200MB should be enough) and
copy the MacOS7.5.3 installer binaries onto the disk image. Then create a MacOS boot disk and
start basilisk booting from the floppy. Once booted, install MacOS7.5.3. You might then want to
upgrade to MacOS 7.5.5
Dictionaries
The Zaurus already comes with a Japanese-English dictionary which is great, however, it only does
80 of 21216/09/2007 12:23
Page 81
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Japanese/English and English/Japanese. I need more languages such as German, French and
Chinese.
Zdict is the dictionary that comes with the Zaurus. It seems to be almost the same with Zten which
is mentioned a lot on the internet. Personally I think Zdict is easier to use than Zten.
Zdict comes with the epwing genius and kojien dictionary packages, but there are some further
epwing dictionaries that can be added to either zdict or zten. The following are the ones I have
chosen to add:
foldoc [foldoc-fpw1.0.1.zip] - computer terms dictionary
jarg [jarg-fpw1.2a.zip] - jargon dictionary
fumeikai [Fumeikai-1.0.zip] - abbreviations dictionary (in English and Japanese)
wordnet [wordnet-1.6-fpw1.1.3.zip] English dictionary
kanjidic [kanjidic_en.fpw.tar.gz] kanji dictionary
wadoku [wadoku-fpw1.1.tar.gz] Japanese-German dictionary
edict [edict_en.fpw.tar.gz] English-Japanese dictionary
To install these dictionaries, simply extract them to either /hdd3/dict1 or /hdd3/dict2 and select the
book from inside the zdict config menu.
ZBedict [zbedic_0.9.4-0_arm.ipk] is another dictionary package that has a large amount of
dictionaries in various languages. It also has a huge wikipedia [en-wikipedia.dic.dz]. The following
are dictionaries I installed for it:
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Place the files under a directory such as /hdd3/Documents/dictionaries and do an autodetect in
zbedic to locate them.
KanjiNirvana [kani_1.2.0_arm.ipk] is a kanji dictionary and practice tool. The following needs to
be done after installation in order to update and add entries:
# su
# chown -R zaurus:qpe /home/Qtopia/kani
qpzidian [qpzidian_0.1_arm.ipk] is a Chinese/English - English/Chinese dictionary that allows you
to look up words via Hanzi and Pinyin.
82 of 21216/09/2007 12:23
Page 83
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
babbletower [babbletower_0.9.3_arm.ipk] is another dictionary reader written in Java. You need
to install one of the J2ME implementations for Zaurus (jeode or personal profile) before you can use
babbletower. It is also recommended to install jlauncher [jlauncher_0.1_arm.ipk] after you have
installed one of the J2ME implementations so it helps babbletower launch the right J2ME runtime.
Speech Synthesis
flite
flite [flite_arm_bin.tar.gz] will read a text file with a male Scottish voice. To install it, simply gunzip
and then untar the files to /usr/local/bin
# zcat flite_arm_bin.tar.gz | tar xvf - -C /usr/local/bin
I've written a script saytime which gets the system time and passes it to flite_time. Also, I am
planning to write a GUI interface (using J2ME) for flite [zflite-gui_0.3_arm.ipk] which lets you select
a text file and then it will call flite with the text file as an argument or lets you type in some text
and passes it to flite. In the meantime, I have used opie-sh to do something similar
[zflite-gui_0.1_arm.ipk] although not as sophisticated and [zflite-gui_0.2_arm.ipk] which uses
qshdlg.
Some flite options:
--sets join_type=simple_join (use simple concatenation of diphones without prosodic
modification)
--setf duration_stretch=1.5 (make it speak slower)
--setf int_f0_target_mean=145 (make it speak with higher pitch)
-t "some text"
-f filename
mbrola
mbrola [mbr301h.zip] is another voice synthesis application. It is an engine that converts diphones
(.pho files) to voice (.wav files) and has exchangable libraries for different voices and languages.
However, it needs additional software that converts text to .pho files. FreeTTS is such an
application, however, it is written for Java 1.4 which does not exist for the Sharp distro (only Java
1.3 is available for Zaurus).
83 of 21216/09/2007 12:23
Page 84
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Unfortunately, this means that mbrola is pretty useless until FreeTTS has been backported to Java
1.3 which is not an easy task because FreeTTS uses a lot of the 1.4 features not available in 1.3, or
until jamvm which is a jre 1.4 capable java runtime replacement can be made to run on the Sharp
distro.
Video Conversion
The Movie Player that comes with the Zaurus is nice for playing MPEG files. I can just copy a .dat
file from a VCD and rename it to .mpg and Movie Player can play them in a window and full screen.
However, since space is limited on the Zaurus, (yep, 4GB is nothing if you put a few vids on it),
compressing the vids is a good idea. Unfortunately, Movie Player only plays MPG files.
No worries, mplayer will do the job. mplayer can play almost any format and there are also some
nice GUI interface for mplayer such as kino2 and zplayer.
Here is what I do using VirtualDub to compress videos (there is a mod of virtualdub that can open
mpg files as well - VirtualDub-MPEG2 1.5.10).
From the Virtual Dub Menu:
select Video
Filters...
add resize
Color Depth...
Compression...
select Audio
Full processing mode
Compression...
MPEG Layer-3
New width: 320
New height: 240
Filter mode: Nearest Neighbour
Decompression format
16-bit (HiColor/32K)
Output format to compressor/display
16-bit (HiColor/32K)
Microsoft MPEG-4 Video Codec V3
Configure
Control: 30
Data Rate: 150
24 kBits/s,12000Hz,Stereo
Then Save as AVI.
Alternatively, you can also use PocketDivXEncoder which is a derivative of mencoder to compress
movies for the Zaurus. The default settings with 2-pass encoding does a pretty good job on the
compression and quality. You can further tweak the settings for further compression at the loss of
some quality.
84 of 21216/09/2007 12:23
Page 85
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
File Managers
The default File Manager (the Files tab) on the Zaurus is rather limited in functionality. There are,
however, some better packages out there.
Tree!Explorer QT
[treeexplorer_1.7.0-2_arm.ipk] and [treeexplorer-p_1.7.0-2_arm.ipk]
This is a nice application similar to Windows Explorer in tree mode with OpenWith and SendTo
functionality, however, you only get the full functionality if you pay for the pro edition. The lite
version is only good for moving files around but you cannot launch any files. You also get an
additional file editor with the pro edition.
Explorer
[explorer_1.0_arm.ipk]
85 of 21216/09/2007 12:23
Page 86
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
This application is for moving and copying files around only. The good thing about it is that it
contains two tabs which represent two different directory locations between which files can be
easily moved. It also has a FTP client so you can also move files between your local disk and an FTP
server. However, it hangs if you copy or move large files.
AdvancedFM
[qtopia-advancedfm_1.0_arm.ipk]
This application is almost like the Explorer application mentioned above, but it does not have the
FTP functionality. It has, however, a handy bookmark feature for quickly accessing frequently used
directories and can open files as text files and run them (if they have appropriate file associations).
FileLaunch
86 of 21216/09/2007 12:23
Page 87
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
[filelaunch_0.4.5_arm.ipk]
This application is great and heavily customisable. You can have a single explorer panel or split the
screen into two panels either horizontally or vertically. It has a full set of file management features
and even has options to run each command in sudo mode. There is also a build-in menu system
which can be customised to have all your favourite apps in one handy location. It also lets you add
your own shell commands in any combinations you want and has already got a set of useful shells
for compressing and uncompressing files as well as search and convert. There is also a handy
preview feature to view images as well as text and html files.
FileLaunch is originally written in Japanese. I am in the process of translating all the menus and
messages to English. The repackaged version [filelaunch-en_0.4.5_arm.ipk] will be available once I
finish the translation.
FileLaunch is based on TinyViewer and qshdlg. TinyViewer [tinyviewer_0.3.1_arm.ipk] is a small
and simple file browser that allows you to preview files such as images and simple text. tvtools
[tvtools_0.0.2_arm.ipk] is an addon to tinyviewer to allow you to view archive files such as zip files.
MidnightCommander
[mc_4.6.0_arm.ipk]
87 of 21216/09/2007 12:23
Page 88
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
This is a nice console application like Norton Commander. It has all the file management features
that one would need and also works with FTP. However, it uses the extended character set to draw
the borders which does not get properly mapped with the Japanese locale unless you use the
unismall font which makes the display too tiny.
PIM
The default calendar and addressbook applications aren't that good, so it is better to add something
more useful such as kdepim [kdepim_2.1.2_for_SharpRom.ipk.zip] or later, which has a whole suit
of PIM applications. PIM software seems to be the most popular and get updated quite frequently,
so make sure to get the latest version.
Download and extract kdepim_2.1.2_for_SharpRom.ipk.zip and then install kmicrokdelibs
[kmicrokdelibs_2.1.2_arm.ipk] and pimTABicon [pimTABicon_2.1.2_arm.ipk] first. Following this,
do the following:
Now install whichever of the following packages you want:
OM/Pi email [kopiemail_2.1.2_arm.ipk]
You will need to install lib openssl [openssl_0.9.7d_arm.ipk] and [download
sr-character-conversion_SharpROM_arm.ipk.zip] for character conversion from the sourceforge
project site as well.
KO/Pi calendar [korganizer_2.1.2_arm.ipk]
You might also want to add [korganizer-alarm_2.1.2_arm.ipk] which provides an alarm applet
that will wake the Zaurus from suspend if an event triggers occurs and sounds an alarm.
KA/Pi addressbook [kaddressbook_2.1.2_arm.ipk]
PwM/Pi password manager [pwmanager_2.1.2_arm.ipk]
88 of 21216/09/2007 12:23
Page 89
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
Command line tool for accessing mobile phones. It is used from Kx/Pi to sync with / export to
mobile phones.
I don't use PIM stuff much and I don't sync either. My Zaurus is my laptop. All my important stuff is
on my Z, so I only tried the email, calendar and address book without the rest of the sync stuff.
Firefox, Thunderbird and Open Office is what I use mainly.
Java
Java seems to have been discontinued for the Zaurus. The SL-C3000 as well as any later models
such as the SL-C3100 do not get shipped with any JVM/JRE (Java Runtime) anymore. Also there has
not been any newer versions of the JVM for Zauri since the 1.3.1 release. Java currently is at 1.5.x
(April 2005).
There are several Java flavours available for the Zaurus. Most of them are J2ME distributions. J2ME
is the micro-edition of Java which was designed for small portable devices.
There is a J2SE package available as well. J2SE is the "normal" Java that runs on most desktop and
laptop computers.
You will need a J2ME flavour of Java to run most of the Java applications available for the other
Zauri and PDAs, and a J2SE if you want to try running Java applications that run on PCs.
The following is a small list of available Java runtimes:
Insignia's Jeode (J2ME that comes with earlier Zauri)
on the Zaurus CD - [jeode_1.10.7_arm.ipk]
downloadable from Sharp website - [5500v31c.zip]
Just install one of the J2ME implementation listed above and you should be fine for most Java apps
for the Zaurus.
It is technically also possible to run Swing applications with the J2ME distributions using the SwingZ
library that you can add to Jeode or the Personal Profile. Simply include the swingz.jar into the
classpath. However, this swing library is implementing swing 1.1 only. Most swing applications
therefore won't run.
I have also created jlauncher [jlauncher_0.1_arm.ipk] which is a wrapper for evm (jeode) and cvm
(personal profile) so that applications specifically packaged for either of those J2ME runtimes can be
seemlessly run no matter which of the two J2ME bundles you have installed. For example, a java
package bundled for jeode won't run if you only have personal profile installed unless you manually
change the script for the application to use personal profile and vice versa. jlauncher will
automatically handle it for you.
89 of 21216/09/2007 12:23
Page 90
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
MIDP
If you also want to run Java applications that run on your mobile phone, ie MIDP flavour of J2ME
then you need to install me4se and the midp game and media classes (which you can extract from
the midp 2.0 developer kit.
Rename the zip file to something like midpx.jar and then use the following command to launch the
mobile phone java game assuming all the jar files are in the current directory and we have a game
Xyanide_141.jar:
If you want to play another game then just specify the jar file of that game instead. The last
parameter is the classname for the game. This value can be extracted from the jad file or the
manifest file inside the jar file and is the last argument of the MIDlet-1 variable after the icon
90 of 21216/09/2007 12:23
Page 91
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
name.
I have also created midp-launcher [midp-launcher_0.2_arm.ipk] which is a qshdlg script providing a
GUI game selector to launch game files located under /home/zaurus/Documents/games/j2me. It
also includes a modified version of me4se.jar that uses the larger 640x480 screen instead of the
default mobile screen size. It also includes other necessary files such as midpx.jar.
midp-launcher also has a command line interface which you can use to launch midp jar files:
# midp /mnt/card/opera-mini1.2.2960-basic-us.jar
J2SE
Installing the J2SE version from Blackdown is a bit trickier. If you install the ipk version, then you
need to do the following hacks to get it working after the install:
If you don't have the libstdc++ library then install this libstdc6_1.2.2_arm.ipk package.
Remember that if you want to run Java (J2SE) in graphics mode, ie awt and swing, then you need
to install X/Qt (see X/Qt section) and you might need additional libraries which may or may not
have been bundled with the blackdown distribution you installed. The following is a list of libraries
you might need to add (which are contained in additional-ipaq-stuff.tar.gz):
libBrokenLocale-2.2.2.so linked to libBrokenLocale.so.1
libXm.so.2.1 linked to libXm.so.2
libXp.so.6.2 linked to libXp.so.6
You should also install JSSE which will add SSL support for Java 1.3.x. Download the JSSE zip file
(jsse-1_0_3_03-gl.zip) from Sun's website and extract the three .jar files and copy them to the
.../jre/lib/ext directory.
If you want to write Java applications on the Zaurus as well in addition to just running them, then
you need a Java compiler. The following compilers are available:
IBM's Jikes - [zaurus_jikes.tar.gz]
Kopi Compiler - [Kopi.1.5.zip]
Sun's javac - [tools.jar] from a 1.3.1 JDK
I have created ipk files for the following Java applications that I've written:
HdPad 1.0 (Java Text Editor) - [hdpad_1.0_arm.ipk] (works with J2ME but needs rt.jar from
blackdown; works with J2SE in X/QT)
HdProxy 1.1 (Java Proxy Server) - [hdproxy_1.1_arm.ipk] (works with J2SE in X/Qt)
HdCrawler 2.5 (Java Download tool for Yahoo and MSN groups) - [hdcrawler_2.5_arm.ipk]
(works with J2SE and JSSE added in X/Qt)
More info about these Java apps can be found at the HdLSoft site.
I have also created a cramfs image with the jre and tools pre-installed and configured. All you need
to do to use it is to mount the cramfs image and create some links to the executables by running
java-setup.
# su
# mkdir -p /mnt/java
92 of 21216/09/2007 12:23
Page 93
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
See the X/Qt jumbo section for more details. You will need X/Qt if you want to run awt or swing.
Note: You should install automounter [automounter-c3000_0.5.0_arm.ipk] which automates the
creation of additional loop devices and mounting of the cramfs images.
The java cramfs also has HdPad and HdCrawler pre-installed as well as kopi and jikes compiler, and
tools from the GNU classpath project.
Java Alternatives
There is a way to run Java 1.4.x applications on the Zaurus through a Java compatible runtime such
as JamVM. JamVM is not officially endorsed nor certified to be Java compliant, but it is able to run
most Java 1.4.x and even 1.5 applications. JamVM uses libraries from the GNU classpath project to
run Java applications.
jEdit can be run using JamVM:
JamVM GUI applications (AWT and Swing) require a X/Qt environment for display.
gcc
If you want to develop and compile your own C/C++ applications then you will need gcc. There are
basically two flavours of development for the Zaurus. You can develop on the Zaurus itself using the
on-board or native gcc compiler to build your application binaries or use a cross compiler to build
your applications from a PC. The on-board development is particular useful for small applications.
However, for larger applications, the Zaurus might not be powerful enough unless you want it
sitting on a desk compiling your applications continuously for days. In order to use a
cross-compiler, you would need a x86 based PC or something that is powerful enough to emulate it.
There are several cross compile toolchains which allow you to compile applications for the Zaurus.
One of the easiest to setup and getting started with is the kopsis toolchain
http://kopsisengineering.com/kopsis/SharpZaurusSdkDsl) which uses the DSL (Damn Small Linux)
(
Live CD technology allowing you to boot the CD and have a ready development environment or use
the CD image from a x86 emulator such as qemu, bochs or vmware. There is a great vmware image
93 of 21216/09/2007 12:23
Page 94
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
of DSL made by speculatrix. You can download is from http://www.zaurus.org.uk/downloads.html
There are several on-board development images as well, but none had everything I needed, so I
built my own on-board development environment based on the zgcc 2.95.2 cramfs image
(zgcc2Bin.cramfs) which is derived from the Debian arm distribution. My zgcc development image
(zgcc2-95-2-lite) comes in a single cramfs image and includes necessary headers and libraries to
compile and build console based applications, Qtopia applications (QT/E 1.5) as well as kernel
modules for the 2.4.20 kernel. This image is as small as it gets and does not include
documentation.
I also made a bigger image (zgcc2-95-2) which is compressed as a squashfs image instead to save
space. This larger image includes X11 headers and libraries and supports compiling X/Qt
applications, especially pdaXqtrom (in fact pdaXqtrom was build using it). It can build many of the
opensource applications, both console and X based ones while also retaining the ability to build Qt/E
1.5 applications.
In addition, I also build a newer and even bigger image based on gcc 2.95.3 and a host of updated
tools including binutils 2.16, autoconf 2.59, automake 1.9.2, coreutils 5.0, diffutils 2.8.1, gawk
3.1.5, grep 2.5, sed 4.0.9, tar 1.15, texinfo 4.8. A patched glibc 2.2.2 is also bundled and used to
link against so applications requiring fesetenv/fegetenv can be successfully compiled with this
image. Additionally, this image also contains additional headers and libraries as well as tools to
build QT 3.3.6 applications under X11.
The zgcc image that I build is very simple to setup. All you need to do is mount the cramfs or
squashfs image and run zgcc-config. Here is an example for a squashfs image:
Note: You should install automounter [automounter-c3000_0.5.0_arm.ipk] which automates the
creation of additional loop devices and mounting of the cramfs/squashfs images.
Your zgcc is now ready and should get automatically mounted after each reboot (provided you
installed automounter, otherwise you will need to mount it manually) and the environment should
also be set for you automatically each time you start a new terminal session as the zaurus user.
Temporary files during compilation go to /tmp by default, which will give you problems with larger
compiles since the Sharp distro has a size of 1MB for /tmp. The easiest way to fix this is to set the
TMPDIR variable and point it to somewhere with more space such as /hdd2/tmp.
# mkdir -p /hdd2/tmp
# export TMPDIR=/hdd2/tmp
The zgcc development image also comes with some simple samples. There is a console helloworld
application and a sample Makefile to compile it. I also included a hello-qt sample which
demonstrates a simple Qtopia version of helloworld. And last but not least, I also included a sample
driver module and Makefile to test building kernel modules.
tmake also works for generating Makefile for Qtopia applications. You can even use configure to
generate the Makefile for compiling source packages for various Linux ports and projects, in
particular X/Qt and pdaXqtrom sources. Perl and xml-parser is also bundled with the larger images.
If you su to root user, then the environment variable for gcc are not set automatically. This was
done on purpose. If you want to enable gcc for the root user temporarily, then do the following:
# source /mnt/zgcc/zgcc-env
94 of 21216/09/2007 12:23
Page 95
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
If you have the 2.95.3 image, then you can also compile Qt 3.3.6 applications. However, the default
environment is configured for Qt/E development. To switch to QT 3.3.6, do the following:
# source /mnt/zgcc/qt3/qt3-env
Note: QT 3.3.6 support is experimental. Not everything might work or compile.
Perl
You do not need to install Perl separately if you have installed the zgcc image, but if only want Perl
without the gcc compiler, then do the following:
Once the packages have been installed add the following to the .profile file:
export LANGUAGE=C
export LC_ALL=C
You might also want to do the following:
# su
# ln -s /usr/local/bin/perl /usr/bin/perl
Optionally, you might also install a XML parser [xml-parser_2.31-1_arm.ipk] module for perl.
Installing X/Qt
This can be a quite simple and straightforward task or a messy and frustrating experience. If you
are lucky, everything just installs and you got X/Qt up and running in no time at all. However, if
you are unlucky, then troubleshooting a broken installation can be a challenging and frustrating
process. I've sucessfully installed the latest version of X/QT, but I have noticed that some X/Qt
packages do not uninstall cleanly and will confuse reinstalls or other packages that have
dependancies on them. Not all the packages that I installed are required for basic X to work under
Qtopia, however, with this set of libraries, you can easily run Firefox and Debian PocketWorkstation.
You can either follow the instructions below or use the jumbo package instead. The jumbo package
section is more up to date.
Install the following packages in the the given order:
Hint: you can use the command line program xev from within X to determine the keycode of
different keys on the SL-C3000 and SL-C3100 keyboard and add the mapping with xmodmap like I
did, or alternatively, you can create a .xmodmaprc file to customize your keymaps instead:
# xmodmap -pke > /home/zaurus/.xmodmaprc
In addition, I modified .xinitrc and replaced the line:
rxvt &
with the following:
if [ -f $HOME/.xstart ]; then
96 of 21216/09/2007 12:23
XAPP=`cat $HOME/.xstart`
Page 97
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
$XAPP &
rm $HOME/.xstart
else
rxvt &
fi
Then I replaced the content of /home/QtPalmtop/bin/startx-wrapper with the following:
#!/bin/sh
X=`ps -ef|grep X|grep qt`
if [ "$X" = "" ]; then
With this modification, I can run X application such as firefox by issuing the command:
# xlauncher firefox
This causes firefox to be run, and if X is already running it will just appear inside X, but if X has not
been started yet, it will start X as well. This is nice for adding X application icons on the Qt desktop.
X control can be activated by pressing the menu button which allows you to switch to fullscreen
and shutdown X.
Note: You can also install [xqt-debian-scripts_0.5_arm.ipk] instead of xqt-startup-scripts
[xqt-startup-scripts_0.0.3_all.ipk] which will give you an even more enhanced .xinitrc and
startx-wrapper and you don't need to do the above modifications manually. (It will also give you an
addtional X/Qt tab and some pretty icons for X applications such as firefox, the gimp, abiword and
pocketworkstation which you can delete if you don't like them)
97 of 21216/09/2007 12:23
Page 98
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
If you want to try installing Thunderbird or Minimo, then do the following as well:
This will fix the fonts problem with Thunderbird. Without this updated library the fonts in
Thunderbird are not being displayed at all.
Debian/PocketWorkstation
You can run Debian in chroot mode so it can coexist with the existing system (Sharp ROM with
Qtopia). You will need to install X/Qt first (see above) or run it via VNC. You could also install
Debian using my pre-build debian image (see the X/Qt jumbo and PocketWorkstation section),
otherwise follow the instructions below to install Debian manually.
Debian needs to be installed on an ext2 filesystem with at least 195MB of free space. Unfortunately,
/hdd3 is vfat. You could reformat /hdd3 as an ext2 filesystem (but that is troublesome), or install
Debian to an ext2 formatted CF or SD. Alternatively, you can create a loopback filesystem on /hdd3
and format it as ext2.
Since there is space on /hdd3, creating a loopback filesystem for Debian would be the best unless
you have already filled up /hdd3 in which case you can install Debian to a SD or CF card.
You can either follow the instructions below or use the jumbo package instead.
If not using the jumbo package, here is how you create the loopback filesystem with 256MB on
/hdd3 (if you want to install OpenOffice, make it at least 512MB):
# su
# cd /hdd3
# mkdir debroot
98 of 21216/09/2007 12:23
Page 99
my Zaurus SL-C3000 and SL-C3100http://www.users.on.net/~hluc/myzaurus/
# mknod /dev/loop2 b 7 2
# dd if=/dev/zero of=/hdd3/pocketworkstation bs=1M count=256
# echo y | /sbin/mke2fs pocketworkstation
# mount -o loop -t ext2 /hdd3/pocketworkstation /hdd3/debroot
Here is how you format your SD card to be ext2 (insert an empty SD card, otherwise you will lose
everything that was on it):
# su
# umount /mnt/card
# mkfs.ext2 /dev/mmcda1
# mount -t ext2 /dev/mmcda1 /mnt/card
# mkdir /mnt/card/debroot
You can also leave your SD as FAT and not format it as ext2. You will need to create a loopback
filesystem on your SD similar to the above sample for creating a loopback filesystem on /hdd3.
Also create a 128MB swapfile for Debian if you haven't got one yet.
Now we are ready to install Debian [zaurus-debian-big-v0.17.tgz]. We will now assume installation
into /hdd3/debroot. Replace with /mnt/card/debroot as appropriate. Change to the directory where
zaurus-debian-big-v0.17.tgz is located and then do the following:
# zcat zaurus-debian-big-v0.17.tgz | tar xvf - -C /hdd3/debroot
# su
# cd /hdd3/debroot
# pwd > /etc/debroot
# chown -R root:root etc
# chown -R root:root var
# chown -R root:root home
# mkdir -p mnt/card
# mkdir -p mnt/cf
# cp /etc/hosts etc
# cp /etc/resolv.conf etc
# vi startd
You will also need sudo (see above in sudo section). Once sudo is installed, add the following to the
zaurus user's NOPASSWD list using visudo:
/bin/mount
/sbin/chroot
/sbin/swapon
Install [xqt-debian-scripts_0.5_arm.ipk] (unless you installed the jumbo package) and then click on
the Debian icon on Qtdesktop. Wait a bit for X and PocketDesktop to load. 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.
If you want the icewm task bar to appear at the top instead of the bottom of the screen, then edit
/home/zaurus/.icewm/settings and change the TaskBarAtTop entry.
TaskBarAtTop=1 # 0/1
If you don't want to use sudo, then you can start PocketWorkstation as root. You need to copy
.xinitrc from /home/zaurus to /home/root and then make sure you use su - before you run
xlauncher debian from a console/terminal window. You will also need to copy the .icevm
directory. However, the icons on the Qt Desktop cannot be launched as root. You will have to
configure sudo if you want to be able to launch using those icons.
# su
# cp /home/zaurus/.xinitrc /home/root
# chown root:root /home/root/.xinitrc
# cd /hdd3/debroot/home
# cp -R zaurus/.icewm root
# cd /hdd3/debroot
# su # xlauncher debian
The xqt-debian-scripts package is an enhanced replacement for xqt-startup-scripts. Your X will work
just as before, so you will now have a X server icon and a Debian icon. Your existing X apps will
launch into normal X if there is no other X server running, but if Debian is running, they will just
launch into the Debian X session and assume the look and feel of icewm. They will look the same as
your Debian applications, however, since the applications were launched outside the chroot
environment, they retain their access to the normal environment but just appear inside the same X
window session. The xqt jumbo package includes the xqt-debian-scripts package, so if have
installed the xqt jumbo package, then don't install the xqt-debian package since it is already
included.
100 of 21216/09/2007 12:23
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.