Home
ROM Image Builder
This will be a boot-floppies-like tool to bootstrap a basic
Debian/Zaurus kernel and root filesystem. It will make use of
debootstrap, various kernel patches, and perhaps some custom
scripts to strip things down a bit and divide up the image to
fit in the Zaurus' multiple internal storage areas.
Roadmap
I'm not worrying about kernel issues just yet, and am basing my
current work on the OpenZaurus kernel. Eventually, there will
be a native Debian kernel. Unfortunately, this means losing SD
card support (though I hear that MMC may be possible). This is
due to despicable closed-spec copy-protection strong-arming (no
pun intended) on the part of the SDCA.
My current list of issues for the root filesystem, in
approximate order of priority:
- Try to build an image which includes a minimum amount of PDA
type software, which can act as a functional replacement for
the stock software, while allowing the user to install Debian
software, upgrade the system, etc. This means squeezing base,
X and applications into a 14M (compressed) jffs2 filesystem.
Additional software can be installed on the other internal
flash device, or on CF and SD cards.
- Create a tool to build these images automatically or
semi-automatically. The current images are built by hand.
Testing ROM Images
WARNING WARNING WARNING This stuff is very new, and very
rough. Try it at your own risk. It will probably boot, but may
not, and may cause you or your Zaurus to catch on fire at any
moment.
You will need:
- TWO CompactFlash (CF) cards in order to do this safely, unless
you have a CF reader/writer unit in another computer.
- 32M is a good size for one, since it was enough for me
to fit both the Sharp ROM image, and a backup of my data.
Your mileage may vary. You can always copy your backup
off somewhere else and copy it back, but if you are going
to be updating your image several times (as I am), this is
inconvenient. This is your recovery media, in the event
that the Debian image does not work.
- 16M should be enough for the second card, which only
needs to hold the Debian kernel and initrd. I used a 32M
one because it was what they had at the store.
- Network connectivity to your Zaurus, or some other means to
get the Debian ROM images onto a CF card.
Procedure:
- Download the official Sharp ROM image: SL-5000D SL-5500
- Follow the instructions provided by Sharp for placing the
image on a CF card with a FAT filesystem.
- Backup your Zaurus using the provided Backup/Restore
application. This can be done with the same CF card that you
used to hold the ROM image, if it fits. If you care at all
about your data, this step is NOT OPTIONAL. YOU WILL LOSE ALL
OF YOUR DATA. You have been warned.
- (optional) test that you have done the first few steps
correctly by flashing your Zaurus from the CF card, by
following the procedure provided by Sharp.
- On the second CF card, create a FAT filesystem
- Place the Debian initrd (name it
INITRD.BIN). CHECK THE MD5SUM; it should be
ce7705c02bf0a410733531c25df9f33f.
- Place the kernel (name it ZIMAGE) on
the same filesystem. CHECK THE MD5SUM; it should be
b32718ec1692dd4bac49fffc60ad1f4f.
- Follow the procedure on the Sharp website for updating the
ROM.
- Try it out and see if it works. If it does, enjoy. If not,
find out what's wrong and send me reports and patches. Either
way, I'd like to hear from you. Here are some things to try:
- If you get a shell prompt early in the boot process,
exit from it so that normal startup can continue. This
shell is started in case the system does not boot
correctly, so that you can debug the problem.
- Login as "root", password "root".
- Run "zstartx" to start up X. Currently, this must be
done as root. You should get an xvt window.
- Bring up the USB network interface by inserting your
Zaurus into the cradle. Network configuration is done via
/etc/network/interfaces, as for a normal Debian system.
- If you have a wireless card, try that. I don't have
one, and am not sure whether the necessary tools are
included.
- Make a filesystem on /dev/mtdblock6, a CF card, or an SD
card. Move /usr onto it, and install some software with
APT.
- If it's completely broken, such that you can't boot, that's
what you have the other flash card for. Re-flash the original
ROM image and restore your system.
Matt Zimmerman
Last modified: Sat Aug 10 23:38:05 EDT 2002