Friday, March 30, 2007

QPDF2 - pdf reader for OPIE

Install QPDF2:

# ipkg install qpdf2 -d loop0
# ipkg-link add qpdf2; ipkg-link add t1lib

Works out of the box

Saturday, March 10, 2007

Links

I've added some links to the files I've used in the last post

Friday, March 9, 2007

Reflash OZ3.5.4.1

GPE fail to load, so I decided to reflash the whole thing.

Before reflashing, I moved the root folder to root.old.

# mv /home/root /home/root.old
Downloaded the OpenZaurus 3.5.4.1 OPIE Image from ewi546.ewi.utwente.nl mirror and followed the OpenZaurus C7x0/Install Howto.


Loop0 Image:

I have an image on the SD. To create one (512MB):
# dd if=/dev/zero of=ext2.img bs=1024 count=512000
Format the image as ext2: # mkfs.ext2 /media/card/images/loop0.imgCreate a directory to accommodate the mount:
# mkdir /media/loop0
to manually mount the image:
# mount -t ext2 -o loop /media/card/images/loop0.img /media/loop0
add it to fstab so it will be auto-mounted upon reboot, add the following line at the end of /etc/fstab:
/media/card/images/loop0.img /media/loop0 ext2 loop,rw 0
This can be verified by:
# mount /media/loop0
Exit OPIE:
# /etc/init.d/opie stop
Move /home/ and /opt/ directories to loop0:
# mkdir /media/loop0/home
# mv /home/root /media/loop0/home

# ln /media/loop0/home/root /home/root -s

# mv /opt /media/loop0/
# ln /media/loop0/opt /opt -s
Restart OPIE
# /etc/init.d/opie start

Configure USB networking:
I use this Windows XP driver for USB networking (I tried this only with OpenZaurus on Windows XP). Some times the driver crashes, I then reenable USB from the Zaurus side (see below)... sometimes I have to reboot windows...
Zaurus Side (usb0):
ip: 192.168.0.100
Subnet Mask: 255.255.255.0
Gateway: 192.168.0.1
DNS: 192.168.1.1
PC Side:
Make sure the IP 192.168.0.1 is free.
In network settings, advanced tab, enable internet sharing with the Zaurus interface.
settings:
ip: 192.168.0.1
Subnet Mask: 255.255.255.0
Gateway: 192.168.0.100
DNS: 192.168.1.1

EnableUSB:
Create the script enableUSB.sh:
#! /bin/sh
# Check if usb storage module is loaded, if it does remove it.
if ["`lsmod | grep g_file_storage`" != "" ]; then
echo g_file_storage is loaded
echo Unloading g_file_storage
rmmod g_file_storage
fi

# Check if usb networking module is loaded, if it does remove it.
if ["`lsmod | grep g_ether`" != "" ]; then
echo Stopping USB networking module...
echo Unloading g_file_storage
rmmod g_ether
fi

#Load USB networking module:
echo Starting USB networking module...
modprobe g_ether

#Enable the network interface.
echo Bringing up network interface:
ifup usb0
Enable networking
# /media/card/myScripts/enableUSB.sh
To automatically enable networking on reboot:
# ln -s /media/card/myScripts/enableUSB.sh /etc/rcS.d/S49local
For ssh to work a password must be set:
# passwd
Now ssh can connect to the Zaurus from the host computer.

Install to loop0:
In order for ipkg to be able to install packages to loop0 (using the -d loop0 switch) it must be mounted using the ipkg-link, at the end of /etc/ipkg.conf add:
dest loop0 /media/loop0/packages/


Timezone
First, update ipkg:
# ipkg update
Install timezones-asia:
# ipkg install -d loop0 timezones-asia
# ipkg-link add timezones-asia
For some reason /etc/profile does not search for ~/.profile to fix it I added before the export line:
if [ -e "$HOME/.profile" ]; then
. $HOME/.profile
fi
Set the local timezone in ~/.profile
export TZ="Asia/Jerusalem"
Update the clock:
# ntpdate nist1.datum.com

