Enhanced FlashROM Update for the SL-5000D Personal Mobile Tool
ver 1.12 SDb02

I put this together for my own purposes, for one thing it's too easy to get the SL-5000D to run out of memory - 20M is just a bit too little RAM. Also I didn't like loosing data and applications every time I had to do a full reboot.

NOTE: Except where noted the contents of this ROM image are identical to the Sharp supplied image which may be downloaded from the Sharp web site . Please refer to the README file for more information on the new features in this ROM compared with the 1.02 version.

The principal difference between the Sharp image and this one is the use of the SD card for internal storage and the fact that the kernel has been altered to make all 32M of RAM available for running programs.

In addition there a number of extra programs included in the ROM image. The full list of changes is:

Additional from the OpenZarus ROM

parashoot, fifteen, tetrix, spreadsheet

Missing utilities from the "textutils" package

cksum, comm, csplit, expand, fmt, fold, join, nl, od
paste, pr, ptx, split, sum, tac, tsort, unexpand

Extra demons & services

boa web server, secure shell, rsync

Extra utilities

strace, fdisk, awk

Extra Libraries

libcrypto, libssl (from Opsl SSL 0.9.6), libz (from zlib 1.1.4)

Extra modules

net_fd_102.o for compatibility with the Linux CDCEther driver for IP over USB (note that by default the newer version on net_fd.o is used).

Reverted versions

Calculator is the 1.02 ROM version. Many people (myself included) feel that the 1.10 ROM version was a backward step.

Kernel

The (now unused) RAM mapped MTD driver has been removed. Tmpfs has been added and the kernel command line changed to "root=/dev/mtdblock0 mem=32M"

INSTALLATION.

You will need an SD/MMC card which has been formatted with an ext2 filesystem. Use of a CF card for the internal storage isn't supported.

The procedure is essentially the same as for the Sharp ROM image. If you haven't already upgraded your unit I suggest doing so with one of the official images first to get a feel for the process.

  1. BACKUP any data on the Z

  2. Format the SD/MMC card with an ext2 filesystem. The 1.02 ROMS have buggy drivers for the SD slot so upgrade to v 1.10 or v1.11 before doing this.

    To format the SD card

    1. insert the SD card in the Zaurus
    2. Open a console window and type the command
      umount /mnt/card
    3. If you have a copy of fdisk change the partition type for /dev/mmcda1 to "Linux", this step is optional (I think). fdisk can be obtained from the handhelds.org ftp site
    4. In a terminal window type the command
      mkfs.ext2 /dev/mmcda1

  3. Obtain a CF card formatted with a FAT16 filesystem. Usually this is how they come when you buy them but sometimes cameras can reformat them with a FAT-32 filesystem. If in doubt use the Zaurus to reformat the card

    1. insert the CF card in the Zaurus
    2. Open a console window and type the command
      umount /mnt/cf
    3. Open a terminal window and type the command
      mkdosfs /dev/hda1
    4. Remove and re-insert the card, it should be recognised.

  4. Unpack the SL5UpdateV112-SDb02.zip file and transfer the bootflag.txt, initrd.bin and zImage files to the root directory of the CF card.

  5. Insert the CF card in the Zaurus (if it isn't already).

  6. Make sure the unit is mains powered.

  7. Flick the switch by the battery cover to the "Remove Battery" position and remove the battery cover. Do not remove the battery.

  8. This is the tricky bit. Hold down the C & D keys on the keypad and simultaneously press the full reset button. I find that the tip of a small pencil eraser is useful for holding down the C&ampD keys. Both the orange and green LEDS should light and remain lit for a few minutes. Do not disturb the unit until the LEDS go out. Especially do not remove mains power.

  9. Once the LEDS go out press the full reset button once more, replace the battery cover and flick the switch to the "Normal Operation" position.

  10. Turn the unit on. You should see the Sharp logo followed by the boot message.

    You will see some messages as the unit checks the filesystem on the SD card, then it will pause as it unpacks files onto the card. On mine this takes about 10 minutes - I haven't figured out why so long but be patient. I'd also advise leaving the unit on mains power at this point.

  11. QPE should then start normally.
Some things to note.

Just to re-iterate - unpacking files to the SD card during boot takes a long time. I don't know why, maybe the SD card drivers are just slow but it freaked me at first. Don't worry, if all goes well it will finish and then start QPE normally. The files are only copied for a full reset so you won't have a long wait normally.

The SD card "disappears", you won't see an icon, sdmgr isn't running and the storage tab on system info won't show that it's there. This is normal. Basically QPE "knows" that the SD card is /dev/mmcda1 and that /dev/mtdblock1 is the internal storage device. This is a pain if you mount /home on /dev/mmcda1 because every file on the card shows up in the Documents tab!

The SD card is not reformatted on a hard reset although the /home tarfile is unpacked. This means that application data should survive a reboot, although changes to system configuration files may be lost.

If you wish to use tmpfs for your temporary files add the following line to /etc/fstab, then do a soft reboot using the shutdown application

none /home/tmp tmpfs defaults 0 0
To limit the size of the filesystem use, for example
none /home/tmp tmpfs size=2M 0 0
Licenses and Source Code.

Except where noted all licenses and copyrights are as for the Sharp ROM. Extra applications taken from the OpenZaurus 2.6 ROM (parashoot, fifteen, tetrix, calculator, spreadsheet) are from the GPL release of qtopia. Source for these is available from trolltech - see ftp://ftp.trolltech.com/qt/source and ftp://ftp.trolltech.com/pub/qt/embedded/palmtop or from the Sourceforge projects for QPE - see http://sourceforge.net/projects/qpe .

GNU awk is released under the GPL and source may be found on the FSF ftp site or a mirror.

Boa is released under the GPL and is available from http://www.boa.org .

SSH and SSL are released under BSD like licenses - for full details see the LICENSE file in their respective sources

Ssh 3.1p1 can be obtained from the Open SSH website There is a list of mirrors from which the tarball may be downloaded at http://www.openssh.org/portable.html .

Ssl 0.9.6c may be downloaded from the Open SSL website . The tarball may be downloaded from http://www.openssl.org/source/openssl-0.9.6c.tar.gz .

The zlib home page is at http://www.gzip.org/zlib , the tarball can be downloaded from http://prdownloads.sourceforge.net/libpng/zlib-1.1.4.tar.gz or one of the mirrors

The textutils package is available from ftp://ftp.handhelds.org , the source code can be found here Rsync can be found here and finally fdisk is part of the util-linux package which can be found at ftp://ftp.kernel.org/pub/linux/utils/util-linux .