Android gingerbread in a pnd?


notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
Yeah, maybe. Only tested on old 256M unit and a DM3730 (don't have a rebirth one, this matters as different SGX blobs are needed for each 3 of them). This started as an "can it be done?" experiment, after success I polished it a little and made this pnd. I don't have plans to maintain it though, not really a fan of Android in general (although it's probably the best of mobile platforms out there as I'm even more not a fan of Apple products) so it's rather painful to work with for me. This is based on TI rowboat project and needed rather minimal modifications (see this diff).

The main motivation doing this was to run Android games on pandora, however I only managed to run a few simple games, others will not install, complain about missing multitouch or just plain won't work, and I have no idea how to debug them (Android looks very unfriendly in that regard to me). Ohwell.

Requirements:

  • SuperZaxxon beta5a or later firmware running 3.2+ kernel (not older/2.6 one)
  • at least 300MB of SD card space
Notes:

  • card corruption has been reported, beware!
  • do not remove the SD card that contains the .pnd file, doing so will crash everything and corrupt data.
  • Android only supports one removable SD card, and that is set up to be SD2 (right slot). So if you want to swap cards while Android is running, and want it to see card change, place the .pnd in a card on the left slot.
  • It should be possible to return to pandora's OS by running "Kill Android" from Android OS itself.
  • wifi should work, enable in settings
  • external wifi sticks won't work due to Android limitations.
Changes

  • r2: fixed some startup issues
  • r3: included OI File Manager, busybox and Android-Terminal-Emulator
  • r4: fixed sgx driver (work around it really), migrated to CyanogenMod, fixed wifi reload, added preliminary keymaps
  • r5: fixed sound lag, added missing CyanogenMod packages
  • r6: launcher script tweaks for faster load (works on SuperZaxxon Final or later)
http://notaz.gp2x.de/releases/pandora/gingerbread_r6.pnd

Before using the PND, be sure to read this:

http://boards.openpandora.org/index.php/topic/8871-how-to-install-android-on-your-pandora/

Note: in case you are updating from r3 or earlier, it's highly recommended to delete appdata.
(edit: clarified requirements)
 
Last edited by a moderator:
Wow, I wasn't expecting android anytime soon. Very nice work. Loading this up right away.
 
Hmh World of Goo is working at ~8fps.. there it gets ~20% of CPU time and ~70% is eaten by some "system_server".. What the hell is going on in that thing?
 
It really sucks not having a Pandora with notaz around! ;)


But seriously, is this similar to how they were able to get Android running on the n900 or was that something totally different?
 
Hi notaz, sounds like your upto your awesome tricks again and will no doubt be after that bounty soon :)


I'm running Beta5a kernel 3.2 from the NAND, freshly installed and its not working as of yet though.


I've only made a few alterations to the NAND instal to icon size, some keyboard shortcuts and adding trash and log out icons to the panel. Other than that, I reactivated a swap partition via fstab, which I thought maybe a culprit, so I tried both with and without this.


I put the gingerbread pnd on the SD1 desktop and gave it 300mb of space (from 550+mb available) and after SD light activity to make the space (which is now definitely allocated 300mb as far as the OS is concerned) the XFCE session, just seemed to reboot, as though I had logged out and back in again (Reloading the desktop).


Here's the tmp.pnd run out file from the first run.


http://www.mediafire...9pf4157ndmunw81