Install
mplayer
# ipkg install -d loop0 mplayer
# ipkg-link add liblzo1; ipkg-link add libmad0; ipkg-link add libmp3lame0; ipkg-link add libsdl-1.2-0; ipkg-link add mplayer; ipkg-link add mplayer-common
The mplayer from the feed is missing the font files (maybe the local fonts can be used...) to have OSD mplayer fonts should be copied to ~/.mplayer/fonts.
Key binding can be configured in input.conf. To see a list of available commands run:
# mplayer -input cmdlist
to see a list of keys:
# mplayer -input keylist
I'm using mpfsr.sh script to run mplayer:
#! /bin/sh

if [ "$1" = "" ]; then
echo "Please supply filename"
else
#disable screen saver and autosleep:
qcop QPE/System 'setScreenSaverMode(int)' 2
qcop QPE/System 'setScreenSaverIntervals(int,int,int)' 0 0 0

#change resolution to 240x320:
fbset -n -xres 240 -yres 320 -match;

#Invert rotation, for some reason with default rotation SDL runs upside down. and then start mplayer:
SDL_QT_INVERT_ROTATION=1 mplayer $@

#change resolution back to normal:
fbset -n -xres 640 -yres 480 -match;

#enable screensaver and autosleep:
qcop QPE/System 'setScreenSaverIntervals(int,int,int)' -1 -1 -1
qcop QPE/System 'setScreenSaverMode(int)' 100

#Update the screen otherwise the screen remains black.
qcop "QPE/System" "applyStyle()";
fi

Add MyScripts and MyApps tabs:
tabs are directories under /opt/QtPalmtop/apps, so to create new tabs:
# mkdir /opt/QtPalmtop/apps/myApps
# mkdir /opt/QtPalmtop/apps/myScripts

A .directory file is also needed to be created for both directories:
[Desktop Entry]
File=/opt/opie/apps/myApps/.directory
Icon=myAppsIcon
Type=application/octet-stream
Name=MyApps
Restart OPIE for the changes to take effect:
# /etc/init.d/opie stop
# /etc/init.d/opie start
Install BASH:
# ipkg install -d loop0 bash
# ipkg-link add bash
The default shell cannot be changed in /etc/passwd, but I can add to ~/.profile:
exec /bin/bash
which will do the trick this is a very bad solution.

To disable the history file, add to .bashrc:
unset HISTFILE

Install less:
less is much better than more...
# ipkg install -d loop0 less
# ipkg-link add less

Install opie-autorotateapplet
I don't like the autorotation feature, and I think it causes problems when closing the hinge, this applet can disable/enable the autorotation "feature"
# ipkg install -d loop0 opie-autorotateapplet
# ipkg-link add opie-autorotateapplet
Install opie-reader
# ipkg install -d loop0 opie-reader
# ipkg-link add opie-reader; ipkg-link add opie-reader-codec-aportis; ipkg-link add opie-reader-codec-arrierego; ipkg-link add opie-reader-codec-chm; ipkg-link add opie-reader-codec-isilo; ipkg-link add opie-reader-codec-plucker; ipkg-link add opie-reader-codec-ppms; ipkg-link add opie-reader-codec-reb; ipkg-link add opie-reader-codec-weasel; ipkg-link add opie-reader-filter-htmlfilter
Hebrew fonts
Install unicode which includes also hebrew fonts:
# ipkg install -d loop0 qte-font-unifont-160
# ipkg-link add qte-font-unifont-160;
ipkg-link add qpf-font-common

Install ZKBApplet
# ipkg install -d loop0 opie-zkbapplet
# ipkg-link add opie-zkbapplet
ZKBApplet requires a XML file with the key definitions. this file should be placed in /opt/QtPalmtop/share/zkb/.

Install opie-clipboardapplet:
# ipkg install -d loop0 opie-clipboardapplet
# ipkg-link add opie-clipboardapplet

