Familiar Opie Installation Guide

Dated: 15-Mar-2004
Versions: 0.7.2 Familiar, 1.0.2 Opie
H3600 iPaq, Stowaway keyboard, D-Link DCF-660W
Original Author: frank.dean-as(at)fdsdDOTcoDOTuk
Beware - anyone can modify this document


Disclaimer

All information herein is presented "as-is", with no warranties of any kind, expressed nor implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Use the concepts, example and information at your own risk. The author(s) do not take any responsibility for damages that may arise from the use of this document.

Under no circumstances will the author(s) of this document be liable for any damages whatsoever arising out of the use of this information. If you damage your equipment or breach any conditions imposed by suppliers, this is entirely at your own risk. There is no guarantee whatsoever that any of this information is in any way correct, nor suited for any use whatsoever.


Overview

These are the notes of a novice Familiar/Opie user, who had to re-flash more than once, due to silly mistakes... I've largley done these notes for my own aide-memoir, but thought they might be useful to others with a similar configuration. I'm sure this will quickly get out of date, but reflects the best advice I could find (by trawling the archives) for building your iPaq with this release.

We assume you've already installed the bootloader from www.handhelds.org and have the convenience of a compact flash card. It must be formatted with vfat. If it's the wrong format, you'll get the error "Can't read control file" when attempting to reflash.

Hint: Scan this guide and figure out which files you would like pre-installed on the CF card. That way you can do the install in one go.


Re-flashing Familiar and Opie

I strongly recommend following the official Faimiliar v0.7.2 Installation guide, unless you're simply using this as an aide-memoir

Download Familiar using the wizard at http://familiar.handhelds.org/familiar/releases/v0.7.2/install/download.html - I chose 0.7.2 stable, h3600, Opie which resulted in a download of bootopie-v0.7.2-h3600.tar

Note: Re-flashing requires that the compact flash card is formatted with vfat. Most cards are formatted with vfat, but if you've reformatted it may not be vfat. I believe under Windows XP there are options of FAT32 and FAT. 'FAT' appears to be the correct one.

  • untar bootopie-v0.7.2-h3600.tar
  • Copy reflash.ctl, md5sum and bootopie-v0.7.2-h3600.jffs2 to compact flash card. (Stored in bootopie-v0.7.2-h3600)
  • Reboot iPaq with joystick button held down.
  • Press record button to bring up menu options - select and follow prompts - if any errors reported, you may need to reduce the filenames in md5sum to only include those being deployed (i.e. the above)
  • When installation is complete, select the 'Boot from flash' option and follow the on screen instructions.
  • Set timezone - don't worry about time and date if you're going to connect to the internet. That'll be set using ntp.

  • Set name and email address (The email address will be used as the 'from' field for any mail sent with opie-mail). If need be, you can alter this later using the contacts application. These details can be amended using Contact->My Personal Details


ipkg Package installer

Familiar 0.7.2 incorporates ipkg version 0.99.105 which is broken. It appears version 0.99.87 is the best previous stable version, and should be installed prior to attempting to install any other packages. However, this older version requires manual installation. The following steps can be carried out in a terminal on the iPaq.

Download http://familiar.handhelds.org/familiar/releases/v0.7/base/armv4l/ipkg_0.99.87_arm.ipk

  1. In a temporary working area, explode the ipkg0.99.87arm.ipk package with 'ar -x ipkg0.99.87arm.ipk'
  2. Explode the extracted 'data.tar.gz' with 'tar zxvf data.tar.gz'
  3. Copy the extract binary ipkg to the iPaq with:
    • cp -f /mnt/hda/iPaq/usr/bin/ipkg /usr/bin/ipkg
  4. Confirm correct version installed
    • ipkg -v

For other cards go to http://www.handhelds.org/z/wiki/IpaqHardwareCompatibilityWireless

These instructions assume you've got a nicely setup Wireless LAN with DHCP enabled, firewalls enabled etc. If you're not using DHCP, you'll need to edit the ip address etc. in /etc/pcmcia/network.opts. (Alternatively you could use the iwconfig utility - iwconfig eth0 essid your_sid key 0000000000)

