OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio


Welcome Guest ( Log In | Register )

Personal Photo
Personal Statement
dinorex doesn't have a personal statement currently.
Personal Info
Age Unknown
Gender Not Set
Birthday Unknown
scold & bit my son... XD
Joined: 20-February 06
Profile Views: 2,056*
Last Seen: 28th July 2015 - 10:02 PM
Local Time: Oct 23 2016, 05:50 AM
88 posts (0 per day)
Contact Information
AIM No Information
Yahoo No Information
ICQ No Information
MSN pllau@hotmail.com
Contact Private
* Profile views updated each hour



My Content
31 Mar 2007
Owing to my one of the recent project requirements, I need to investigate a system called Zope (and its ZODB which is a OO database). It is easily installed in XP environment, but surprisingly, I found that the zaurus support to this is quite less..... Therefore, that triggers me to try to install this Zope inside my lovely pdaxrom....

All in all, the experiment is in vain (how come my recent trials are all in vain?.... ph34r.gif ), but I would like to share my experiences during the trials, and hope (maybe) any interested parties to play around this stuff on their spare time.

1/ Since the python in pdaxrom is 2.4.1, which is quite out-dated in view of Zope current environment, we need to grab the previous versions of zope source code to compile - the one i chose is zope-2.9.1.tar.gz. During the compilation process, I stopped at a step which reports the python header is not fully satisfied, and using some others experiments certifying the header is really not fully satisfied. Therefore I gave up that direct compilation approach.

2/ searching thru google i found that there is a version called something related to zope-2.5.1-python_2.1 to zaurus environment. that means previously zaurus should support this zope server; and surprisingly, debian also support zope server as well! and found a package called zope_2.5.1-1woody1_arm.deb for arm processor debian....

3/ based on these observations, I tried to convert that deb to ipk. This is easy to be done by a simple script called deb2ipk.sh. When I really tried this converted ipk installation (my installation destination path is in /mnt/ide, which is not in the NAND area), I have encountered the following missing python scripts (and create a directory called /usr/lib/python2.1 linked to /usr/lib/python2.4): -

