iPAQ related

back to notes

 

Getting Linux on the iPAQ

For the Familiar distribution, see the following pages on www.handhelds.org :

Alternatives are: www.pocketlinux.com, and http://intimate.handhelds.org/

 

   

Getting a Cross-compiler installed on your (Linux) desktop

The easiest way is to download the binaries from  ftp://ftp.handhelds.org/pub/linux/arm/toolchain/

If you want to do it yourself: http://www.handhelds.org/z/wiki/HOWTO%20Build%20a%20Cross%20Toolchain%20in%20Brief

 

   

Things to remember about the Familiar distr. and the iPAQ

  • The serial port (which is also used by the cradle) is called /dev/ttySA0, as opposed to the standard /dev/ttyS0 since it is using a different UART. To disable the terminal that respawns on that port: change (delete or put a '#' in front of it) the appropriate line in /etc/inittab and do init q to reinitialise without the port being occupied by the serial terminal. Now you can use it for your own purposes.
  • To make your own jffs2 files, download ftp://ftp.uk.linux.org/pub/people/dwmw2/iPAQ/mkfs.jffs2 and execute: "mkfs.jffs2 -r <rootdir> -o <jffs2-file> -e 0x40000 -p"
  • Remember that the serial port does not supply enough power for most (if not all) devices that take their power from the serial port.
  • How to take a screenshot from your iPAQ: http://www.handhelds.org/z/wiki/IpaqScreenshots: grab the screen contents with: "cat /dev/fb0 > /tmp/screen.raw", get the file: "sz /tmp/screen.raw", convert to ppm: "./raw2ppm screen.raw > screen.ppm"  and rotate and convert again: "convert screen.ppm -rotate 270 screen.png"
  • sending files from iPaq to host via serial: "sz <file>"
  • Finding out the status of the battery: "cat /proc/apm"
  • Controlling the iPAQ led:  "led <on/off: 0,1> <totaltime: minutes> <ontime 100m/s> <offtime (100m/s)>"
  • Rotating the screen: "/etc/init.d/x stop, /etc/init.d/x stop, Xfbdev -screen 320x240 -dpi 100 &, blackbox&" is said to work best
  •  
   

FUN

 

Playing Doom on your linux-enabled iPAQ (howto and screenshots) !

 

   
 

Compiled by Kristof Van Laerhoven.