Edit the following lines in /etc/pcmcia/wireless.opts

  • ESSID="your_sid'
  • KEY="0000000000"

Add the following entry to /etc/pcmcia/config.opts

card "D-Link DCF-660W" manfid 0xd601, 0x0005 bind "orinoco_cs"

  • The card manager needs restarting at this point - (Someone please amend this to avoid a reboot... and subsequent loss of files in /mnt/ramfs...) * shutdown -r now

If things are OK, when you insert the wireless cf card, instead of 'Unsupported card' we should get 'D-Link DCF-660W'

  • Goto desktop then settings then network on Opie.
  • Select 'Ethernet' then 'Configure'
  • Check 'Automatically bring up'.
  • Click 'OK'
  • If all is successfull, you should see a sensible ip address against the Ethernet connection.

Note: You can eject and re-insert the card from the console with the following commands:

  • cardctl eject
  • cardctl insert

ssh

Now you should be able to bring up an ssh session with

  • ssh root@ip.address.of.ipaq

scp

and transfer files with

  • scp /home/myfiles/* root@ip.address.of.ipaq:/mnt/ramfs

Set the correct time

  • ntpdate -b time.handhelds.org

Upgrade

You should now be able to bring your opie system packages up-to-date

  • ipkg update
  • /etc/init.d/opie stop
  • ipkg upgrade
  • /etc/init.d/opie start

Stowaway Keyboard

References:

Installs the following:

Install them using the GUI AQPkg application.

To get it working - disable listening on the serial port

  • telinit 4

You can now start and stop the keyboard using the GUI Stowawayctrl application, or manually with:

  • insmod h3600_stowaway
  • cat /dev/stowaway

The 'cat' command keeps the serial port open. Ctrl-C it to stop it.

When you next need the serial port for the serial cradle connection...

  • telinit 2

If using the manual method to start and stop the keyboard, you can have the h3600_stowaway module reloaded on boot by:

  • echo h3600_stowaway > /etc/modutils/stowaway
  • update-modules

Restoring or Backing up Application Data

  • Make symbolic link to /mnt/hda
    • ln -s /mnt/hda /mnt/cf

The GUI backup/restore program will then work...


Installing Applications to RAM

After installing the base package to flash, there isn't much space left in flash for any remaining applications. Generally, everything seems to be written to flash, contacts, to-do, etc. Anything in RAM is lost on reboot (with the h3600, anyway). Took me a while to realise what the approach to memory management is. More documentation would help no end.

There are options for installing applications to CF or RAM but they currently require manually creating symlinks after installation. However, the following script avoids that.

First you need the script:

Then create a symbolic link as the script looks for /mnt/ram

  • ln -s /mnt/ramfs /mnt/ram

Copy the script somewhere usefull - instructions inside!

So, now you can install to RAM using ipkg. You may like to keep the installation packages on a spare installation card. Maybe install to CF anyway.

  • ipkg -dest ram install opie-mail

Hint: Make a note of the packages downloaded and put then on a CF for quick local re-install.


Miscellaneous

Need to logout and login for Opie to pick up desktop changes.

Mail

  • ipkg -dest ram install opie-mail

Installed opie-mail to RAM and works fine with IMAP - haven't tried POP3. Failed miserably trying to get opie-mail2 to work. Don't forget to set-up your name and email address in the contacts application, under Contact->My Personal Details. Opie-mail seems to pick it up from there to include in the 'from' address of emails.

Media Player

  • ipkg -dest ram -force-overwrite install opie-mediaplayer2

Rip a few oggs... Now we're dancing!

If you get difficulty adding files to the playlist, try 'file->Clear list'.

Modem

  • ipkg install serial-modules
  • ipkg install wvdial

The installation script fails trying to run the postinstall script. However, it's only trying to create an initial /etc/wvdial.conf file. Create one as follows.

[Dialer Defaults]
Modem = /dev/modem
Phone = isp.phone.number
Username = isp.username
Password = isp.password

[Dialer Switch9]
Dial Prefix = 9,0

[Dialer Switch0]
Dial Prefix = 0,0

[Dialer pulse]
Dial Command = ATDP

You can then configure the script further using wvdialconf, but you need to create a symlink to /dev/modem otherwise it dumbly misses it - which is surprising as /dev/modem is the default for wvdial.

  • ln -s /dev/modem /dev/ttySA1 (or similar, depending on your configuration)
  • wvdialconf /etc/wvdial.conf

If it finds a modem on your system, it'll add some appropriate configuration options to you wvdial.conf. If you had to create a symlink as above, it'll have added a MODEM entry to your config file. Delete this entry so that it defaults to /dev/modem.

Dial-up your isp with

  • wvdial

Have a look at the man pages for wvdial - They're concise and tell you what you need to know.

Konqueror Web Browser

Takes up a lot of space, so install to ram

  • ipkg -dest ram install konqueror
  • ipkg-link mount /mnt/ram

ZSafe

Store your passwords somewhere fairly safe...

  • ipkg install opie-zsafe

Packages to uninstall

The following packages can be considered for uninstalling from the base installation, if you do not need the features they provide. You might prefer to reinstall some of them to RAM.

  • bluetooth-uart-modules
  • bluetooth-modules
  • opie-drawpad
  • opie-handwriting
  • opie-handwriting-classicset
  • opie-qpdf
  • opie-solitaire
  • opie-showing
  • dropbear
  • opie-calculator

PIM Synchronisation

Synchronise XimianEvolution and your PIM with MultiSync

See XimianEvolution#MovingData to determine which directories should be backed up for XimianEvolution.

In my experience, syncronisation never works 100% reliably, and more often than not makes a real mess of your valuable data. Make sure you've got good backups of the data on both devices.

MultiSync didn't work well for me and I've reverted to unsatisfactory manual methods until I've more time to spend sorting out the issues.

-- Frank Dean 15 Oct 2005


Backup

This section describes a number of options for backing up your Ipaq.

  1. Rescue Compact Flash
  2. BackupPC
  3. JFFS2 Image

Create a Rescue Compact Flash Card

Reflash Files

Adding these files to your rescue flash card enables reflashing from CF.

  • BootBlaster_1.19.exe
  • bootopie-v0.7.2-h3600.jffs2
  • reflash.ctl
  • md5sums

Configuration Files

Create a tar (restore.tar.gz) file containing key files that you might have changed. E.g.

  • etc/pcmcia/config.opts
  • etc/pcmcia/wireless.opts
  • etc/ipkg/familiar-ipaqsa.conf
  • etc/ipkg/opie.conf
  • etc/ipkg/5thtoe.conf
  • etc/ipkg/base.conf
  • etc/hosts
  • etc/wvdial.conf
  • etc/resolv.conf
  • usr/bin/ipkg
  • usr/bin/ipkg-link

Installable Packages

Copy all the packages you need to restore your system to the Compact Flash card.

I use the following:

  • ipkg0.99.87arm.ipk
  • konqueror0.9.3-20030623arm.ipk
  • libcrypto0.9.70.9.7c-5arm.ipk
  • libetpan0.33pre-20040321arm.ipk
  • libmailwrapper0.4-20040217arm.ipk
  • libqte22.3.7-5.1arm.ipk
  • libssl0.9.70.9.7c-5arm.ipk
  • libstdc++2.10-glibc2.22.95.4-0.010407-fam1arm.ipk
  • opie-calculator1.0.2arm.ipk
  • opie-drawpad1.0.2arm.ipk
  • opie-keyboard1.0.2arm.ipk
  • opie-mail0.4-20040217arm.ipk
  • opie-qasteroids1.0.2arm.ipk
  • opie-qpdf1.0.2arm.ipk
  • opie-sh0.5-arm.ipk
  • opie-showimg1.0.2arm.ipk
  • opie-sh-stowawayctrl1.0.0arm.ipk
  • opie-solitaire1.0.2arm.ipk
  • opie-zsafe1.0.1arm.ipk
  • serial-modules2.4.19-rmk6-pxa1-hh30ipaqsa.ipk
  • stowaway-modules2.4.19-rmk6-pxa1-hh30ipaqsa.ipk
  • wvdial1.53arm.ipk

Scripts

Use scripts to speed recovery.

restore.sh

#!/bin/sh
# Removes and installs preferred packages after the base system has been
# reflashed.
# Note: The recovery tar.gz file should be untarred first to ensure
# that we have the correct working ipkg binary (version 0.99.87) or manually
# install it.
INSTALL_OPTS='-force-overwrite -force-reinstall'
RESTORE_FILE=/mnt/hda/restore.tar.gz
if [ -e $RESTORE_FILE ]
then
cd /
tar -zxvf $RESTORE_FILE
fi
cd /mnt/hda
if [ ! -e /mnt/cf ]
then
     ln -s hda /mnt/cf
fi
if [ ! -e /mnt/ram ]
then
     ln -s /mnt/ramfs /mnt/ram
fi
ipkg remove bluetooth-uart-modules bluetooth-modules
ipkg remove opie-drawpad
ipkg remove opie-qpdf
ipkg remove opie-solitaire
ipkg remove opie-handwriting opie-handwriting-classicset
ipkg remove opie-showimg
ipkg remove opie-calculator
echo stowaway
ipkg $INSTALL_OPTS install serial-modules_2.4.19-rmk6-pxa1-hh30_ipaqsa.ipk
ipkg $INSTALL_OPTS install stowaway-modules_2.4.19-rmk6-pxa1-hh30_ipaqsa.ipk
ipkg $INSTALL_OPTS install opie-sh_0.5-_arm.ipk opie-sh-stowawayctrl_1.0.0_arm.ipk

install_ram.sh

#!/bin/sh
# Re-installs packages normally installed to RAM.
cd /mnt/hda
INSTALL_OPTS='-force-overwrite -force-reinstall'
echo opie-mail
ipkg -dest ram $INSTALL_OPTS install opie-mail_0.4-20040217_arm.ipk libmailwrapper_0.4-20040217_arm.ipk libetpan_0.33pre-20040321_arm.ipk libssl0.9.7_0.9.7c-5_arm.ipk libcrypto0.9.7_0.9.7c-5_arm.ipk
echo konqueror
ipkg -dest ram $INSTALL_OPTS install konqueror_0.9.3-20030623_arm.ipk
# ipkg $INSTALL_OPTS install libqte2_2.3.7-5.1_arm.ipk
echo opie-qasteroids
ipkg -dest ram $INSTALL_OPTS install opie-qasteroids_1.0.2_arm.ipk
echo opie-solitaire
ipkg -dest ram $INSTALL_OPTS install opie-solitaire_1.0.2_arm.ipk
echo opie-zsafe
ipkg -dest ram $INSTALL_OPTS install opie-zsafe_1.0.1_arm.ipk
echo wvdial
ipkg -dest ram $INSTALL_OPTS install wvdial_1.53_arm.ipk libstdc++2.10-glibc2.2_2.95.4-0.010407-fam1_arm.ipk
ipkg -dest ram $INSTALL_OPTS install opie-calculator_1.0.2_arm.ipk
WVDIAL_POSTINST='/mnt/ramfs/usr/lib/ipkg/info/wvdial.postinst'
if [ -e $WVDIAL_POSTINST ]
then
     rm $WVDIAL_POSTINST
fi
ipkg-link mount /mnt/ram

Restoring from the rescue Compact Flash

Reflash the unit as described above using the rescue Compact Flash card.

Excecute the restore script.

  • /mnt/hda/restore.sh

Change password from default 'rootme'

  • passwd

Reboot

  • shutdown -r now

Install packages to RAM

  • /mnt/hda/install.sh

BackupPC

http://backuppc.sourceforge.net/index.html

Install the rsync package and use ssh as the transfer mechanism. Copy the backuppc's iddsa.pub key to /root/.ssh/authorizedkeys onto the ipaq.

JFFS2 Image

Create a copy of your Familiar Linux root filesystem as a JFFS2 image file. This is described in the FamiliarBackupHowto. The approach is based on the howto at http://www.yargybot.com/Familiar/BackupHowto.html.

I haven't tried this method for backing up. For hints on how you might restore it...

-- Frank Dean - 16 Oct 2005


-- Frank Dean - 15 Mar 2004
-- Frank Dean - 26 Nov 2004 Updated

Related Topics: LinuxHintsAndTips