a. glob.py, fnmatch.py, shutil.py, compileall.py - all can be easily obtained the python script code from the internet. However, for compileall.py, add a '-q' option do exactly the same as '-f' option (to fool the compiler seems the debian python compileall.py has another option -q which is for quiet mode, but i don't know how to make it, therefore I used -f as the substitute. (line 103 added for description, line 112 added for force endorsement)

b. fcntl.py. This is obsolete (desperated in python term) in python 2.4.1 but still exists in python 2.1. on searching the web, you should be able to find the declaring as 'desperated' script, and apply it .... however, since there is a DOS version of FCNTL.py, you need to find that one for bullet-proofing. I adopt the one generated by h2py from /usr/include/sys/fcntl.h and put it in /usr/lib/python2.4 directory (together with fcntl.py).

c. when you do that, you need to compile those .py files to .pyc, search google on related topic for python compilation to .pyc [should be something like
import py_compile

d. since the installation trials may involve the missing directory in /usr/lib/zope, you need to symbolic link the /usr/lib/zope to /mnt/ide/usr/lib/zope between installation failures so that you can pass the installation trials.

after you have done the following remedial actions, you should be able to install the converted ipk successfully.

4/ starting the zope server is simple : zope-z2 -w80 (port 80 for web, default is 9673, as seen in the help page when you carries -h parameter), then you should see your pdaxrom CPU time is nearly 100% ! And some warning messages shown up repeatedly in the terminal screen..... Therefore, I tried using telnet 80 port as a trial, can still cannot catch the port authentication.... therefore, I certified although the server is up and running in pdaxrom, the server processes cannot be utilized in the appropriate manner.... ph34r.gif

Hope these sharings can ignites some zope users investigations to Zaurus, and can be able to make the zope server be used in Zaurus. I really don't mind if anyone can share me a full set of python 2.4.1 headers in pdaxrom so that I can compile the zope server directly on board, in order to alleviate such a tedious repeated trials.... ph34r.gif
29 Mar 2007
TROLLTECH has released the roms Qtopia 2.1.2 for C700, C860, C3000

source link: http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6

Category: ROM flash images 
Zaurus c3000 flash rom  Version:  2006/11/6
:  This is the ROM flash image for the Sharp Zaurus c3000, containing Qtopia 2.1.2 
230    27.05 MB    Zaurus c3000        Home Page 
Rating: 5.50 (2 votes) Rate this File | Report Broken File | Tell a Friend

Category: ROM flash images 
Zaurus c700 flash rom  Version:  2006/10/18
:  This is the ROM flash image for the Sharp Zaurus c700, containing Qtopia 2.1.2 
45    19.91 MB    Zaurus c700    GPL    Home Page 
Rate this File | Report Broken File | Tell a Friend

Category: ROM flash images 
Zaurus c860 flash rom  Version:  2006/11/6
:  This is the ROM flash image for the Sharp Zaurus c860, containing Qtopia 2.2.1 
150    16.53 MB    Zaurus C860        Home Page 

I don't know whether there are C3000 users tried those roms before on direct flashing.... but any challengers please kindly register the trolltech site and play around this rom.... (it needs registration in order to get this page in)....

But I am a SL-C3100 user, therefore I downloaded the ROM for C3000 (actually I have dl-ed all roms, but found this one is working the best), and then modify the updater.sh

the updater.sh is encrypted, we need to use encsh.c (gcc compile) to decrypt it....

after a long while to modify and test, I am still in vain; but I have confined the problem to the following 2 program segments (since when I redirect the output to stdout, 'illegal format' will be coming out.... ): -

               #echo 'found header'
               /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
               /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1

according to the scripting environment, these 2 lines are equivalent to the command

               /sbin/verchg -v /tmp/vtmp /tmp/tmphead 6 0x500000 > /dev/null 2>&1
               /sbin/verchg -m /tmp/mtmp /tmp/tmphead 6 0x500000 > /dev/null 2>&1

I try to list out the modified updater.sh (for C3100 customization) , hope there are followers to help me to sort this out.....


# Noodles' simpler update script. SL-C3000 only for the moment.



RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
if [ "$RO_MTD_LINE" = "" ]; then
   RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`

## wild testing from dinorex

RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`

RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
if [ "$RW_MTD_LINE" = "" ]; then
   RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`

## wild testing from dinorex

RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`




       rm -f $VTMPNAME > /dev/null 2>&1
       rm -f $MTMPNAME > /dev/null 2>&1
       rm $CTRLPATH/* > /dev/null 2>&1
       rm $DATAPATH/* > /dev/null 2>&1
       exit $1
trap 'Cleanup 1' 1 15
trap '' 2 3

   echo $DEVS
   grep "^$1" /var/lib/pcmcia/stab | get_dev_pcmcia
sleep 1
IDE1=`get_dev_pcmcia_slot 1`
if [ "$IDE1" = "" ]; then
   echo "Error!! There is no HDD. Now retrying..."
   while [ "$IDE1" = "" ]; do
       IDE1=`get_dev_pcmcia_slot 1`
   echo "Found HDD!!"

if [ "$LINUXFMT" = "ext3" ]; then

### Check model ###
MODEL=`cat /proc/deviceinfo/product`
if [ "$MODEL" != "SL-C3100" ]
       echo 'MODEL:'$MODEL
       echo 'ERROR:Invalid model!'
       echo 'Please reset'
       while true

mkdir -p $TMPPATH > /dev/null 2>&1


# First do the kernel.
for TARGETFILE in zImage.bin zimage.bin ZIMAGE.BIN
       if [ -e $TARGETFILE -a $WFLG_KERNEL = 0 ]
               # Get the size of the kernel.
               DATASIZE=`wc -c $TARGETFILE`
               DATASIZE=`echo $DATASIZE | cut -d' ' -f1`

               echo 'Updating kernel.'
               echo $TARGETFILE':'$DATASIZE' bytes'
               /sbin/nandlogical $LOGOCAL_MTD WRITE 0xe0000 $DATASIZE \
                       $TARGETFILE > /dev/null 2>&1



# Now do the initrd.
for TARGETFILE in initrd.bin INITRD.BIN
       if [ -e $TARGETFILE -a $WFLG_INITRD = 0 ]
               rm -f $TMPPATH/*.bin > /dev/null 2>&1
               DATASIZE=`wc -c $TARGETFILE`
               DATASIZE=`echo $DATASIZE | cut -d' ' -f1`

               echo 'RO file system'
               /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
               echo -n 'Flash erasing...'
               /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
               echo 'done'

               echo ''
               echo '0%                      100%'
               PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
               PROGSTEP=`expr 28 / $PROGSTEP`
               if [ $PROGSTEP = 0 ]

               #00 means header information
               VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
               MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
               /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
               /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1

               #echo 'found header'
               /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
               /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1

               while [ $DATAPOS -lt $DATASIZE ]
                       #data create
                       bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
                       TMPSIZE=`wc -c $TMPDATA`
                       TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
                       DATAPOS=`expr $DATAPOS + $TMPSIZE`

                       #handle data file
                       #echo 'ADDR='$ADDR
                       #echo 'SIZE='$TMPSIZE
                       next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD  2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
                       if [ "$next_addr" = "" ]; then
                               echo "ERROR:flash write"
                               rm $TMPDATA > /dev/null 2>&1

                       rm $TMPDATA > /dev/null 2>&1

                       while [ $SPNUM -lt $PROGSTEP ]
                               echo -n '.'
                               SPNUM=`expr $SPNUM + 1`

               echo ''

               rm -f $TMPPATH/*.bin > /dev/null 2>&1

               if [ $RESULT = 0 ]
                       /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
                       /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1

                       rm -f $VTMPNAME > /dev/null 2>&1
                       rm -f $MTMPNAME > /dev/null 2>&1
                       echo 'Success!'
                       echo 'Error!'
                       exit $RESULT

## HDD image
for TARGETFILE in hdimage1.tgz HDIMAGE1.TGZ
       if [ -e $TARGETFILE ]; then
               if [ $WFLG_HDD != 0 ]
               echo ''
               echo 'HDD RO file system'
               if [ ! -f /hdd1/NotAvailable ]; then
                   umount /hdd1
               echo 'Now formatting...'
#                mke2fs $MKE2FSOPT /dev/$(IDE1)3 2> /dev/null > /dev/null
               mke2fs $MKE2FSOPT /dev/hda3 2> /dev/null > /dev/null
               e2fsck -p /dev/${IDE1}3 > /dev/null
               if [ "$?" != "0" ]; then
                   echo "Error!"
                   exit "$?"

               mount -t $LINUXFMT -o noatime /dev/${IDE1}3 /hdd1
               if [ "$?" != "0" ]; then
                   echo "Error!"
                   exit "$?"
               cd /hdd1
               echo 'Now extracting...'
               gzip -dc $DATAPATH/$TARGETFILE | tar xf -
               if [ "$?" != "0" ]; then
                   echo "Error!"
                   exit "$?"

               echo 'Success!'
               # remount as RO
               cd /
               umount /hdd1
               mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}3 /hdd1

exit 0

Moreover, I have also put forward those suspicious code segment (having problems) with command as follows:-

               /sbin/bcut -s 16 -o /tmp/tmphead /mnt/card/initrd.bin

               /sbin/nandlogical /dev/mtd1 READ 0x48000 0x4000 /tmp/vtmp > /dev/null 2>&1
               /sbin/nandlogical /dev/mtd1 READ 0x70000 0x4000 /tmp/mtmp > /dev/null 2>&1

this 'updater.sh' can flash kernel, initrd.bin and untar hdImage1.tgz to /dev/hda3, but the kernel cannot recognise initrd.bin as the ramdisk.... if we can spot out what to do inside the 'verchg' I think the problem can be solved ....

if we can do that out, many peoples in SL-C3100 / 3200 can be have great advantage as well.... ph34r.gif
5 Mar 2007
I don't know whether this topic should be posted here or not: since it is related to pdaXrom, I just post this topic here....

There are so many programming framework can be used to develop in pdaXrom, for example, gtk; but I am trying to introduce Qt here because it is rapid to develop many components out in minutes using the GUI tools like QtDesigner, which is very similar to the Visual Studio IDE on developing apps. If you have tasted in the VS IDE in your daily life, you should be happy to taste with the Designer in Qt as well.

in pdaXrom feeds, there are already a number of x86 images available, but only beta1 is having the vmware image which can be read-write; whereas from beta3 onwards, all the x86 images are CD iso images that are read-only. Therefore, if you really want to do things without any restrictions, you can work from the vmware image straight away. (The vmware image is broken in mail.pdaxrom.org, you can get the tarball of it from http://distro.ibiblio.org/pub/linux/distri...vmware/?C=D;O=A , which is 231M)

However, I also recommend to use an alternative method: open the later versions of iso images via Virtual PC (from M$ which is also a freeware) and attach the ISO file as a virtual CD-ROM to trigger this OS, and creating a virtual harddisk using inside Virtual PC... Although this method is a little bit complicated, the effect is also acceptable as you can stick to use your virtual harddisk as your working environment.

Since the Qt 3.3.5 inside the vmware image (and so for the ISO images) cannot be used to compile (no moc, designer, linguist and so on), we need to compile them again so that the Qt can be used to compile moc meta objects and design .... Orz

for the Qt 3.3.8 , which is released very recently at 20 Feb 2007, can be obtained from http://www.trolltech.com download.

how to put the qt-x11-opensource-3.3.8 tarball into the vmware image? the most convenient way is to use CD burner. Just burn the tarball inside a CD-RW and adjust the VMWare virtual machine file to hook your CD-ROM, and start the virtual machine (vm).

inside the vm, you can start a terminal (like aterm / rxvt) and check /dev/cdroms/cdrom0 is available (it should be available) , and mount it to /mnt/cdrom: -
mount /dev/cdroms/cdrom0 /mnt/cdrom

ls -l /mnt/cdrom, you should see the qt-3.3.8 tarball.

cd to your root dir (/home/root), issue the following command for direct extraction of your tarball
tar zvxf /mnt/cdrom/qt-x11-opensource-3.3.8.tar.gz

resultant dir will be /home/root/qt-x11-opensource-3.3.8

cd to the resultant dir, type


wait for half to one hour, your qt 3.3.8 should be built. laugh.gif

cp /ho=me/root/qt-x11-opensource-3.3.8/bin/* /usr/local/qt/bin

(which is the vmware's qt location), your Qt should be available to use ph34r.gif

if the Qt is still not available, maybe $QTDIR , $QMAKESPEC or $PATH is not included the dir. please read relevant information in Google which can fix them. smile.gif

All i can remind at this moment is the settings inside /usr/local/qt/mkspecs/default/qmake.conf is not correct, the C++ and CXX environmental variables should be gcc / g++ instead of i686-linux-gcc / i686-linux-g++ (since the settings needs to be tailor made a lot, vmware image is recommended to adopt), and -spec flag should be adopt if errors coming out... unsure.gif

Hope this can help Qt in pdaXrom development a lot conveninent in PCX86 machines .... cool.gif

some dirty and quick Qt development of me & linux vmware screencaptures

VMWare output

Money to words converter

Romanian numerals to number converter
2 Nov 2006
really good to see that Ruby on Rails can be done under pdaXrom env't... ph34r.gif

the topic was initiated by another zaurus user, and he is succeeded in doing so... then he told me how to apply this technique and so i deliver the screen captures in my machine..... laugh.gif

The solver is called 'boris' (he should be a member here... well, i don't know his id here... )

original thread outside oesf (but in total chinese... ) blink.gif :-

little excerpts from there...

Boris writes: -

download ruby 's  ipk: -


download RubyGems and expands so in zaurus: -

ruby setup.rb

after installing Gem, install Rails: gem install rails

install Mongrel: Mongrel is a web application server written by ruby
ipkg install make gcc gcc-headers
gem install mongrel

finally MySQL
feed: http://www.pdaxrom.org/contrib/desertrat/
ipkg update
ipkg install mysql-server
ipkg install mysql-client mysql-tools (depends on your interest)

default install location :/usr/local/mysql
first time run of mysql, run that first: mysql_install_db

dinorex writes: -

if you want to use 'mysql' account instead of root to run mysql,

refer http://www.linuxquestions.org/questions/sh...ad.php?t=441366

user ID =  mysql in both  /etc/passwd and /etc/group 

then reset the /usr/local/var permission & ownership as mysql ....

after that, the /etc/rc.d/init.d/apachectl start then can runs..... @@

for testing the sample database

in console prompt:

rails sample

under sample directory (in this case: /usr/local/sample)

mongrel_rails start -p 3006 -d

screen captures: -

in IE7 browsers: -

pdaxrom side: -

localhost query application's environment results: -

since the processing speed in this env't is quite slow...

Boris (the originator) wants to try the lighttpd (which is a lightweight server to apache), and sqlite but not yet started...

interested members please investigate the feasibilities on making this env't to be less resources demanding to make it run faster..... ph34r.gif

AGAIN, let's honour this topic to the boris and moming: to kick off and deploy the rail sample env't inside the server....
24 Jul 2006
recently i have made a native compilation (using zgcc-3.4.6.img) of Qt-4.1.4.tar.gz from Trolltech's opensource (qt-x11-opensource-src-4.1.4.tar.gz) and packed in a squashfs file. but i have no space on sharing the feed with you guys. (more than 110M ... OMG!)

moreover, on trying the demo, i have also found the following bug in QtOpenGL...

this environment can compile output binaries using -LQtOpenGL, but they cannot show the OpenGL stuff properly...

in x86 demo (e.g. Qt-4.1.2 demo): -

in pdaXrom env't (1.1.4 beta 4 kernel 2.6):-

do any friends have come across with the similar phenomena before? i am really curious to that....

moreover, I also found that i can't compile any Qt3 source code using default qmake .pro template.... are there any methods calling the Qt3support lib by default? or manually add the -LQt3Support extension?...

Thanks in advance... cool.gif
Last Visitors

5 Mar 2010 - 9:52

2 Sep 2008 - 5:30

18 Apr 2008 - 1:29

Other users have left no comments for dinorex.

There are no friends to display.
RSS Lo-Fi Version Time is now: 22nd October 2016 - 01:50 PM