I'm trying to wrap some GP2X games into a PND with Ginge


Blue Protoman

Well-Known Member
Joined
Mar 6, 2010
Messages
4,117
So I took the GPFCE-GP2X PND, extracted its contents, and removed all the GPFCE bits (I made sure to do that carefully by comparing lists of files). Fine. Thanks to Foxblock's PNDTools (which I'm trying to use), I can make a PND quite easily on my Windows laptop. Problem is, I can't! I added in the files for another game (zTunnel). I filled out the PXML correctly. Fine. And the PND shows up in the taskbar's menu correctly (name, category, icon, etc.). Also good. But the game doesn't load; the screen flashes black for a split second, them I'm dumped to the desktop.


Here's the .out file.


This is ginge.sh (which launches the game).


And this is ginge_dyn.sh. May also be a culprit.


Can anyone help me with this? I really wanna start re-releasing some of the GP2X's greats for Pandora without having to go through Ginge each time. Of course, I promise not to upload anything not tagged with the GPL to the Repo. ;)
 
Code:
/mnt/utmp/ztunnel/lib/ld-linux.so.2: line 1: ld-2.3.6.so: not found

That's pretty obvious, isn't it? ld-2.3.6.so can be found in a GP2X.
 
Ginge comes bundled with a few libraries to support gp2x stuff, however, they are not always needed.


So when you used GP2X-GPFCE, that library was probably not needed and I removed it.


Try using the original Ginge package, the library should be in there.
 
Don't forget to check if the license allows wrapping the games into a PND. In case of doubt it is best to check with the author(s).
 
Only an issue if I release it publicly. If I decide to keep it to myself, then it's fair game.
 
I copied the libraries from the Ginge PND into mine. No luck! Below is the newest .out file.

=======================================================================================


PND : /media/PANDORA2/pandora/menu/Games//zTunnel.pnd


PND_FSTYPE : Squashfs


APPDATADIR : /media/PANDORA2/pandora/appdata/ztunnel


APPDD_FSTYPE : vfat


PND_CPUSPEED : <unset>


EXENAME : ginge.sh


ARGUMENTS : <unset>


=======================================================================================


[ START ]--- Mount the PND ----------


WARNING Union already mounted, using it


+++++++


Loopback devices :


/dev/loop0: [b309]:8539 (/media/PANDORA2/pandora/menu/Games/zTunnel.pnd)


Are mounted on :


/dev/loop0 on /mnt/utmp/ztunnel type squashfs (ro)


For these Union :


none on /mnt/utmp/ztunnel type aufs (rw,si=662a3f77,noplink)


[sUCCESS]--- Mount the PND ----------


[ START ]--- Starting the application (ginge.sh ) ----------


---


#!/bin/sh


op_runfbapp /mnt/utmp/ztunnel/ginge_dyn.sh "/mnt/utmp/ztunnel/" "./ztunnel.gpe"


cd /mnt/utmp/ztunnel/


exec /mnt/utmp/ztunnel/gp2xmenu


---


op_runfbapp: open /dev/tty: No such device or address


/mnt/utmp/ztunnel/lib/ld-linux.so.2: line 1: ld-2.3.6.so: not found


/tmp/ginge_conv.sh: exec: line 4: /mnt/utmp/ztunnel/gp2xmenu: not found


pidof: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


[sUCCESS]--- Starting the application (ginge.sh ) ----------


[ START ]--- uMount the PND ----------


id: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