=======================================================================================<br>PND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : /media/BOOT/pandora/desktop/gingerbread_r1.pnd<br>PND_FSTYPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Squashfs<br>APPDATADIR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : /media/BOOT/pandora/appdata/android_gingerbread<br>APPDD_FSTYPE&nbsp;&nbsp;&nbsp; : vfat<br>PND_CPUSPEED&nbsp;&nbsp;&nbsp; : &lt;unset&gt;<br>EXENAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : pandora/run.sh<br>ARGUMENTS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : &lt;unset&gt;<br>=======================================================================================<br>[ START ]--- Mount the PND ----------<br>Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/android_gingerbread"<br>Mounting the Union FS : mount -t aufs -o exec,noplink,dirs=/media/BOOT/pandora/appdata/android_gingerbread=rw+nolwh":"/mnt/pnd/android_gingerbread=rr" none "/mnt/utmp/android_gingerbread"<br>[sUCCESS]--- Mount the PND ----------<br>[ START ]--- Starting the application (pandora/run.sh ) ----------<br>++ id -u<br>+ '[' 1000 '!=' 0 ]'<br>+ gksudo -m 'Android needs root privileges to run, please enter your password' ./pandora/run.sh<br>`pandora/default_rootfs.ext2' -&gt; `rootfs.ext2'<br>Filesystem label=<br>OS type: Linux<br>Block size=1024 (log=0)<br>Fragment size=1024 (log=0)<br>76912 inodes, 307200 blocks<br>0 blocks (0.00%) reserved for the super user<br>First data block=1<br>Maximum filesystem blocks=67633152<br>38 block groups<br>8192 blocks per group, 8192 fragments per group<br>2024 inodes per group<br>Superblock backups stored on blocks:<br>&nbsp;&nbsp; &nbsp;8193, 24577, 40961, 57345, 73729, 204801, 221185<br><br>Writing inode tables:&nbsp; 0/38 1/38 2/38 3/38 4/38 5/38 6/38 7/38 8/38 9/3810/3811/3812/3813/3814/3815/3816/3817/3818/3819/3820/3821/3822/3823/3824/3825/3826/3827/3828/3829/3830/3831/3832/3833/3834/3835/3836/3837/38done&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>Writing superblocks and filesystem accounting information: done<br><br>This filesystem will be automatically checked every 34 mounts or<br>180 days, whichever comes first.&nbsp; Use tune2fs -c or -i to override.<br>data.ext4: clean, 11/76912 files, 11777/307200 blocks<br>rootfs.ext2: clean, 27/512 files, 385/1024 blocks<br>have to change SGX kernel driver<br>Stopping PVR<br>Stopping Network connection manager daemon: NetworkManager.<br>Starting WL1251 MAC80211 Wireless LAN driver: wl1251.<br>Starting PVR<br>Starting Network connection manager daemon: NetworkManager.


I then ran it a second time to see if it needed that, and after reboots.


http://www.mediafire...q77gkd8f3b5xx45


Then I replaced the default Beta5a fstab file, to deactivate my SWAP Partition and tried again.


http://www.mediafire...4frx4xncbc80uq4


I also tried from Beta5a on SD1 (it was the older 2.6 kernel though, which obviously failed)


http://www.mediafire...j2bkvxdztp7thht


Thought I'd post some testing feedback though.


Any ideas?


btw Many thanks to yourself and all others involved with the latest Hotfixes, as it kicks much butt :)
 
do you have to partition your sd card for this to work im on super zaxxon 1.5 is that the right build as i cant get this to execute think us noobs need an install guide.Just want to try mame4droid reloaded.
 
Last edited by a moderator:
I dont think it requires a partitioned SD card. The idea is it creates an appdata folder of whatever mb size you offer it on the first run called 'android_gingerbread' and then runs an android image from that file on your SD card.


You need SuperZaxxon 1.5 beta5a (in the top right corner) and to boot into the default 3.2 kernel (which will also be displayed on the boot screen).


I've tried deleting the appdata folder several times, chckdisc in windows and different sizes of mb allowed but I always get this displayed :


'directorycan't read '/lib/modules/3.2.17/kernel/drivers/gpu/pvr/bufferclass ti:ko ' : no such file or directory'


as the last line of it trying to boot android, before the XFCE desktop reboots.


I think there's an issue with the pnd at the moment. But then what do I know? : lol
 
I was able to boot into android ok... though am finding it kind of useless so far...


wifi works, but I accidently turned it off, and then I had to kill android to get it working again.


I really don't like the built in browser.


I think I need to find a way to install a file manager and google play before I'll be able to do anything useful with it.


- Neelix
 
Ouch! I just killed the contents of my SD card. :(


Don't put an SD card with any data you want to keep in the right socket while running gingerbread.


- Neelix
 
512 MB RAM Pandora with SuperZaxxon 1.5a => no luck


pnd_run out isn't very talkative

....


+ gksudo ....


data.ext4: clean ....


rootfs.ext2: clean ....


have to change SGX kernel driver


Stopping PVR


Stopping Network connection manager deamon ...


Starting WL1251 ....


Starting PVR


Starting Network connec....

Edit: Nevermind


Executed it a third time, now it runs..kind of.. really sluggish
 
Last edited by a moderator:
'directorycan't read '/lib/modules/3.2.17/kernel/drivers/gpu/pvr/bufferclass ti:ko ' : no such file or directory'
this one is not a problem

I think there's an issue with the pnd at the moment. But then what do I know? : lol
Rebirth pandora I guess? Starting from xfce or minimenu?

Ouch! I just killed the contents of my SD card. :(


Don't put an SD card with any data you want to keep in the right socket while running gingerbread.
Android is scanning the cards and writing weird stuff to them like crazy for no apparent reason (especialy if you had MAME previews on it), so I'm not surprised.

Executed it a third time, now it runs..kind of.. really sluggish
That's "normal".
 
Last edited by a moderator:
Android scans the woile card for pictures to add to its gallery and audio to add to the audiolibrary *ugh* don't know if you can tell it not to do that...
 
Last edited by a moderator:
Just tried it (on the DM3730 Pandora).


It runs surprisingly well for me, not as sluggish as on my N900.


I haven't tried any games yet, as I never used Android before, so I first need to find out where to get some :)


Some things I encountered:


* When closing and opening the lid, the screen rotates... this can't be reversed though (unless you install an app where you can manually do that I guess ;) )


* Keyboard layout is not correctly set yet


Apart from that, it really looks promising :)


Thanks a lot :D
 
'directorycan't read '/lib/modules/3.2.17/kernel/drivers/gpu/pvr/bufferclass ti:ko ' : no such file or directory'

this one is not a problem

Rebirth pandora I guess? Starting from xfce or minimenu?

I have the problem with old pandora too ....


... but i modified the firmware with my own openbox environment


Btw there ist a Problem with GUI Switch or I did not modify enough


With 2.6 Switch between XFCE, MMenu and Openbox works


With 3.2 not


So it is a question how you answered the bootup question after installing clean firmware?
 
Last edited by a moderator:
'directorycan't read '/lib/modules/3.2.17/kernel/drivers/gpu/pvr/bufferclass ti:ko ' : no such file or directory'
this one is not a problem

I think there's an issue with the pnd at the moment. But then what do I know? : lol
Rebirth pandora I guess? Starting from xfce or minimenu?


I've got an original 256mb Pandora from the earliest 100. Starting android from xfce with the pnd in pandora/desktop.
 
Back
Top