Disable LCD Softkeys:
Mark out the entries for the LCD Softkeys in /etc/keymap-2.6.map (lines 121-131).
reboot for the changes to affect.


Install opie-networkapplet

# ipkg install -d loop0 opie-networkapplet
# ipkg-link add opie-networkapplet
Couldn't make this to work...

Install opie-memoryapplet
# ipkg install -d loop0 opie-memoryapplet
# ipkg-link add opie-memoryapplet

Install ScummVM-qpe:

Using the version from the old (OZ3.5.4) feed, all other versions seem to have a problem with the menu key (not working):
# ipkg install -d loop0 /media/card/scummvm-qpe_0.6.1b-r0_arm.ipk
# ipkg-link add libmpeg2; ipkg-link add libogg0; ipkg-link add libvorbisidec1; ipkg-link add scummvm-qpe
At the beginning the cursor is a bit off, to fix that, choose "Fix aspect ratio" under options (in the main screen).
A newer version is installed later


Install Knights
Knights is a front end for the Phalanx chess engine.
# ipkg install -d loop0 knights
# ipkg-link add knights; ipkg-link add phalanx

Tuesday, March 6, 2007

Continue with freeciv...

I stopped compiling last night, today when I tried to continue I got the following error:

install: cannot stat `/stuff/tmp/work/all-linux/ttf-dejavu-2.13-r0/dejavu-ttf-2.13/*.ttf': No such file or directory
when trying to install ttf-deavu-2.13-r0. The problem is probably a defective /stuff/sources/dejavu-ttf-2.13.tar.bz2. Removed that file (and also its md5 counterpart). And then:
# bitbake -crebuild ttf-dejavu
This caused bitbake to download the file again and to build it ok. Continue with freeciv:
# bitbake freeciv

Now it failed with gtk+:
***Can't link to Pango. Pango is required to compile
*** GTK+...
According to /stuff/tmp/work/armv5te-linux/gtk+-2.8.9-r7/gtk+-2.8.9/config.log cairopango-1.0 library is missing...


Monday, March 5, 2007

Statistics

I subscribed to Google Analytics to get some statistics about the blog.

Bug #1940

bitbake failed compiling libX11 with the following error, with makekeys causing floating point exception. Somebody just posted a fix in the OE Bugtracker.

So I'll try to continue...
To fix the bug I edit: /stuff/tmp/work/armv5te-linux/diet-x11-X11R7.1-1.0.1-r4/libX11-X11R7.1-1.0.1/src/util/makekeys.c
and change

KeySym val;
} info[KTNUM];

#define MIN_REHASH 10
#define MATCHES 10

char tab[KTNUM];
to

KeySym val;
} info[KTNUM];

#define MIN_REHASH 15
#define MATCHES 10

char tab[KTNUM];
I created a /stuff/setVars to setup the enviroment, with the two export command in it:
export PATH=/stuff/bitbake/bin:$PATH
export BBPATH=/stuff/build:/stuff/org.openembedded.dev

Now bitbake:
# cd /stuff/
# . setVars
# bitbake freeciv
This fixed the problem.

Saturday, March 3, 2007

Trying to compile freeciv for OZ

I want to compile FreeCiv for the Zaurus:

  • Set local configuration (/stuff/build/conf/local.conf), change/insert the following lines:
    • DL_DIR = "/stuff/sources"
    • BBFILES := "/stuff/org.openembedded.dev/packages/*/*.bb"
    • MACHINE = "c7x0"
    • DISTRO = "openzaurus-unstable"
    • ASSUME_PROVIDED += "qemu-native"
    • Remove the last line in the file.
  • Setup the enviroment:
# export PATH=/stuff/bitbake/bin:$PATH
# export BBPATH=/stuff/build:/stuff/org.openembedded.dev
  • Try to compile:
# bitbake freeciv
  • No luck today - bitbake failed.

Friday, March 2, 2007

Created YoGZLog

Wandered around google and stumbled upon this place...
Maybe I'll use it for my Zaurus log...