/usr/pandora/scripts/pnd_run.sh: line 482: [: -ne: unary operator expected


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


rmdir: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


rmdir: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


losetup: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


basename: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


tail: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


grep: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


awk: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libdl.so.2: file too short


/sbin/losetup: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


losetup: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


cut: error while loading shared libraries: /mnt/utmp/ztunnel/lib/libc.so.6: file too short


cleanup done


[sUCCESS]--- uMount the PND ----------


=======================================================================================


Return code is : 127
 
Last edited by a moderator:
I'm am going to guess that libc.so.6 (and possibly others) is a symlink which points to nothing (or something very wrong) following your copying. Check the files, make sure the links are correct and that the correct library files are complete.
 
Hot damn! It must be the original game; I just tried Cave Story and it worked! Too bad I can't redistribute it publicly. ;)


I'll wrap up more games. Of course, I'll only re-release the ones that let me.
 
I'm trying to wrap up Sqdef. No luck! It runs in Ginge under regular circumstances, but it doesn't seem to like PNDs. This is its .gpe;



Code:
#!/bin/sh


# Why are you reading this? Go play the game! :-)


./Sqdef

sync


cd /usr/gp2x

exec ./gp2xmenu


I tried removing the last two lines, changing the exec line to Sqdef, and still nothing. Any tips?
 
Last edited by a moderator:
I'm trying to wrap up Sqdef. No luck! It runs in Ginge under regular circumstances, but it doesn't seem to like PNDs. This is its .gpe;



Code:
#!/bin/sh

# Why are you reading this? Go play the game! :-)

./Sqdef
sync

cd /usr/gp2x
exec ./gp2xmenu


I tried removing the last two lines, changing the exec line to Sqdef, and still nothing. Any tips?


What's the script that launches the .gpe? Try running Sqdef from the ginge script directly, not the .gpe

[/CODE]
 
Last edited by a moderator:
Didn't know I could do that. I'll try it.


Also, this is the script from when I tried to wrap another game (just imagine that the GPE's name is Sqdef.gpe, and it's all the same)


http://pastebin.com/UNXWiw0Z


EDIT: Still no luck. Here's the .out;

Code:
=======================================================================================

PND             : /media/PANDORA1/pandora/menu/dgw/

PND_FSTYPE      : directory

APPDATADIR      : /media/PANDORA1/pandora/appdata/sqdef

APPDD_FSTYPE    : vfat

PND_CPUSPEED    : 500

EXENAME         : ginge.sh

ARGUMENTS       : <unset>

=======================================================================================

[ START ]--- Mount the PND ----------

Mounting : mount --bind -o ro "/media/PANDORA1/pandora/menu/dgw/" "/mnt/utmp/sqdef"

mount: warning: /mnt/utmp/sqdef seems to be mounted read-write.

rmdir: failed to remove `/mnt/pnd/sqdef': Not a directory

Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/PANDORA1/pandora/appdata/sqdef=rw+nolwh":"/mnt/pnd/sqdef=rr" none "/mnt/utmp/sqdef"

[SUCCESS]--- Mount the PND ----------

[ START ]--- Set CPU speed ----------

[SUCCESS]--- Set CPU speed ----------

[ START ]--- Starting the application (ginge.sh ) ----------

---

#!/bin/sh

op_runfbapp /mnt/utmp/sqdef/ginge_dyn.sh "/mnt/utmp/sqdef/" "./Sqdef"

cd /mnt/utmp/sqdef/

exec /mnt/utmp/sqdef/gp2xmenu

---

op_runfbapp: open /dev/tty: No such device or address

/mnt/utmp/sqdef/lib/ld-linux.so.2: line 1: ld-2.3.6.so: not found

/tmp/ginge_conv.sh: exec: line 4: /mnt/utmp/sqdef/gp2xmenu: not found

pidof: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

[SUCCESS]--- Starting the application (ginge.sh ) ----------

[ START ]--- uMount the PND ----------

id: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

/usr/pandora/scripts/pnd_run.sh: line 482: [: -ne: unary operator expected

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

rmdir: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

rmdir: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

losetup: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

cut: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

cleanup done

[SUCCESS]--- uMount the PND ----------

=======================================================================================

Return code is : 127
 
Last edited by a moderator:
I have all the libs in, direct from the Ginge PND itself. I've managed to get two other GP2X games working through Ginge. I bet the problem's the launcher for the game itself.
 
Are you sure both ld-linux.so.2 and ld-2.3.6.so are there and good? Paste here their sizes and the launch script you use.
 
Here's the .gpe;

Code:
#!/bin/sh


# Why are you reading this? Go play the game! :-)


./Sqdef

sync


cd /usr/gp2x

exec ./gp2xmenu


I've tried removing the last few lines, replacing them with "Sqdef". Nothing.



This is the ginge.sh; I've tried launching both the .gpe and the binary itself. Nothing.


Code:
#!/bin/sh


export FBDEV=/dev/fb1

ofbset -fb $FBDEV -pos 80 0 -size 640 480 -mem 614400 -en 1

fbset -fb $FBDEV -g 320 240 320 480 16


# make it runnable from ssh

if [ -z "$DISPLAY" ]; then

export DISPLAY=:0

fi


./ginge_prep ./Sqdef


ofbset -fb $FBDEV -pos 0 0 -size 0 0 -mem 0 -en 0


ld-linux.so.2 is 11 bytes.


ld-2.3.6.so is 95.6KB (97,964 bytes).
 
ginge_prep is intended to be ran on .gpe, you are running it on ./Sqdef (not .gpe).


If ld-linux.so.2 is only 11 bytes, it could be some broken symlink that Windows messed up (assuming you're under Windows). Try using a copy of ld-2.3.6.so as ld-linux.so.2, those files are supposed to be the same (ld-linux.so.2 was a symlink to save space).
 
I've tried linking it to the .gpe, too. Nothing.


Let's try that file.


EDIT: Tried using the other plugin in ginge_dyn.sh. Nope. Here's the .out;

Code:
=======================================================================================

PND             : /media/PANDORA1/pandora/menu/dgw

PND_FSTYPE      : directory

APPDATADIR      : /media/PANDORA1/pandora/appdata/sqdef

APPDD_FSTYPE    : vfat

PND_CPUSPEED    : 500

EXENAME         : ginge.sh

ARGUMENTS       : <unset>

=======================================================================================

[ START ]--- Mount the PND ----------

Mounting : mount --bind -o ro "/media/PANDORA1/pandora/menu/dgw" "/mnt/utmp/sqdef"

mount: warning: /mnt/utmp/sqdef seems to be mounted read-write.

Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/PANDORA1/pandora/appdata/sqdef=rw+nolwh":"/mnt/pnd/sqdef=rr" none "/mnt/utmp/sqdef"

[SUCCESS]--- Mount the PND ----------

[ START ]--- Set CPU speed ----------

[SUCCESS]--- Set CPU speed ----------

[ START ]--- Starting the application (ginge.sh ) ----------

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

---

#!/bin/sh


# Why are you reading this? Go play the game! :-)


op_runfbapp /mnt/utmp/sqdef/ginge_dyn.sh "/mnt/utmp/sqdef/" ./Sqdef

sync


cd /mnt/utmp/sqdef/

exec /mnt/utmp/sqdef/gp2xmenu

---

op_runfbapp: open /dev/tty: No such device or address

./Sqdef: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

/tmp/ginge_conv.sh: exec: line 9: /mnt/utmp/sqdef/gp2xmenu: not found

pidof: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

[SUCCESS]--- Starting the application (ginge.sh ) ----------

[ START ]--- uMount the PND ----------

id: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

/usr/pandora/scripts/pnd_run.sh: line 486: [: -ne: unary operator expected

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

rmdir: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

grep: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

rmdir: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

rm: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

losetup: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

cut: error while loading shared libraries: /mnt/utmp/sqdef/lib/libc.so.6: file too short

cleanup done

[SUCCESS]--- uMount the PND ----------

=======================================================================================

Return code is : 127
 
Last edited by a moderator:
Back
Top