<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stuckie</id>
	<title>Pandora Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://pandorawiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stuckie"/>
	<link rel="alternate" type="text/html" href="https://pandorawiki.org/Special:Contributions/Stuckie"/>
	<updated>2026-05-03T02:09:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0-alpha</generator>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=9629</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=9629"/>
		<updated>2012-02-02T12:40:56Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Added Evaluation Chapters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* [[GLESGAE:The Transform Stack]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Transformations]]&lt;br /&gt;
* [[GLESGAE:Shader Based Transformations]]&lt;br /&gt;
* [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
* [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* [[GLESGAE:Managing Resources Overview]]&lt;br /&gt;
* [[GLESGAE:The Resource Manager]]&lt;br /&gt;
* [[GLESGAE:State Management Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing The Game States]]&lt;br /&gt;
Part Four - The First Evaluation&lt;br /&gt;
* [[GLESGAE:First Evaluation Overview]]&lt;br /&gt;
* [[GLESGAE:First Evaluation Graphics]]&lt;br /&gt;
* [[GLESGAE:First Evaluation Resources]]&lt;br /&gt;
Part Five - Make it do Stuff!&lt;br /&gt;
* [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Six - Push Stuff around!&lt;br /&gt;
* [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing Box2D Physics]]&lt;br /&gt;
* [[GLESGAE:Implementing Bullet Physics]]&lt;br /&gt;
Part Seven - Make Stuff squeak!&lt;br /&gt;
* [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Eight - The Second Evaluation&lt;br /&gt;
* [[GLESGAE:Second Evaluation Overview]]&lt;br /&gt;
* [[GLESGAE:Second Evaluation Logic]]&lt;br /&gt;
* [[GLESGAE:Second Evaluation Physics]]&lt;br /&gt;
* [[GLESGAE:Second Evaluation Sound]]&lt;br /&gt;
Part Nine - Poke Stuff from afar!&lt;br /&gt;
* [[GLESGAE:Networking Overview]]&lt;br /&gt;
* [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
Part Ten - Advanced Stuff!&lt;br /&gt;
* [[GLESGAE:Library Stubs]]&lt;br /&gt;
Part Eleven - Tool Stuff!&lt;br /&gt;
* [[GLESGAE:Tools Overview]]&lt;br /&gt;
* [[GLESGAE:Mesh Converter]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''''' This is a bit old, now.. and may have somewhat dodgy WiFi, but I'll get round to fixing this soon ( hopefully by 13th May. )'''''&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=9014</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=9014"/>
		<updated>2011-07-20T09:00:54Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding Tools Stuff! to the big Table of Contents to get to... eventually...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* [[GLESGAE:The Transform Stack]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Transformations]]&lt;br /&gt;
* [[GLESGAE:Shader Based Transformations]]&lt;br /&gt;
* [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
* [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* [[GLESGAE:Managing Resources Overview]]&lt;br /&gt;
* [[GLESGAE:The Resource Manager]]&lt;br /&gt;
* [[GLESGAE:State Management Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing The Game States]]&lt;br /&gt;
Part Four - Make it do Stuff!&lt;br /&gt;
* [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Five - Push Stuff around!&lt;br /&gt;
* [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing Box2D Physics]]&lt;br /&gt;
* [[GLESGAE:Implementing Bullet Physics]]&lt;br /&gt;
Part Six - Make Stuff squeak!&lt;br /&gt;
* [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Seven - Poke Stuff from afar!&lt;br /&gt;
* [[GLESGAE:Networking Overview]]&lt;br /&gt;
* [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
Part Eight - Advanced Stuff!&lt;br /&gt;
* [[GLESGAE:Library Stubs]]&lt;br /&gt;
Part Nine - Tool Stuff!&lt;br /&gt;
* [[GLESGAE:Tools Overview]]&lt;br /&gt;
* [[GLESGAE:Mesh Converter]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''''' This is a bit old, now.. and may have somewhat dodgy WiFi, but I'll get round to fixing this soon ( hopefully by 13th May. )'''''&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8876</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8876"/>
		<updated>2011-06-29T01:03:55Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Table of Contents */ Re-ordered Textures and VBOs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* [[GLESGAE:The Transform Stack]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Transformations]]&lt;br /&gt;
* [[GLESGAE:Shader Based Transformations]]&lt;br /&gt;
* [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
* [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* [[GLESGAE:Managing Resources Overview]]&lt;br /&gt;
* [[GLESGAE:The Resource Manager]]&lt;br /&gt;
* [[GLESGAE:State Management Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing The Game States]]&lt;br /&gt;
Part Four - Make it do Stuff!&lt;br /&gt;
* [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Five - Push Stuff around!&lt;br /&gt;
* [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing Box2D Physics]]&lt;br /&gt;
* [[GLESGAE:Implementing Bullet Physics]]&lt;br /&gt;
Part Six - Make Stuff squeak!&lt;br /&gt;
* [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Seven - Poke Stuff from afar!&lt;br /&gt;
* [[GLESGAE:Networking Overview]]&lt;br /&gt;
* [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
Part Eight - Advanced Stuff!&lt;br /&gt;
* [[GLESGAE:Library Stubs]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''''' This is a bit old, now.. and may have somewhat dodgy WiFi, but I'll get round to fixing this soon ( hopefully by 13th May. )'''''&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=8868</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=8868"/>
		<updated>2011-06-28T16:50:47Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Part 1: the 1GB home extend */ Fixed the check as /tmp/1gb.overlay mounts to /home, and not the user's home folder.. see the thread for how this can cause confusion ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
[[Extend Utils]] provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Bug Reports =&lt;br /&gt;
In order for a bug report to be useful, I need the following information from you:&amp;lt;br /&amp;gt;&lt;br /&gt;
Output from &amp;quot;dmesg | tail&amp;quot;, &amp;quot;mount&amp;quot; and your preMount script.&amp;lt;br /&amp;gt;&lt;br /&gt;
A description of the error.&lt;br /&gt;
&lt;br /&gt;
Just PM me them on the GP32X boards, or post in the relevant threads - Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The current ExtendUtils will always be on my website here:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/ExtendUtils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to this forum thread: [http://www.gp32x.com/board/index.php?/topic/59740-extend-utils/ Extend Utils on GP32X]&amp;lt;br /&amp;gt;&lt;br /&gt;
Older threads where all this came from are at the bottom of this page for the interested.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in Extend Utils, but are available here as well as they're just loop files and can therefore be used with other things:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
All Angstrom-based Dev Extends are currently deprecated as of 26th June 2011.&lt;br /&gt;
&lt;br /&gt;
Please see the Lenny Debian OS Extend instead.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Debian ===&lt;br /&gt;
Lenny Dev Extend&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/debian.lennydev.20110626.zip 512mb Lenny Extend]&lt;br /&gt;
&lt;br /&gt;
The Lenny Dev Extend has a Debian bootstrap with dev tools ( enough for the Wakebreaker GL ES example plus gtk 1.2 dev )&amp;lt;br /&amp;gt;&lt;br /&gt;
There's about a hundred meg left in the extend for additional libraries, or you can transfer it to a bigger extend via '''''cp -a oldExtend/* newExtend/'''''&lt;br /&gt;
&lt;br /&gt;
Alternatively, check the [[Debian On SD]] project for booting Debian directly from SD card.&lt;br /&gt;
&lt;br /&gt;
====Step-by-step guide====&lt;br /&gt;
In this guide, you will mount a Lenny Dev Extend (to give you a protected dev environment), in conjunction with a 1gb overlay extend (to give you room in which to place your files).&lt;br /&gt;
&lt;br /&gt;
=====Part 1: the 1GB home extend=====&lt;br /&gt;
#Download [http://stuckiegamez.co.uk/apps/pandora/ExtendUtils/ExtendUtils.pnd ExtendUtils.pnd] to your Pandora (see [[User_manual#Installing_a_PND_file_.28an_application.29|here]] for instructions on where to place PNDs)&lt;br /&gt;
#Run it. It's called &amp;quot;Extend Utils&amp;quot; and is in &amp;quot;System&amp;quot; category.&lt;br /&gt;
#Select &amp;quot;New Extend/Overlay/Swap&amp;quot;&lt;br /&gt;
#Select &amp;quot;New Overlay File&amp;quot;&lt;br /&gt;
#Select a size (for example, 1gb) .. if you select &amp;quot;Custom&amp;quot;, prepare for a long wait.&lt;br /&gt;
#Place the file somewhere on your SD card (the default folder it suggests is a good choice, because it always looks there first) and give it a name. For example, &amp;quot;1gb&amp;quot;... you don't need to add .overlay or .extend, as it does it for you.&lt;br /&gt;
#It'll now either extract a premade empty file, or if you selected &amp;quot;Custom&amp;quot; it'll DD a new file, taking forever, and probably raping your SD in the process.. you have been warned ;)&lt;br /&gt;
#You'll be pushed back to the main menu now.&lt;br /&gt;
#Select &amp;quot;New Pre-Mount&amp;quot;&lt;br /&gt;
#Select &amp;quot;New Overlay Mount Script&amp;quot;&lt;br /&gt;
#Select &amp;quot;Standard Home Overlay&amp;quot;&lt;br /&gt;
#Choose your file (&amp;quot;1gb.overlay&amp;quot; in our example) that you saved on your SD card in the previous stage&lt;br /&gt;
#Save the mount script anywhere you like, calling it anything you like... for our purposes, save it on the SD card and name it &amp;quot;1gb&amp;quot;&lt;br /&gt;
#Back to the main menu.&lt;br /&gt;
#Select &amp;quot;Mount Existing Pre-Mount&amp;quot;. Note: If your SD card is formatted to anything other than ext/2/3/4 (for example, if it uses FAT32 or NTFS), you can't run it directly from the Terminal. You'll need to run it through Extend Utils or type &amp;lt;code&amp;gt;/bin/bash /my/mount/script.preMount&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
#Choose the script you saved in the previous part (&amp;quot;1gb.premount&amp;quot;)&lt;br /&gt;
#Type your sudo password (your password to log in to your Pandora at startup)&lt;br /&gt;
#That should be it.&lt;br /&gt;
&lt;br /&gt;
'''For checking purposes:'''&lt;br /&gt;
&lt;br /&gt;
#Launch a Terminal.&lt;br /&gt;
#Type &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt;&lt;br /&gt;
#Look for a line at the bottom reading something like &amp;quot;aufs on /home type aufs (rw, si=xxxxxxxx)&amp;quot;&lt;br /&gt;
#Type &amp;lt;code&amp;gt;cd /tmp/NAMEOFOVERLAY.overlay/YOURUSERNAME&amp;lt;/code&amp;gt; (for our example, if we were stuckie: &amp;lt;code&amp;gt;cd /tmp/1gb.overlay/stuckie&amp;lt;/code&amp;gt;)&lt;br /&gt;
#We'll put a random file here to ensure it works. Type it &amp;lt;code&amp;gt;touch testfile&amp;lt;/code&amp;gt;. This will create an empty file named &amp;quot;testfile&amp;quot;. Type &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; and it should be among the files listed. Now type &amp;lt;code&amp;gt;ls ~&amp;lt;/code&amp;gt;, and it should also show up.&lt;br /&gt;
&lt;br /&gt;
=====Part 2: Debian Dev Extend=====&lt;br /&gt;
#Download [http://stuckiegamez.co.uk/apps/pandora/ExtendUtils/DebianDevExtend.pnd DebianDevExtend.pnd] to your Pandora.&lt;br /&gt;
#Download the [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/debian.lennydev.20110626.zip 512mb Lenny Dev Extend], unzip it (for example, using Squeeze), place the debian.lennydev.20110626.extend file into the directory &amp;lt;code&amp;gt;/media/yourSDcard/pandora/appdata/DebianDevExtend&amp;lt;/code&amp;gt; (it doesn't matter where you put it, but this is easier because it's the default directory it will look in)&lt;br /&gt;
#Launch Debian Dev Extend. It's in the &amp;quot;System&amp;quot; category.&lt;br /&gt;
#Click &amp;quot;Ok&amp;quot; past the notifications.&lt;br /&gt;
#Select the debian.lennydev.20110626.extend file. &lt;br /&gt;
#Type your sudo password if prompted (you may be quick enough to still be in the sudo cache that it doesn't ask)&lt;br /&gt;
#In the Debian Dev Extend terminal, type &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; to ensure that it works. If it says &amp;lt;code&amp;gt;gcc: no input files&amp;lt;/code&amp;gt;, all is well.&lt;br /&gt;
#Type &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to jump directly to your home folder. Type &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; to ensure our test file is there. If it is, you're good to go.&lt;br /&gt;
&lt;br /&gt;
=====How it all links together=====&lt;br /&gt;
You can open a file manager (for example Thunar, or Xfe) and verify that everything is as it should be. Here's how it should look:&lt;br /&gt;
*The contents of &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/tmp/1gb.overlay&amp;lt;/code&amp;gt; should be almost identical&lt;br /&gt;
*The contents of the following three directories should be identical:&lt;br /&gt;
**&amp;lt;code&amp;gt;/home/username&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;/tmp/debextend/home/username&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;/tmp/1gb.overlay/username&amp;lt;/code&amp;gt;&lt;br /&gt;
(&amp;quot;username&amp;quot; represents your username)&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
# Start up Extend Utils.&lt;br /&gt;
# Select New Extend/Overlay/Swap.&lt;br /&gt;
# Select New Swap File.&lt;br /&gt;
# Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
# Save the file anywhere you like.&lt;br /&gt;
# It will extract the appropriate zip to where you selected.&lt;br /&gt;
# Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
# Select New Swap Mount Script.&lt;br /&gt;
# Find your Swap File you just created.&lt;br /&gt;
# Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
# Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
# Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
# Start up Extend Utils.&lt;br /&gt;
# Select New Overlay.&lt;br /&gt;
# Select New Overlay File.&lt;br /&gt;
# Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
# Save the file anywhere you like.&lt;br /&gt;
# It will extract the appropriate zip to where you selected.&lt;br /&gt;
# Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
# Select New Overlay Mount Script.&lt;br /&gt;
# Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
# Find your Overlay that you created.&lt;br /&gt;
# Select where you want to save the Pre-Mount script.&lt;br /&gt;
# Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
# Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
# Start Extend Utils.&lt;br /&gt;
# Select New Pre-Mount.&lt;br /&gt;
# Select New Extend Mount.&lt;br /&gt;
# Select OS Extend.&amp;lt;br/&amp;gt;This is where you need to start paying attention as to what you're doing.&amp;lt;br/&amp;gt;For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&amp;lt;br/&amp;gt;The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
# Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
# Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
# We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
# We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
# Choose the Overlay you want to use.&lt;br /&gt;
# Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
# You'll then be asked where you want to save the PreMount script.&amp;lt;br/&amp;gt;Again, we need to pay attention as to what we want here.&amp;lt;br/&amp;gt;For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&amp;lt;br/&amp;gt;You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
# Select the Terminal option.&lt;br /&gt;
# You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
# Select your Pre-Mount Script you've just created.&lt;br /&gt;
# After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
# Start Extend Utils.&lt;br /&gt;
# Select New Pre-Mount.&lt;br /&gt;
# Select New Extend Mount.&lt;br /&gt;
# Select OS Extend. &amp;lt;br/&amp;gt;As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&amp;lt;br/&amp;gt;Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
# We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
# We do want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
# Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
# Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
# You'll then be asked where you want to save the PreMount script. &amp;lt;br/&amp;gt;Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
# We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
# You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
# Select your Pre-Mount Script you've just created.&lt;br /&gt;
# After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
# Start Extend Utils.&lt;br /&gt;
# Select New Pre-Mount.&lt;br /&gt;
# Select New Extend Mount.&lt;br /&gt;
# Select Dev Extend.&lt;br /&gt;
# Select 0 Read-Only Extends.&lt;br /&gt;
# Select 1 Read-Write Extend.&lt;br /&gt;
# Find your Dev Extend.&lt;br /&gt;
# Select 0 Read-Write Overlays.&lt;br /&gt;
# Come up with a mount point.&lt;br /&gt;
# Save your Pre-Mount somewhere.&lt;br /&gt;
# You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Filesystem]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=8853</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=8853"/>
		<updated>2011-06-26T18:55:33Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Taking out deprecated bits and pieces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
[[Extend Utils]] provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Bug Reports =&lt;br /&gt;
In order for a bug report to be useful, I need the following information from you:&amp;lt;br /&amp;gt;&lt;br /&gt;
Output from &amp;quot;dmesg | tail&amp;quot;, &amp;quot;mount&amp;quot; and your preMount script.&amp;lt;br /&amp;gt;&lt;br /&gt;
A description of the error.&lt;br /&gt;
&lt;br /&gt;
Just PM me them on the GP32X boards, or post in the relevant threads - Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The current ExtendUtils will always be on my website here:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/ExtendUtils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to this forum thread: [http://www.gp32x.com/board/index.php?/topic/59740-extend-utils/ Extend Utils on GP32X]&amp;lt;br /&amp;gt;&lt;br /&gt;
Older threads where all this came from are at the bottom of this page for the interested.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in Extend Utils, but are available here as well as they're just loop files and can therefore be used with other things:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
All Angstrom-based Dev Extends are currently deprecated as of 26th June 2011.&lt;br /&gt;
&lt;br /&gt;
Please see the Lenny Debian OS Extend instead.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Debian ===&lt;br /&gt;
Lenny Dev Extend&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/ExtendUtils/debian.lennydev.20110626.zip 512mb Lenny Extend]&lt;br /&gt;
&lt;br /&gt;
The Lenny Dev Extend has a Debian bootstrap with dev tools ( enough for the Wakebreaker GL ES example plus gtk 1.2 dev )&amp;lt;br /&amp;gt;&lt;br /&gt;
There's about a hundred meg left in the extend for additional libraries, or you can transfer it to a bigger extend via '''''cp -a oldExtend/* newExtend/'''''&lt;br /&gt;
&lt;br /&gt;
Alternatively, check the [[Debian On SD]] project for booting Debian directly from SD card.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
# Start up Extend Utils.&lt;br /&gt;
# Select New Extend/Overlay/Swap.&lt;br /&gt;
# Select New Swap File.&lt;br /&gt;
# Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
# Save the file anywhere you like.&lt;br /&gt;
# It will extract the appropriate zip to where you selected.&lt;br /&gt;
# Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
# Select New Swap Mount Script.&lt;br /&gt;
# Find your Swap File you just created.&lt;br /&gt;
# Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
# Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
# Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
# Start up Extend Utils.&lt;br /&gt;
# Select New Overlay.&lt;br /&gt;
# Select New Overlay File.&lt;br /&gt;
# Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
# Save the file anywhere you like.&lt;br /&gt;
# It will extract the appropriate zip to where you selected.&lt;br /&gt;
# Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
# Select New Overlay Mount Script.&lt;br /&gt;
# Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
# Find your Overlay that you created.&lt;br /&gt;
# Select where you want to save the Pre-Mount script.&lt;br /&gt;
# Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
# Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
# Start Extend Utils.&lt;br /&gt;
# Select New Pre-Mount.&lt;br /&gt;
# Select New Extend Mount.&lt;br /&gt;
# Select OS Extend.&amp;lt;br/&amp;gt;This is where you need to start paying attention as to what you're doing.&amp;lt;br/&amp;gt;For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&amp;lt;br/&amp;gt;The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
# Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
# Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
# We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
# We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
# Choose the Overlay you want to use.&lt;br /&gt;
# Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
# You'll then be asked where you want to save the PreMount script.&amp;lt;br/&amp;gt;Again, we need to pay attention as to what we want here.&amp;lt;br/&amp;gt;For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&amp;lt;br/&amp;gt;You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
# Select the Terminal option.&lt;br /&gt;
# You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
# Select your Pre-Mount Script you've just created.&lt;br /&gt;
# After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
# Start Extend Utils.&lt;br /&gt;
# Select New Pre-Mount.&lt;br /&gt;
# Select New Extend Mount.&lt;br /&gt;
# Select OS Extend. &amp;lt;br/&amp;gt;As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&amp;lt;br/&amp;gt;Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
# We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
# We do want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
# Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
# Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
# You'll then be asked where you want to save the PreMount script. &amp;lt;br/&amp;gt;Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
# We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
# You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
# Select your Pre-Mount Script you've just created.&lt;br /&gt;
# After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
# Start Extend Utils.&lt;br /&gt;
# Select New Pre-Mount.&lt;br /&gt;
# Select New Extend Mount.&lt;br /&gt;
# Select Dev Extend.&lt;br /&gt;
# Select 0 Read-Only Extends.&lt;br /&gt;
# Select 1 Read-Write Extend.&lt;br /&gt;
# Find your Dev Extend.&lt;br /&gt;
# Select 0 Read-Write Overlays.&lt;br /&gt;
# Come up with a mount point.&lt;br /&gt;
# Save your Pre-Mount somewhere.&lt;br /&gt;
# You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Filesystem]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8530</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8530"/>
		<updated>2011-05-26T09:11:34Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Table of Contents */ Adding page on The Transform Stack - so important, it gets it's own page before I even touch dealing with matrices! Removed Chapter Numbers, and Reogranised/Added some bits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* [[GLESGAE:The Transform Stack]]&lt;br /&gt;
* [[GLESGAE:Fixed Function Transformations]]&lt;br /&gt;
* [[GLESGAE:Shader Based Transformations]]&lt;br /&gt;
* [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
* [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* [[GLESGAE:Managing Resources Overview]]&lt;br /&gt;
* [[GLESGAE:The Resource Manager]]&lt;br /&gt;
* [[GLESGAE:State Management Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing The Game States]]&lt;br /&gt;
Part Four - Make it do Stuff!&lt;br /&gt;
* [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Five - Push Stuff around!&lt;br /&gt;
* [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing Box2D Physics]]&lt;br /&gt;
* [[GLESGAE:Implementing Bullet Physics]]&lt;br /&gt;
Part Six - Make Stuff squeak!&lt;br /&gt;
* [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Seven - Poke Stuff from afar!&lt;br /&gt;
* [[GLESGAE:Networking Overview]]&lt;br /&gt;
* [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
Part Eight - Advanced Stuff!&lt;br /&gt;
* [[GLESGAE:Library Stubs]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''''' This is a bit old, now.. and may have somewhat dodgy WiFi, but I'll get round to fixing this soon ( hopefully by 13th May. )'''''&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8391</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8391"/>
		<updated>2011-05-11T09:01:41Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* I'm Lazy, Give Me A Pre-Configured Thing! */  Adding note about the premade rootfs being a bit out of date and buggy.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* Chapter 01 - [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* Chapter 02 - [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* Chapter 03 - [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* Chapter 04 - [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* Chapter 05 - [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* Chapter 06 - [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* Chapter 07 - [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* Chapter 08 - [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* Chapter 09 - [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
* Chapter 10 - [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
* Chapter 11 - [[GLESGAE:Dealing with Matrices]]&lt;br /&gt;
* Chapter 12 - [[GLESGAE:Fun with Maths]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* Chapter 13 - [[GLESGAE:Managing Resources]]&lt;br /&gt;
* Chapter 14 - [[GLESGAE:State Management]]&lt;br /&gt;
Part Four - Make it do Stuff!&lt;br /&gt;
* Chapter 15 - [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* Chapter 16 - [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* Chapter 17 - [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Five - Push Stuff around!&lt;br /&gt;
* Chapter 18 - [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* Chapter 19 - [[GLESGAE:Implenting Box2D Physics]]&lt;br /&gt;
* Chapter 20 - [[GLESGAE:Implenting Bullet Physics]]&lt;br /&gt;
Part Six - Make Stuff squeak!&lt;br /&gt;
* Chapter 21 - [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* Chapter 22 - [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Seven - Poke Stuff from afar!&lt;br /&gt;
* Chapter 23 - [[GLESGAE:Networking Overview]]&lt;br /&gt;
* Chapter 24 - [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''''' This is a bit old, now.. and may have somewhat dodgy WiFi, but I'll get round to fixing this soon ( hopefully by 13th May. )'''''&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8379</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=8379"/>
		<updated>2011-05-10T23:41:27Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Organising stuff into Chapters and Parts, and added a &amp;quot;done when done&amp;quot; type disclaimer.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
These will be written when I have time.. the uncreated ones below being an indicator of what's to come.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unwritten parts may be split up, moved, or otherwise manipulated before actually going live, so don't take the following as set in stone till the link turns blue!&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
Part One - Setup Stuff!&lt;br /&gt;
* Chapter 01 - [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* Chapter 02 - [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* Chapter 03 - [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* Chapter 04 - [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* Chapter 05 - [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
Part Two - Show me Stuff!&lt;br /&gt;
* Chapter 06 - [[GLESGAE:Making a Mesh]]&lt;br /&gt;
* Chapter 07 - [[GLESGAE:Fixed Function Rendering Contexts]]&lt;br /&gt;
* Chapter 08 - [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
* Chapter 09 - [[GLESGAE:Dealing with Textures]]&lt;br /&gt;
* Chapter 10 - [[GLESGAE:Making another Mesh with Vertex Buffers]]&lt;br /&gt;
* Chapter 11 - [[GLESGAE:Dealing with Matrices]]&lt;br /&gt;
* Chapter 12 - [[GLESGAE:Fun with Maths]]&lt;br /&gt;
Part Three - Manage my Stuff!&lt;br /&gt;
* Chapter 13 - [[GLESGAE:Managing Resources]]&lt;br /&gt;
* Chapter 14 - [[GLESGAE:State Management]]&lt;br /&gt;
Part Four - Make it do Stuff!&lt;br /&gt;
* Chapter 15 - [[GLESGAE:Logic Processing Overview]]&lt;br /&gt;
* Chapter 16 - [[GLESGAE:Dealing with Entities]]&lt;br /&gt;
* Chapter 17 - [[GLESGAE:Playing with Scripts]]&lt;br /&gt;
Part Five - Push Stuff around!&lt;br /&gt;
* Chapter 18 - [[GLESGAE:Physics Processing Overview]]&lt;br /&gt;
* Chapter 19 - [[GLESGAE:Implenting Box2D Physics]]&lt;br /&gt;
* Chapter 20 - [[GLESGAE:Implenting Bullet Physics]]&lt;br /&gt;
Part Six - Make Stuff squeak!&lt;br /&gt;
* Chapter 21 - [[GLESGAE:Sound Processing Overview]]&lt;br /&gt;
* Chapter 22 - [[GLESGAE:Implementing OpenAL]]&lt;br /&gt;
Part Seven - Poke Stuff from afar!&lt;br /&gt;
* Chapter 23 - [[GLESGAE:Networking Overview]]&lt;br /&gt;
* Chapter 24 - [[GLESGAE:A Basic Networking System]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:GLESGAE]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Software_projects&amp;diff=7992</id>
		<title>Software projects</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Software_projects&amp;diff=7992"/>
		<updated>2011-04-24T11:22:38Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Operating systems */  - removing the &amp;quot;1.0.4&amp;quot; version as that's my version number, rather than Debian's.. specifically, I target Squeeze, though the guide can have Lenny working too.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''These lists were last updated on 2011-04-22 to include the latest files from [http://apps.open-pandora.org/cgi-bin/viewarea.pl?Games Pandora Apps], the [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,9 File Archive], the [http://repo.openpandora.org/?page=all&amp;amp;s=new Repo], and the [[Software_projects#Forums|community forums]].''&lt;br /&gt;
&lt;br /&gt;
This is a list of '''all software projects''' for the Pandora ''excluding'' emulators (see: [[Emulator list]]), games (see: [[Games]]), and development tools (see: [[Development Tools]]). However, this list ''does'' include the development apps that can be used on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
See the [[Port Requests]] article for open-source projects which ''could'' be ported but have not been taken on by anyone yet.&lt;br /&gt;
&lt;br /&gt;
==Released software==&lt;br /&gt;
If you would like to add something, you could edit the wiki or [http://www.gp32x.com/board/index.php?/topic/54923-the-pandora-apps-thread/ post in this forum thread]. If different versions of a software were released, please make sure the &amp;quot;release date&amp;quot; is the most recent one. &lt;br /&gt;
&lt;br /&gt;
Please click on the little squares to sort by different categories (such as Release date, Type, etc.)&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[AbiWord]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (packaging)&lt;br /&gt;
|Office - word processor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/abiword.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__919843 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Alarm Clock ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,303 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Anki]] 1.2.8-drack3&lt;br /&gt;
|2011-04-20&lt;br /&gt;
|Drack (port)&lt;br /&gt;
|Office - memory aid&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=anki Download]&lt;br /&gt;
|Discussion [http://www.gp32x.com/board/index.php?/topic/58929-anki-friendly-intelligent-flashcards/page__view__findpost__p__946781 1] [http://boards.openpandora.org/index.php?/topic/34-anki-friendly-intelligent-flashcards/ 2]&lt;br /&gt;
|-&lt;br /&gt;
|[[Arora]] (for [[Minimenu]])&lt;br /&gt;
|2010-05-26&lt;br /&gt;
|Skeezix (quick hack)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,69 Archive]&lt;br /&gt;
|Needed to run Arora from Minimenu&lt;br /&gt;
|-&lt;br /&gt;
|[[Audacious]] 2.4.4&lt;br /&gt;
|2011-03-07&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/audacious.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54792-audacious/page__view__findpost__p__942175 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Audacity]] 1.3.12&lt;br /&gt;
|2011-04-21&lt;br /&gt;
|slaeshjag (port)&lt;br /&gt;
|Audio - audio editor, recorder&lt;br /&gt;
|[http://stuffs.slaeshjag.org/pnd/audacity.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/59301-audacity-1-3-12/ GP32X] [http://boards.openpandora.org/index.php?/topic/3016-audacity-1312/ OP]&lt;br /&gt;
|-&lt;br /&gt;
|[[b7zip]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Background killer&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|Notaz&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/background_killer.inf Apps]&lt;br /&gt;
|Kill background tasks in minimenu. {{HideableNotes|&amp;quot;[http://www.gp32x.com/board/index.php?/topic/56008-zelda-classic-for-pandora/page__st__15__p__907940&amp;amp;#entry907940 Not needed]&amp;quot; since Hotfix 3, but still useful as a quick way to make sure all other tasks are closed.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Banshee]]&lt;br /&gt;
|2010-10-23&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/banshee.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57144-portrequest-banshee/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Better battery charging ('''beta''')&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|WizardStan&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.rebirthofxeen.com/files/pandora/chargeHack1 Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1488-better-battery-charging-beta/page__view__findpost__p__40784 Discussion]. Not a PND; must install from terminal.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bluefish Editor]] 2.0.3&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Network - web design&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,352 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58927-port-request-bluefish-editor/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Bournal]]&lt;br /&gt;
|2010-08-11&lt;br /&gt;
|&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,181 Archive]&lt;br /&gt;
|encrypted diary program&lt;br /&gt;
|-&lt;br /&gt;
|[[Brasero]]&lt;br /&gt;
|2011-03-01&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - CD/DVD burner&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,335 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58842-brasero/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Catlooking Writer]]&lt;br /&gt;
|2011-03-28&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - word processor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,372 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59111-catlooking-writer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]&lt;br /&gt;
|2010-09-04&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,90 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56474-chromium-4-with-ssl-and-chromium-snapshot/ Discussion]. SSL now works&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]-Dev v10.0.642.1&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,201 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58234-chromium-dev-snapshot-v10-0-642-1/ Discussion] [http://www.gp32x.com/board/index.php?/topic/57017-chromium-dev-updated/ (old)]. The latest (non-stable) snapshot.&lt;br /&gt;
|-&lt;br /&gt;
|[[Claunch]] ('''beta''')&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lamoxx&lt;br /&gt;
|System - app launcher&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/claunch_beta.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57040-claunch-minimal-flexible-rom-pickerapplication-launcher/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Claws Mail]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - mail client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/claw-mail.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,223 Archive]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920075 Discussion]. Hopefully doesn't save to NAND (testing needed).&lt;br /&gt;
|-&lt;br /&gt;
|[[Cmus]]&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|otherguy66 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,251 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57682-cmus-pnd-installer/page__gopid__928328&amp;amp;#entry928328 Discussion]. Installed to [[NAND]] (1mb). Text mode player&lt;br /&gt;
|-&lt;br /&gt;
|[[Code::blocks]]&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|sinoth (port)&lt;br /&gt;
|Development - IDE&lt;br /&gt;
|[http://sinoth.net/pandora/codeblocks.pnd.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54091-codeblocks-on-the-pandora/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|Community Codec Package&lt;br /&gt;
|2010-05-25&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/CodecPack.inf Apps] [http://openpandora.org/downloads/CodecPack.pnd Official site]&lt;br /&gt;
|Make sure you have this installed&lt;br /&gt;
|-&lt;br /&gt;
|[[Comix]]&lt;br /&gt;
|2010-06-30&lt;br /&gt;
|Pontus Ekberg&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/comix.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Conky]]&lt;br /&gt;
|2010-08-03&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Conky.pnd/ Download]&lt;br /&gt;
|System monitor. [http://www.gp32x.com/board/index.php?/topic/55775-conky Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Converseen]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,339 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58859-converseen/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DarCalc]]&lt;br /&gt;
|2010-08-28&lt;br /&gt;
|JP&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,196 Archive]&lt;br /&gt;
|See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Deadbeef]] 0.4.3&lt;br /&gt;
|2010-11-01&lt;br /&gt;
|CME (port), sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://root.shadow-node.net/public/cme/pnd/deadbeef.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55178-deadbeef-compiled-with-codesourcery-gcc-2010q1/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[dia]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - diagrams&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/dia.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56863-dia/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DrawSWF]] ('''beta''')&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Chrysipp (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.158 Download] &lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10105%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhilcfdbJF4gEtvmTIwMjO9EFqUQ-A Discussion (German)]. Must have Java.pnd installed. {{HideableNotes|A small drawing program. The drawing can be exported as a Flash animation, which then shows its gradual development.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Effigy]] (PEF) Emulator Frontend ('''beta''')&lt;br /&gt;
|2011-04-04&lt;br /&gt;
|Aimless_E&lt;br /&gt;
|System - frontend&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=415 Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2276-effigy-pef-emulator-frontend/page__view__findpost__p__47107 Discussion] ([http://www.gp32x.com/board/index.php?/topic/44952-pandora-emulator-frontend/ old])&lt;br /&gt;
|-&lt;br /&gt;
|[[Ekiga]] ('''beta''')&lt;br /&gt;
|2010-10-29&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ekiga.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/ Discussion]. Online phone &amp;amp; video calls. '''[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/page__view__findpost__p__924918 Doesn't work]'''{{HideableNotes| though it can be made to work through Debian, [[Extend Utils]]: [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Emelfm2]]&lt;br /&gt;
|2011-03-09&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,351 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58928-port-request-emelfm2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Empathy]] 2.29.6 ('''beta''')&lt;br /&gt;
|2011-03-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - IM client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/empathy.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58911-empathy/ Discussion]. No networks included yet.&lt;br /&gt;
|-&lt;br /&gt;
|[[Enna]] ('''beta''')&lt;br /&gt;
|2010-07-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/enna.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55113-enna/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Exaile]]&lt;br /&gt;
|2010-04-28&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,43 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Exaile.inf Apps]&lt;br /&gt;
|Needs Community Codec Pack to run&lt;br /&gt;
|-&lt;br /&gt;
|[[Extend Utils]]&lt;br /&gt;
|2010-06-22&lt;br /&gt;
|Stuckie&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ 1], [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/ 2]. Debian in an extend. Allows you to run over 29,000 programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[F3]]&lt;br /&gt;
|2010-10-17&lt;br /&gt;
|slaeshjag (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://stuffs.slaeshjag.org/F3.tar Download]&lt;br /&gt;
|Test for fake flash memory (like H2testw). [http://www.gp32x.com/board/index.php?/topic/57063-some-quick-tips-to-help-avoid-fake-sd-cardsflash-media/page__view__findpost__p__922187 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FBReader]] 0.12.10&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|zx81 (port)&lt;br /&gt;
|Office - eBook Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,168 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fbreader-0.12.10.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 4.0b3 ('''beta''')&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Mozilla Team, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,75 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Fennec40.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58514-fennec-4-0b3/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 3.6.3&lt;br /&gt;
|2010-05-30&lt;br /&gt;
|Mozilla Team, Iampanis (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fennec.inf Apps]&lt;br /&gt;
|mobile version of FireFox&lt;br /&gt;
|-&lt;br /&gt;
|[[Figaro's Password Manager 2]] ('''beta''')&lt;br /&gt;
|2010-11-30&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - passwords&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,254 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57714-figaros-password-manager-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]]&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Evildragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,91 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/FireFox.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 3.6.13&lt;br /&gt;
|2011-01-28&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-3.6.13-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56903-firefox-3-6-10/ Discussion (old)], [http://www.gp32x.com/board/index.php?/topic/58425-firefox-3-6-13/ news/discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 4.0B10 ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-4b10-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58489-firefox-4-beta-10/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FlipClock]] ('''beta''')&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|torpor (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58548-port-flipclock-for-pandora/ Discussion], also [http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/page__view__findpost__p__937668 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fotoxx]]&lt;br /&gt;
|2010-12-06&lt;br /&gt;
|Kornelix&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Graphics - photo editor &amp;amp; manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,261 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57777-fotoxx/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Freemind]] 0.9.0&lt;br /&gt;
|2011-03-10&amp;lt;br/&amp;gt;2010-11-21&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Office - mind mapping&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,4,240 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/679-freemind-a-mindmap-tool/page__view__findpost__p__39752 Discussion] [http://www.gp32x.com/board/index.php?/topic/57605-freemind-a-mindmap-tool/ (old)] . Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[GanttProject]] 2.0.10&lt;br /&gt;
|2011-03-19&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Office - project management&lt;br /&gt;
|[http://mash-systeme.de/downloads/ganttproject.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,364 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2491-ganttproject-2010/ Discussion] [http://en.wikipedia.org/wiki/GanttProject Wiki article]. Needs Java.pnd&lt;br /&gt;
|-&lt;br /&gt;
|[[GCalc]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,241 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57636-gcalc-graphic-calculator/ Discussion]. Needs java.pnd installed. See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[gCalctool]]&lt;br /&gt;
|2011-02-26&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://mash-systeme.de/downloads/gcalctool.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1964-mutt-links2-and-gcalctool/page__gopid__36838#entry36838 Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[Geany]] v0.19-1&lt;br /&gt;
|2010-09-16&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,14,205 Archive] [http://dl.dropbox.com/u/39448/pandora/geany.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55432-geany/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gedit]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gedit.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56862-gedit/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gerbv]]&lt;br /&gt;
|2010-09-14&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - EDA&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,202 Archive]&lt;br /&gt;
|viewer for Gerber RS-274X, Excellon drill, &amp;amp; CSV pick-and-place files&lt;br /&gt;
|-&lt;br /&gt;
|Get iPlayer&lt;br /&gt;
|2011-04-23&lt;br /&gt;
|freamon (port)&lt;br /&gt;
|Multimedia - File Downloader&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=getiplayer.freamon.40n8e Repo]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/3045-get-iplayer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gFTP]] 2.0.18 ('''beta''')&lt;br /&gt;
|2010-07-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - FTP client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gftp.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54931-gftp/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GIMP]] v2.6.11.1&lt;br /&gt;
|2011-04-07&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=gimp-gimp-2.6-4644 Repo]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59172-gimp-2-6-9/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GIMP]] v2.6 ('''beta''')&lt;br /&gt;
|2010-06-06&lt;br /&gt;
|Stuckie (quick hack)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/gimp-2.6.pnd Download]&lt;br /&gt;
|Read instructions [http://www.gp32x.com/board/index.php?/topic/54071-ubuntu-or-other-dist-alternative/page__p__868411&amp;amp;#entry868411 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gmu Music Player]] 0.7.2 &lt;br /&gt;
|2010-12-29&lt;br /&gt;
|wejp&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://wejp.k.vu/files/gmu-0.7.2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58009-gmu-music-player-0-7-2/ Discussion] [http://www.gp32x.com/board/index.php?/topic/55007-gmu-music-player-0-7-1-released/ (old)]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnomad 2]]&lt;br /&gt;
|2010-10-18&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music manager&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnomad2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57088-gnomad2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnome Music Player Client]] (GMPC) 0.20.0 ('''beta''')&lt;br /&gt;
|2010-08-01&lt;br /&gt;
|tsh (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[https://sites.google.com/site/tshpandorastuff/file-cabinet/gmpc0.20.0.pnd?attredirects=0&amp;amp;d=1 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55664-gmpc-beta/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnumeric]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - spreadsheet&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnumeric.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920072 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GoldenDict]] 0.9.0Svn&lt;br /&gt;
|2010-09-27&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,209 Archive] [http://www.rangelreale.com/pandora/goldendict.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56802-goldendict-0-9-0svn/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GParted]]&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|System - partition&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gparted.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56915-gparted/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gPicView]]&lt;br /&gt;
|2011-03-10&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gpicview.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58938-gpicview/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|GQview&lt;br /&gt;
|2010-07-27&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/GQview.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55559-gqview-pnd-image-viewer-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Grafx2]] &lt;br /&gt;
|2010-12-30&lt;br /&gt;
|pulkomandy, yrizoud, mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,264 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58016-grafx2/ Discussion]. For pixel art.&lt;br /&gt;
|-&lt;br /&gt;
|[[Grafx2]] SVN v1713&lt;br /&gt;
|2011-02-26&lt;br /&gt;
|pulkomandy, yrizoud, et al.&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,330 Archive]&lt;br /&gt;
|For pixel art.&lt;br /&gt;
|-&lt;br /&gt;
|[[GrooveShark Player]]&lt;br /&gt;
|2011-03-11&lt;br /&gt;
|Elias Woods, coldbird (port)&lt;br /&gt;
|Network - music streaming&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,354 Archive]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58952-getting-on-grooveshark/page__view__findpost__p__942959 GP32X] [http://boards.openpandora.org/index.php?/topic/2273-compile-groove-for-pandora/ OP]. [http://en.wikipedia.org/wiki/Grooveshark Grooveshark] client. {{HideableNotes|&amp;quot;you can listen to a gigantic Online Music Archive for free.&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Groove]]&lt;br /&gt;
|2010-07-19&lt;br /&gt;
|Elias Woods, bompo (port)&lt;br /&gt;
|Network - music streaming&lt;br /&gt;
|[http://dl.dropbox.com/u/39448/pandora/Groove.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58952-getting-on-grooveshark/ Discussion]. [http://en.wikipedia.org/wiki/Grooveshark Grooveshark] client. '''Warning''': {{HideableNotes|Requires installing dependencies with opkg. See discussion thread.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[GRsync]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,340 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58861-grsync/ Discussion]. Synchronize folders &amp;amp; files, make backups&lt;br /&gt;
|-&lt;br /&gt;
|[[Gwaei]]&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Zachary Dovel&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,249 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57674-gwaei-port-japanese-english-dictionary/ Discussion]. Japanese-English.&lt;br /&gt;
|-&lt;br /&gt;
|[[hfsutils]]&lt;br /&gt;
|2011-03-10&lt;br /&gt;
|Silent-Hunter (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=295 Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2236-hfsutils-port/ Discussion]. For reading &amp;amp; writing Macintosh file systems.&lt;br /&gt;
|-&lt;br /&gt;
|[[HomeBank]] 4.3&lt;br /&gt;
|2011-02-26&lt;br /&gt;
|Maxime Doyen, mcobit (port)&lt;br /&gt;
|Office - money manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,296 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58506-homebank/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Hotfix 5&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.openpandora.org/downloads/HotFix5-Zaxxon.pnd Official site]&lt;br /&gt;
|Make sure you have this installed. Discussion: [http://www.gp32x.com/board/index.php?/topic/58867-hotfix-5-released/ GP32X] [http://boards.openpandora.org/index.php?/topic/2080-hotfix-5-released/page__pid__37497#entry37497 OP]&lt;br /&gt;
|-&lt;br /&gt;
|[[Inkscape]] ('''beta''')&lt;br /&gt;
|2010-10-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/inkscape.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56954-inkscape/ Discussion]. Currently very slow.&lt;br /&gt;
|-&lt;br /&gt;
|[[Java]] Pnd ('''beta''')&lt;br /&gt;
|2010-11-21&lt;br /&gt;
|WizardStan (port)&lt;br /&gt;
|System - dependency&lt;br /&gt;
|[http://rebirthofxeen.com/files/pandora/java.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57598-java-pnd/ Discussion]. Run Java apps.&lt;br /&gt;
|-&lt;br /&gt;
|[[jEdit]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,244 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57614-jedit-programmers-text-editor/ Discussion]. For programmers. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jChemPaint]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule drawing&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,242 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57633-jchempaint/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMol]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule viewing in 3D&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,243 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57618-jmol-3d-molecule-viewer/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMP3 Player]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|jaijuju&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.156 Download]&lt;br /&gt;
|[http://code.google.com/p/jmp3player/ Website]. Java.pnd required.&lt;br /&gt;
|-&lt;br /&gt;
|[[Jumanji]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|b3w (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://www.mediafire.com/?5va2dj4x6bkrobi Download] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/jumanji.inf Apps]&lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11821 Discussion (German)]. [https://wiki.archlinux.org/index.php/Jumanji Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|[[KCHMViewer]] 5.2&lt;br /&gt;
|2010-10-05&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - CHM Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,215 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56901-kcmviewer/ Discussion.] Windows help files reader.&lt;br /&gt;
|-&lt;br /&gt;
|[[KDiff 3]]&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Joachim Eibl&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,299 Archive] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1440-kdiff3-0995-pandora-3/ Discussion]. Merge 2 or 3 text input files or directories&lt;br /&gt;
|-&lt;br /&gt;
|[[Keyboard layout changer]]&lt;br /&gt;
|2011-03-18&lt;br /&gt;
|slaeshjag&lt;br /&gt;
|System - configuration&lt;br /&gt;
|[http://stuffs.slaeshjag.org/kblayout.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2428-keyboard-layout-changer/ Discussion]. Shows up in Settings as Keyboard Layout&lt;br /&gt;
|-&lt;br /&gt;
|[[Liferea]]&lt;br /&gt;
|2010-07-06&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - RSS Reader&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/liferea.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55089-liferea/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Lightweight2]] 1.8.0.2&lt;br /&gt;
|2011-04-09&lt;br /&gt;
|cpttom, mcobit (port), Zero3K (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=lightweight2-Lightweight2-112245 Repo]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58836-lightweight2/page__view__findpost__p__945285 Discussion]. Small, fast browser.&lt;br /&gt;
|-&lt;br /&gt;
|[[Links2]]&lt;br /&gt;
|2011-03-10&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,333 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1964-mutt-links2-and-gcalctool/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[Linksys AE1000 USB Wifi]] (installer)&lt;br /&gt;
|2011-04-01&lt;br /&gt;
|Jey123456&lt;br /&gt;
|Network - USB Wifi driver&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=379 Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1992-linksys-ae1000-usb-wifi/page__view__findpost__p__46426 Discussion]. Get internet anywhere.&lt;br /&gt;
|-&lt;br /&gt;
|[[Linphone]] ('''beta''')&lt;br /&gt;
|2011-01-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/linphone.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58289-linphone Discussion]. Online phone calls.&lt;br /&gt;
|-&lt;br /&gt;
|[[Lynx]] v2.8.7&lt;br /&gt;
|2011-02-28&lt;br /&gt;
|Mhaws (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,331 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1998-lynx-087/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Me TV]]&lt;br /&gt;
|2010-10-19&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - digital TV&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/metv.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56987-port-request-me-tv/page__p__921501&amp;amp;#entry921501 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Merkaartor]] 0.17.0&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/merkaartor.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56656-merkaartor-or-other-osm-editor/page__p__922345&amp;amp;#entry922345 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Midnightcommander]]&lt;br /&gt;
|2011-03-27&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,367 Archive]&lt;br /&gt;
|Discussion: [http://boards.openpandora.org/index.php?/topic/2621-midnightcommander/ OP] [http://www.gp32x.com/board/index.php?/topic/59103-midnightcommander/ GP32X]&lt;br /&gt;
|-&lt;br /&gt;
|[[Midori]] 0.3.3-1&lt;br /&gt;
|2011-04-05&lt;br /&gt;
|slaeshjag (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://stuffs.slaeshjag.org/midori-0.3.3-1.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59121-midori-0-3-3/ Discussion] Fixed version of Midori.&lt;br /&gt;
|-&lt;br /&gt;
|[[MilkyTracker]]&lt;br /&gt;
|2010-06-23&lt;br /&gt;
|Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,102 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/milkytracker.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57612-remember-the-only-2-keyboard-buttons-at-once-limitation/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Minitube]] 1.4.1.1&lt;br /&gt;
|2011-04-09&lt;br /&gt;
|Flavio Tordini, sebt3 (port)&lt;br /&gt;
|Network - Youtube client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/?f=minitube.pnd Download] [http://repo.openpandora.org/?page=detail&amp;amp;app=minitube Repo]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/55952-minitube-1-1/ v1.1] [http://www.gp32x.com/board/index.php?/topic/58183-minitube-1-3/ v1.3] [http://www.gp32x.com/board/index.php?/topic/57099-new-version-of-minitube-avaiable/page__view__findpost__p__946029 v1.4]. Youtube browser/player&lt;br /&gt;
|-&lt;br /&gt;
|[[mtPaint]]&lt;br /&gt;
|2010-07-27&amp;lt;br/&amp;gt;2010-12-29&lt;br /&gt;
|Mark Tyler, daniel3000 (port 1), chris_c (port 2)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/mtPaint.pnd/ Download (port 1)] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,263 Archive (port 2)]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55561-mtpaint-pnd-available/ Discussion]. For painting &amp;amp; pixel art. Ported twice.&lt;br /&gt;
|-&lt;br /&gt;
|[[MuPDF]]&lt;br /&gt;
|2011-04-13&lt;br /&gt;
|b3w (port)&lt;br /&gt;
|Office - PDF viewer&lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11994 Download]&lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11994 Discussion (German)].&lt;br /&gt;
|-&lt;br /&gt;
|[[Mutt]]&lt;br /&gt;
|2011-03-01&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Network - email client&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,334 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1964-mutt-links2-and-gcalctool/ Discussion]. Text-based.&lt;br /&gt;
|-&lt;br /&gt;
|[[MyPaint]]&lt;br /&gt;
|2011-02-27&lt;br /&gt;
|First (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://webusers.spa.umn.edu/~laurens/pnd/mypaint-0.9.0.pnd Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1817-mypaint-port/ Discussion]. [http://mypaint.intilinux.com/ Website]. Has pressure sensitivity.&lt;br /&gt;
|-&lt;br /&gt;
|[[ncmpcpp4P]] v0.5.7.0&lt;br /&gt;
|2011-03-01&lt;br /&gt;
|remogatto (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[https://github.com/downloads/remogatto/ncmpcpp4P/ncmpcpp4P_v0.5.7.0.pnd Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2032-ncmpcpp4p/ Discussion]. [http://unkart.ovh.org/ncmpcpp/ Website] ncurses-based music player&lt;br /&gt;
|-&lt;br /&gt;
|[[Netsurf]] 2.6&lt;br /&gt;
|2011-03-08&lt;br /&gt;
|slaeshjag(port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://stuffs.slaeshjag.org/netsurf.pnd Download]&lt;br /&gt;
|Discussion: [http://boards.openpandora.org/index.php?/topic/2129-netsurf/ OP] [http://www.gp32x.com/board/index.php?/topic/58913-netsurf-2-6/ GP32X] No SSL support&lt;br /&gt;
|-&lt;br /&gt;
|[[Nightvision]] 3.0&lt;br /&gt;
|2011-03-12&lt;br /&gt;
|F_Slim (port)&lt;br /&gt;
|Office - planetarium&lt;br /&gt;
|[http://www.slimpages.de/extern/nightvision.pnd.zip Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2299-nightvision-30/ Discussion] [http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11810 (German}]. Needs java.pnd installed. May not work in HF5&lt;br /&gt;
|-&lt;br /&gt;
|[[Ommpc]] v0.5.4&lt;br /&gt;
|2010-10-06&lt;br /&gt;
|Tim Temple&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,133 Archive]&lt;br /&gt;
|MPD client [http://www.gp32x.com/board/index.php?/topic/55039-ommpc-v0-5-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[OSM2Go]]&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osm2go.pnd Download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Osmo]] ('''beta''')&lt;br /&gt;
|2010-09-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - personal organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osmo.pnd Download]&lt;br /&gt;
|[http://clayo.org/osmo/ Website] [http://www.gp32x.com/board/index.php?/topic/56455-osmo/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[PanDebian]]&lt;br /&gt;
|2011-02-04&lt;br /&gt;
|Gregor&lt;br /&gt;
|System&lt;br /&gt;
|[http://codu.org/tmp/pandebian.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1474-pandebian/ Discussion]. [[Extend Utils]] alternative for Angstrom-Debian cooperation&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Fractals&lt;br /&gt;
|2010-08-26&lt;br /&gt;
|Or Green&lt;br /&gt;
|Graphics - fractals&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/PFractals.inf Apps]&lt;br /&gt;
|fractal generator. [http://www.gp32x.com/board/index.php?/topic/51402-mandelbrot-set-generator-for-pandora/page__st__75 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora SD Installer 1.2&lt;br /&gt;
|2011-03-19&lt;br /&gt;
|Dave1234&lt;br /&gt;
|System&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=337 Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2297-pandora-sd-installer/page__view__findpost__p__42772 Discussion]. Install Pandora OS to your SD card.&lt;br /&gt;
|-&lt;br /&gt;
|[[PanPlayer]] Beta 4&lt;br /&gt;
|2011-02-24&lt;br /&gt;
|JDGBOLT&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,114,298 Archive] [http://apps.openpandora.org/cgi-bin/viewapp.pl?/Application/PanPlayer.inf Apps]&lt;br /&gt;
|'''Needs Hotfix 5'''. [http://www.gp32x.com/board/index.php?/topic/58769-panplayer-beta/ Discussion]. Optimized mplayer build&lt;br /&gt;
|-&lt;br /&gt;
|[[Pencil]] 0.4.4b ('''beta''')&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - animation&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pencil.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57362-pencil/ Discussion]. 2D animation &amp;amp; drawing.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pepviewer]]&lt;br /&gt;
|2011-02-22&lt;br /&gt;
|Skadus (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.mediafire.com/?t0sop9wrj087e1t Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1869-pepviewer/ Discussion]. Ported from PSP.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pidgin]] 2.7.10&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - IM client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pidgin.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56898-pidgin/ Discussion]. This version no longer uses [[NAND]] to [http://www.gp32x.com/board/index.php?/topic/56898-pidgin/page__view__findpost__p__934658 store data].&lt;br /&gt;
|-&lt;br /&gt;
|[[PNDbuilder]] v1.1&lt;br /&gt;
|2011-02-22&lt;br /&gt;
|freedomdown (Ryan Dallaire)&lt;br /&gt;
|Development&lt;br /&gt;
|[http://www.freedomdown.ca/storage/pndb.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58587-pndbuilder/page__view__findpost__p__940230 Discussion]. Graphical PND maker.&lt;br /&gt;
|-&lt;br /&gt;
|PS3 Bluetooth Controller - Sixpair Utility&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|Jim Paris, Samson Yeung, AireTamStrm (port) &lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,4 Archive]&lt;br /&gt;
|Use a DualShock III Controller or SIXAXIS controller via USB&lt;br /&gt;
|-&lt;br /&gt;
|[[pnd_assoc]]&lt;br /&gt;
|2011-03-29&lt;br /&gt;
|Jey123456&lt;br /&gt;
|System&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=369 Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2634-pnd-assoc/ Discussion] Associate file types with PNDs&lt;br /&gt;
|-&lt;br /&gt;
|[[pnd_run.sh]] installer ('''beta''')&lt;br /&gt;
|2011-04-09&lt;br /&gt;
|sebt3&lt;br /&gt;
|System&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pnd_run_installer.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59113-pnd-run-sh/ Discussion]. Fix PND crashing errors since HF5.&lt;br /&gt;
|-&lt;br /&gt;
|[[pnd_utils]]&lt;br /&gt;
|2011-03-30&lt;br /&gt;
|Jey123456&lt;br /&gt;
|System&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=Pnd_Utils Repo]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2688-pnd-utils/ Discussion] Includes pnd_assoc and some other features.&lt;br /&gt;
|-&lt;br /&gt;
|[[PNDStore]] 0.2.2.0&lt;br /&gt;
|2011-04-13&lt;br /&gt;
|Tempel&lt;br /&gt;
|System - Application Downloader/Updater&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=pndstore Repo]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59148-pndstore/page__view__findpost__p__946289 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[PSFreedom]]&lt;br /&gt;
|2010-09-23&lt;br /&gt;
|Notaz (port)&lt;br /&gt;
|Other&lt;br /&gt;
|[http://pandorapress.net/gruso/psfreedom.ko Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56752-psfreedom-for-pandora/ Discussion]. Allows homebrew on your PS3.&lt;br /&gt;
|-&lt;br /&gt;
|[[qBittorrent]]&lt;br /&gt;
|2011-03-16&lt;br /&gt;
|Coldbird (port)&lt;br /&gt;
|Network - BitTorrent client&lt;br /&gt;
|[http://dl.dropbox.com/u/13011238/qbittorrent-1.3.3-pandora.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58993-qbittorrent/ GP32X] [http://boards.openpandora.org/index.php?/topic/2389-qbittorrent/page__gopid__41612#entry41612 OP]&lt;br /&gt;
|-&lt;br /&gt;
|[[qOrganizer]]&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qorganizer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,233 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57359-qorganizer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[QSynth &amp;amp; FluidSynth]] 0.3.5 ('''beta''')&lt;br /&gt;
|2011-03-18&lt;br /&gt;
|Kazuki (port)&lt;br /&gt;
|Audio - synthesizer&lt;br /&gt;
|[http://pandora.idb.s1.jcink.com/qsynth-0.3.5.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59011-porting-qsynth-fluidsynth-with-yactfeau/page__view__findpost__p__943670 Discussion] [http://qsynth.sourceforge.net/qsynth-index.html Website] {{HideableNotes|software synthesiser based on the Soundfont specification.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[QtSpotify]]&lt;br /&gt;
|2011-03-11&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - music streaming&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qtspotify.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58955-qtspotify/ Discussion]. Spotify client.&lt;br /&gt;
|-&lt;br /&gt;
|Quick Change CPU Speed&lt;br /&gt;
|2010-06-20&lt;br /&gt;
|Pleng&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/CPUSpeeds.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54583-quick-change-cpu-speeds/ Discussion]. Add CPU speed presets to your menu.&lt;br /&gt;
|-&lt;br /&gt;
|RAM Defragger 0.4.0&lt;br /&gt;
|2011-03-16&lt;br /&gt;
|Tobias 'knilch' Jordan&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,359 Archive]&lt;br /&gt;
|memory optimizer&lt;br /&gt;
|-&lt;br /&gt;
|[[Remmina]]&lt;br /&gt;
|2010-06-21&lt;br /&gt;
|mindlord (port)&lt;br /&gt;
|Network - VNC/RDP/XDMCP client&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,99 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/remmina.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54610-remmina-0-7-5/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rockbox]] 3.8.x.3 ('''beta''')&lt;br /&gt;
|2011-04-20&lt;br /&gt;
|Thomas Jarosch, froggyman (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=rockbox.thomasjfox.003 Repo] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,343 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2094-rockbox-as-an-app/page__view__findpost__p__51473 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[RText]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Fifesoft, Chrysipp (port)&lt;br /&gt;
|Development - text editor&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.157 Download]&lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10106%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhivaNHspNg4XSb4aOpjskxivvIRXw Discussion (German)]. Must have Java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Mod Player]]&lt;br /&gt;
|2010-06-10&lt;br /&gt;
|?&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.79 Download]&lt;br /&gt;
|Player for MOD and XM.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Tracker]]&lt;br /&gt;
|2010-06-19&lt;br /&gt;
|Storlek, Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,89 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/schismtracker.inf Apps]&lt;br /&gt;
|Clone of Impulse Tracker&lt;br /&gt;
|-&lt;br /&gt;
|[[Scientific Calculator]]&lt;br /&gt;
|2011-02-14&lt;br /&gt;
|Chrysipp (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://web.student.tuwien.ac.at/~e0725060/JavaScientificCalculator.pnd Download] &lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11714 Discussion (German)]. Must have Java.pnd installed. If you have trouble running it, try [http://boards.openpandora.org/index.php?/topic/673-java-pnd/page__view__findpost__p__51226 this].&lt;br /&gt;
|-&lt;br /&gt;
|[[Scite]] 2.21&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|urjaman (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://urjaman.dyndns.info/scite221.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57116-scite-2-21-ported/ Discussion]. Scintilla-based syntax highlighting text editor&lt;br /&gt;
|-&lt;br /&gt;
|Script Launcher&lt;br /&gt;
|2011-03-29&lt;br /&gt;
|meandu229&lt;br /&gt;
|System&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2640-script-launcher/ Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2640-script-launcher/ Discussion] script to launch .sh files&lt;br /&gt;
|-&lt;br /&gt;
|SD Card Speed Fix&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|mawler&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,88 Archive]&lt;br /&gt;
|improve SD writing speed, but risk data corruption if writing is interrupted&lt;br /&gt;
|-&lt;br /&gt;
|[[Seq24]] ('''beta''')&lt;br /&gt;
|2010-09-06&lt;br /&gt;
|Gruso (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://users.tpg.com.au/pw2007/seq24.beta1.pnd Download] [http://repo.openpandora.org/?page=detail&amp;amp;app=seq24-0.8.7-pandora Repo]&lt;br /&gt;
|MIDI sequencer. [http://www.gp32x.com/board/index.php?/topic/56517-seq24-midi-sequencer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SMPlayer]] 0.6.9-1&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|Ivanovic (port)&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,114,298 Archive] &lt;br /&gt;
|MPlayer frontend. [http://www.gp32x.com/board/index.php?/topic/58511-smplayer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SUPA]] 0.1-1 ('''beta''')&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Simple Updater for Pandora Applications&amp;lt;/small&amp;gt; &lt;br /&gt;
|2010-07-04&lt;br /&gt;
|Bryce Leo&lt;br /&gt;
|System - Application Downloader/Updater&lt;br /&gt;
|[http://drive.and-a-half.com/SUPA.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55023-supa-simple-updater-for-pandora-applications/ Discussion]. No GUI yet. PNDStore is probably better.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synergy]]&lt;br /&gt;
|2010-10-09&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|Network - VNC client&lt;br /&gt;
|[http://www.mediafire.com/?npdbkibd5bm5ckb Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56943-synergy-clientserver-as-pnd/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[Sxiv]]&lt;br /&gt;
|2011-04-13&lt;br /&gt;
|b3w (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://forum.gp2x.de/download/file.php?id=1088&amp;amp;sid=c7364ef00c1d355c4f22cd82b21dae0a Download]&lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11998 Discussion (German)].&lt;br /&gt;
|-&lt;br /&gt;
|[[TiMidity++]] 2.13.3 (player + Daemon loader)&lt;br /&gt;
|2011-03-21&lt;br /&gt;
|Gruso (port)&lt;br /&gt;
|Audio - MIDI&lt;br /&gt;
|[http://bunnitude.com/gruso/timidity-alsa-daemon.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/59041-timidity-2-13-2-port/ GP32X] [http://boards.openpandora.org/index.php?/topic/2450-timidity/ OP]. Must install Timidity MIDI Installer first. {{HideableNotes|This makes Timidity visible to sequencers as a device.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Timidity MIDI Installer]]&lt;br /&gt;
|2011-01-12&lt;br /&gt;
|sebt3&lt;br /&gt;
|Audio - MIDI&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/timidity_midi_installer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,273 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58173-midi-installer/ Discussion]. MIDI patches installer. {{HideableNotes|It will allow you to have music for games that use MIDI. There are 3 different sound-sample sets packing different levels of sound quality. Installs to [[NAND]], though you can put them on SD card and then it's less than 2k on NAND (2 2-line files).}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Transmission]]&lt;br /&gt;
|2010-09-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - BitTorrent client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/transmission.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,208 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56553-bit-torrent-client/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueCrypt]] ('''beta''')&lt;br /&gt;
|2011-02-12&amp;lt;br/&amp;gt;2010-07-18&lt;br /&gt;
|TJSomething (port)&amp;lt;br/&amp;gt;daniel3000 (old port)&lt;br /&gt;
|System - encryption&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,321 Archive] [http://www.hermocom.com/en/downloads/openpandora/TrueCrypt.pnd/ old version]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1763-truecrypt-port/ Discussion]. [http://www.gp32x.com/board/index.php?/topic/55347-truecrypt-pnd-ready-for-testing/ Discussion (old)].&lt;br /&gt;
|-&lt;br /&gt;
|TuxPaint (from &amp;quot;Tux4Kids&amp;quot;)&lt;br /&gt;
|2011-04-20&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=tux4kids-tux4kids-27407 Repo]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2990-tux4kids Discussion]. Part of &amp;quot;Tux4Kids&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[TV-Browser]] ('''beta''')&lt;br /&gt;
|2011-02-13&lt;br /&gt;
|chrysipp (port)&lt;br /&gt;
|Network - TV guide&lt;br /&gt;
|[http://web.student.tuwien.ac.at/~e0725060/TVBrowser.pnd Download] &lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11706 Discussion (German)]. [http://sourceforge.net/projects/tvbrowser/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|[[Unace]]&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UnRar]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UPX]] (The Ultimate Packer for eXecutables)&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Viewnior 1.1&lt;br /&gt;
|2011-02-26&lt;br /&gt;
|gruso (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://bunnitude.com/gruso/Viewnior.pnd Download] [http://repo.openpandora.org/?page=detail&amp;amp;app=viewnior-viewnior-15225 Repo]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55618-viewnior-pnd-available/page__view__findpost__p__940887 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Vim Gvim 7.2 ('''beta''')&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Discussion]. [http://www.vim.org/about.php About]. Not a PND.&lt;br /&gt;
|-&lt;br /&gt;
|[[VLC]] 1.1.0 ('''beta''')&lt;br /&gt;
|2010-10-12&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player (video &amp;amp; audio)&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/vlc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54922-vlc/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Wahcade]] Emulator Frontend b1 ('''beta''')&lt;br /&gt;
|2011-02-06&lt;br /&gt;
|Sigma (port)&lt;br /&gt;
|System - frontend&lt;br /&gt;
|[http://www.mediafire.com/?h8o33khvtcy3x8m Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1508-wahcade-frontend-beta1/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[Wbar]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - app launcher&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,338 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58858-wbar/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|WiFi &amp;quot;Another Test Wifi Driver&amp;quot; ('''Beta''')&lt;br /&gt;
|2011-03-05&lt;br /&gt;
|David, notaz&lt;br /&gt;
|System&lt;br /&gt;
|[http://notaz.gp2x.de/misc/pnd/wl1251-modules_1.0-r24.5_omap3-pandora.ipk Download] &lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58888-another-test-wifi-driver/ GP32X] [http://boards.openpandora.org/index.php?/topic/2151-another-test-wifi-driver/ OP]. HF5 only, not for use with HF6.&lt;br /&gt;
|-&lt;br /&gt;
|WiFi '''Beta test'''&lt;br /&gt;
|2010-11-05&lt;br /&gt;
|Evildragon&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.openpandora.org/downloads/WiFiBETA.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57364-wifi-betatest/ Discussion]. Might fix WiFi issues.&lt;br /&gt;
|-&lt;br /&gt;
|[[Worker]] 2.17.11&lt;br /&gt;
|2011-04-01&lt;br /&gt;
|mash (port)&lt;br /&gt;
|System - file manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,375 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2709-worker-21711/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Xarchiver]] 0.5.2&lt;br /&gt;
|2010-12-04&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,259 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57748-xarchiver/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Xbindkeys&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/xbindkeys-1.8.3_prebuild.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57037-xbindkeys-precompiled/ Discussion]. Configure hotkeys&lt;br /&gt;
|-&lt;br /&gt;
|[[XBMC]] 10.0 ('''beta''')&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xbmc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57106-xbmc-media-center/page__view__findpost__p__942955 Discussion]. Functions as &amp;quot;entertainment hub&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|XFE 1.32.1&lt;br /&gt;
|2010-07-20&lt;br /&gt;
|Maxim Baranov, Roland Baudin, packaged by sebt3&lt;br /&gt;
|System - file manager, packager&amp;lt;br/&amp;gt;Graphics - image viewer&amp;lt;br/&amp;gt;Office - notepad&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,163 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Xournal]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xournal.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56864-xournal/ Discussion]. Can annotate PDFs.&lt;br /&gt;
|-&lt;br /&gt;
|[[Zim]]&lt;br /&gt;
|2011-03-02&lt;br /&gt;
|Mindlord (port)&lt;br /&gt;
|Office - personal wiki&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,337 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58850-zim-the-desktop-wiki/page__view__getnewpost Discussion]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Operating systems===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Arch Linux&lt;br /&gt;
|2011-03-19&lt;br /&gt;
|wejp&lt;br /&gt;
|Full OS&lt;br /&gt;
|[http://wejp.k.vu/pandora/plugapps_linux_on_the_pandora_handheld Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59027-arch-linux-on-the-pandora/ Discussion] Using PlugApps, some libraries missing (like libpnd)&lt;br /&gt;
|-&lt;br /&gt;
|Debian (Squeeze)&lt;br /&gt;
|2011-04-09&lt;br /&gt;
|Stuckie&lt;br /&gt;
|Full OS&lt;br /&gt;
|[http://pandorawiki.org/Debian_On_SD#Debian_On_SD Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/page__view__findpost__p__945994 GP32X] [http://boards.openpandora.org/index.php?/topic/1819-debian-on-sd/page__view__findpost__p__48443 OP] &lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-09&lt;br /&gt;
|skeezix&lt;br /&gt;
|Launcher&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110209.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion] [http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/page__view__findpost__p__935861 Older versions]&lt;br /&gt;
|-&lt;br /&gt;
|Panorama ('''beta''')&lt;br /&gt;
|2011-04-19&lt;br /&gt;
|B-Zar&amp;lt;br/&amp;gt;dflemstr&lt;br /&gt;
|Launcher&lt;br /&gt;
|[http://repo.openpandora.org/?page=detail&amp;amp;app=bzar-panorama Repo]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/59231-panorama/page__view__findpost__p__946988 GP32X] [http://boards.openpandora.org/index.php?/topic/2979-panorama-alpha-preview/ OP]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Type explanation====&lt;br /&gt;
'''Full OS:''' It is a full desktop environment similar to the one your are used to on your PC. You usually get a X-based system with a window manager similar to the default one included in Xfce (meaning you can have multiple, drag-able windows, a task bar, etc.). This is what you would want for the full usability, but it often is slower in running games than a launcher as more tasks are running in the background.&lt;br /&gt;
&lt;br /&gt;
'''Launcher:''' A more simplistic and sleek interface you might know from handhelds like the Wiz or Nintendo DS. Functionality is limited (compared to a full OS) as you don't have a desktop and usually no file browser. It often cannot display multiple windows or programs at once, but uses less memory, might be faster and better suited if you only want to run a few PNDs.&lt;br /&gt;
&lt;br /&gt;
===Skins===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Basic Gray&lt;br /&gt;
|2010-11-25&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=506 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueFuture&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,239 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=434 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Executive&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,250 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928158 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Gray Is Sexy&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.liquidfists.com/files/grayissexy.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928315 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Midnight&lt;br /&gt;
|2010-06-17&lt;br /&gt;
|Trevsweb&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://trevsweb.com/pandainterface/midnight.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Newsprint&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/newsprint.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedDevil&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,248 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928099 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=433 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Toybox &amp;amp; Corporate (2 skins)&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=432 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Wasp&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,238 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphic engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[GLES]] ('''beta''')&lt;br /&gt;
|2010-09-02&lt;br /&gt;
|Farox (port)&lt;br /&gt;
|&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
===Demos/technical demos===&lt;br /&gt;
&lt;br /&gt;
==Unreleased software (&amp;quot;Projects Under Development&amp;quot;)==&lt;br /&gt;
This section includes both software that is actively being worked on, as well as ones that are or may be abandoned. The latter are included for historical purposes. &lt;br /&gt;
&lt;br /&gt;
===Operating systems===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Android Omap&lt;br /&gt;
|[http://elinux.org/Android_on_OMAP]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AROS Arm&lt;br /&gt;
|[http://projects.powerdeveloper.org/project/imx515/735]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Debian&lt;br /&gt;
|[http://debian.org] [http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/]&lt;br /&gt;
|working build&lt;br /&gt;
|Stuckie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|[http://wiki.freebsd.org/FreeBSD/arm/OMAP]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fedora ARM&lt;br /&gt;
|[http://fedoraproject.org/wiki/Architectures/ARM]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gentoo Linux&lt;br /&gt;
|[http://neuvoo.org] [http://vminko.org/gentoo_manuals/pandora]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|javaJake, Viridior, vminko&lt;br /&gt;
|IRC: (FreeNode) #gentoo-pandora&lt;br /&gt;
|-&lt;br /&gt;
|HaikuOS&lt;br /&gt;
|[http://www.haiku-os.org]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ohhie GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58320-video-ohhie-gui/]&lt;br /&gt;
|working build&lt;br /&gt;
|Pleng&lt;br /&gt;
|Last update: Jan. 2011&lt;br /&gt;
|-&lt;br /&gt;
|RISC&amp;amp;nbsp;OS&lt;br /&gt;
|[[RISC OS|Link]]&lt;br /&gt;
|wip&lt;br /&gt;
|Uwe Kall, Jeffrey Lee + others&lt;br /&gt;
|BeagleBoard port available for download and testing.&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu ARM&lt;br /&gt;
|[http://www.ubuntu.com/products/whatisubuntu/arm]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Xoo on ubuntu&lt;br /&gt;
|[[Xoo on ubuntu|Link]]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game Engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|OLA.G.E&lt;br /&gt;
|[http://sourceforge.net/projects/olage/]&lt;br /&gt;
|Wip&lt;br /&gt;
|neilae&lt;br /&gt;
|Game Engine with Authoring Tool for multiplatforms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphic Engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|GLES2D&lt;br /&gt;
|&lt;br /&gt;
|Wip&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|OpenGL ES 2D library&lt;br /&gt;
|-&lt;br /&gt;
|GL-WES-v2.0&lt;br /&gt;
|[http://code.google.com/p/gl-wes-v2/] &lt;br /&gt;
|Working Build&lt;br /&gt;
|Adventus&lt;br /&gt;
|Opensource OpenGL 2.0 driver built on OpenGL ES 2.0&lt;br /&gt;
|-&lt;br /&gt;
|Irrlicht&lt;br /&gt;
|[http://irrlicht.sourceforge.net/] [http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32538&amp;amp;start=45]&lt;br /&gt;
|working build&lt;br /&gt;
|Hybrid&lt;br /&gt;
|3D game engine&lt;br /&gt;
|-&lt;br /&gt;
|NSS Engine&lt;br /&gt;
|[http://www.nosiestastudios.com/wiki/] [http://www.youtube.com/user/Prompt84]&lt;br /&gt;
|&lt;br /&gt;
|No Siesta Studios&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OGRE Engine&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46706] [http://www.youtube.com/watch?v=LDtUE5PIhV0]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3D real-time renderer&lt;br /&gt;
|-&lt;br /&gt;
|Otaco Glost Engine&lt;br /&gt;
|[http://www.youtube.com/user/otacogloost], [http://www.gp32x.com/board/index.php?/topic/48393-i-did-stuff/page__p__736650&amp;amp;#entry736650]&lt;br /&gt;
|working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quad-Ren 2D&lt;br /&gt;
|[http://quad-ren.sourceforge.net/index.php]&lt;br /&gt;
|Working&lt;br /&gt;
|Hessiess&lt;br /&gt;
|Version 0.5 &lt;br /&gt;
|-&lt;br /&gt;
|SDL GLES&lt;br /&gt;
|[http://github.com/Cpasjuste/sdl-1.2.13_gles/tree]&lt;br /&gt;
|working&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XreaL&lt;br /&gt;
|[http://xreal.sourceforge.net/xrealwiki/]&lt;br /&gt;
|&lt;br /&gt;
|Pickle&lt;br /&gt;
|No longer being worked on. [http://www.gp32x.com/board/index.php?/topic/55173-xreal-patch-question/]&lt;br /&gt;
|-&lt;br /&gt;
|Stratagus&lt;br /&gt;
|[http://stratagus.sourceforge.net/]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|RTS Engine&lt;br /&gt;
|-&lt;br /&gt;
|WakeBreaker&lt;br /&gt;
|[http://w1xer.at/pandora/]&lt;br /&gt;
|working codebase - can be compiled onboard&lt;br /&gt;
|torpor&lt;br /&gt;
|Working C++ codebase to implement a 3D game using nothing more than OpenGLES 1.1 .. can even be built *on* the Pandora, with nothing more than the onboard compiler. WakeBreaker contains everything you need to get started writing a 3D game in C++ with OpenGL ES - no further libraries required. Its an excellent example of how to write a 3D game in plain, easy to understand C++ and can serve as a working base for your own developments, easily enough.&lt;br /&gt;
|}&lt;br /&gt;
===Other programs===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Inside The Box&lt;br /&gt;
|[http://www.openpandora.pl broken] [http://www.youtube.com/watch?v=uLMmJBDEs2E broken]&lt;br /&gt;
|wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Pandora e-zine&lt;br /&gt;
|-&lt;br /&gt;
|Math-NEON&lt;br /&gt;
|[http://code.google.com/p/math-neon/]&lt;br /&gt;
|Wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|cmath like library optimized for ARM NEON coprocessor&lt;br /&gt;
|-&lt;br /&gt;
|MythTVPlayer&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/52882-mythtvplayer/]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Media center + TV/DV recording&lt;br /&gt;
|-&lt;br /&gt;
|Pandaphone&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48327-pandaphone/]&lt;br /&gt;
|&lt;br /&gt;
|jb0yx&lt;br /&gt;
|project to incorporate the Open Pandora handheld device with cell phone technology&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Sync Suite&lt;br /&gt;
|[http://www.openpandora.pl broken]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|Pangea GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=45631&amp;amp;hl=pangea]&lt;br /&gt;
|WIP&lt;br /&gt;
|efegea&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|PDM&lt;br /&gt;
|[http://github.com/Cpasjuste/pdm/tree]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Light desktop manager for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PGui&lt;br /&gt;
|[http://github.com/Cpasjuste/pgui/tree]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Standard emulator fronted for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PMenu&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PND Builder for windows&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/47088-pnd-builder-for-windows/]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Qemu&lt;br /&gt;
|[http://wiki.qemu.org/]&lt;br /&gt;
|testing build&lt;br /&gt;
|Fabrice Bellard&lt;br /&gt;
|open source machine emulator and virtualizer&lt;br /&gt;
|-&lt;br /&gt;
|Scale&lt;br /&gt;
|[http://www.youtube.com/user/Zoxc64]&lt;br /&gt;
|wip&lt;br /&gt;
|Zoxc64&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Simple Dev Studio for Pandora&lt;br /&gt;
|[http://www.openpandora.pl broken]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Application stack for multiplayer internet games&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Demos / Technical Demos for OpenPandora===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Cell Shading&lt;br /&gt;
|[http://www.youtube.com/watch?v=cpAj0jHglGw]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Demo with MP3 Playback&lt;br /&gt;
|[http://www.youtube.com/watch?v=hkx18kruRJs]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Skull Demo&lt;br /&gt;
|[http://www.youtube.com/watch?v=qG7EDaZpyOo]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WaveDemo&lt;br /&gt;
|[http://www.youtube.com/watch?v=4wgEHFCq9Lo]&lt;br /&gt;
|Working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://sebt3.openpandora.org/pnd/ Releases by sebt3]&lt;br /&gt;
*[http://www.hermocom.com/en/downloads/openpandora/ Releases by Hermocom]&lt;br /&gt;
*[http://rebirthofxeen.com/files/pandora/ Releases by WizardStan]&lt;br /&gt;
*[http://www.stuckiegamez.co.uk/apps/pandora/ Releases by Stuckie]&lt;br /&gt;
*[http://www.pandorasource.de/download.php PandoraSource.de downloads] - German Pandora download site&lt;br /&gt;
&lt;br /&gt;
===Forums===&lt;br /&gt;
The following community forums are checked when updating this page:&lt;br /&gt;
*From GP32X: [http://www.gp32x.com/board/index.php?/forum/63-news-zone-pandora/ News Zone], [http://www.gp32x.com/board/index.php?/forum/71-beta-testing-pandora/ Beta Testing] and [http://www.gp32x.com/board/index.php?/forum/64-developers-corner-pandora/ Developer's Corner]&lt;br /&gt;
*From OP: [http://boards.openpandora.org/index.php?/forum/26-software-news/ Software News] and [http://boards.openpandora.org/index.php?/forum/10-beta-testing/ Beta Testing]&lt;br /&gt;
*From GP2X.de: [http://forum.gp2x.de/viewforum.php?f=24 News] and [http://forum.gp2x.de/viewforum.php?f=59 Betatest]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:List]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Ideas and proposals]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7991</id>
		<title>Talk:Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7991"/>
		<updated>2011-04-24T11:19:24Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: New release should be a bit clearer and sort out the madness of the page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have no idea what Ambox is, but it has absolutely nothing to do with Extend Utils.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wrote Extend Utils myself last year, and I have never heard of this &amp;quot;Ambox&amp;quot; thing till it was tagged onto this page, which incidentally IS documentation for the Extend Utils suite.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to make random edits like that, it's actually somewhat courteous to let the original author know before doing so.. just because it's a Wiki doesn't mean you should just go about and edit as you please. [[User:Stuckie|stuckie]] 21:06, 22 April 2011 (MEST)&lt;br /&gt;
:Sorry it wasn't my intention to annoy anybody Stuckie :( [[:template:Ambox]] is to create this nitty small hint boxes. In this case I used it to mark that we might think about splitting up this page, cause to me it seemed to be a bit to much. --[[User:ABC|ABC]] 00:16, 23 April 2011 (MEST)&lt;br /&gt;
:: Ah it's a template.. wasn't quite aware of that. Apologies for being a bit snippy; work has been a bit hectic and I'm probably a bit overstressed just now! Just saw lots of my pages get changed without much indication as to what was going on or why and had a slight knee-jerk reaction! In future, please post in the comments what it is you're doing, or check with me in advance if it's one of my pages as I tend to have mass edits offline to push up when I've got a release ready ;)  As for splitting the page - the whole thing is documentation for Extend Utils which is itself a rather large and complex set of scripts, so not sure how you'd want to split it up. What would you suggest? [[User:Stuckie|stuckie]] 00:25, 23 April 2011 (MEST)&lt;br /&gt;
&lt;br /&gt;
Stuckie, are you sure that &amp;quot;OS extends&amp;quot; is a subsection of &amp;quot;bug reports&amp;quot;? Granted I know nothing, but that seems like it might be wrong. [[User:Esn|Esn]] 07:10, 23 April 2011 (MEST)&lt;br /&gt;
:Fixed.. not sure how I never noticed that.. those were describing available files, so I must've added Bug Reports at some point and mucked the ordering up - probably from being annoyed at people going &amp;quot;It's broken&amp;quot; and that being their entire bug report! [[User:Stuckie|stuckie]] 11:08, 23 April 2011 (MEST)&lt;br /&gt;
What I miss is a more general Overview for people not familar with Pandora or OS layers in general. And I would prefer a more neutral style ( no 'me', and focused/ordered more on usage not development). What does the others say? --[[User:ABC|ABC]] 14:05, 23 April 2011 (MEST)&lt;br /&gt;
:Not quite sure what you're wanting here... Extend Utils really isn't for use by everyone ( it's still under &amp;quot;Dodgy Hack&amp;quot; status, has a rather hostile &amp;quot;GUI&amp;quot; if you can even call a bunch of Zenity scripts a GUI, and can sometimes fail to mount things without telling you ) a fact compounded in that I haven't pushed it to any app repository ( and it definitely better not be in any of them. )  An overview of the Pandora OS doesn't have much to do with Extend Utils - it's just a set of scripts for using loopback files and mounting them in special ways.  The documentation is also focused more on development as that's generally what it's aimed at; it's not stable enough for general use in my opinion, and was written specifically for myself to aid development on the Pandora itself, with the documentation here being more pointers to help others use it. I sadly don't have much free time to work on stuff, and would rather work on the applications themselves than documentation, so I'll write the documentation up quickly in this style to get something up - which has to be better than nothing, right? Feel free to rewrite it if you want, but I'd ask you to email me the results first, before pushing it on the page, so I can check it. [[User:Stuckie|stuckie]] 14:33, 23 April 2011 (MEST)&lt;br /&gt;
::Well ATM I'm not that expereienced to contribute to such a advanced topic. This was just my suggestion to point out some details of the topic to anybody that visits this page :) --[[User:ABC|ABC]] 19:51, 23 April 2011 (MEST)&lt;br /&gt;
:::I'm sortof working on another Extend Utils feature, then it's onto an actual GUI-based application, so that should help sort things out a bit better.. for now, this documentation page is probably a bit too invaluable as it stands as it's the only guide/tutorial/documentation/thing for Extend Utils. [[User:Stuckie|stuckie]] 13:19, 24 April 2011 (MEST)&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7931</id>
		<title>Talk:Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7931"/>
		<updated>2011-04-23T12:33:47Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Styling/Usage reply&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have no idea what Ambox is, but it has absolutely nothing to do with Extend Utils.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wrote Extend Utils myself last year, and I have never heard of this &amp;quot;Ambox&amp;quot; thing till it was tagged onto this page, which incidentally IS documentation for the Extend Utils suite.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to make random edits like that, it's actually somewhat courteous to let the original author know before doing so.. just because it's a Wiki doesn't mean you should just go about and edit as you please. [[User:Stuckie|stuckie]] 21:06, 22 April 2011 (MEST)&lt;br /&gt;
:Sorry it wasn't my intention to annoy anybody Stuckie :( [[:template:Ambox]] is to create this nitty small hint boxes. In this case I used it to mark that we might think about splitting up this page, cause to me it seemed to be a bit to much. --[[User:ABC|ABC]] 00:16, 23 April 2011 (MEST)&lt;br /&gt;
:: Ah it's a template.. wasn't quite aware of that. Apologies for being a bit snippy; work has been a bit hectic and I'm probably a bit overstressed just now! Just saw lots of my pages get changed without much indication as to what was going on or why and had a slight knee-jerk reaction! In future, please post in the comments what it is you're doing, or check with me in advance if it's one of my pages as I tend to have mass edits offline to push up when I've got a release ready ;)  As for splitting the page - the whole thing is documentation for Extend Utils which is itself a rather large and complex set of scripts, so not sure how you'd want to split it up. What would you suggest? [[User:Stuckie|stuckie]] 00:25, 23 April 2011 (MEST)&lt;br /&gt;
&lt;br /&gt;
Stuckie, are you sure that &amp;quot;OS extends&amp;quot; is a subsection of &amp;quot;bug reports&amp;quot;? Granted I know nothing, but that seems like it might be wrong. [[User:Esn|Esn]] 07:10, 23 April 2011 (MEST)&lt;br /&gt;
:Fixed.. not sure how I never noticed that.. those were describing available files, so I must've added Bug Reports at some point and mucked the ordering up - probably from being annoyed at people going &amp;quot;It's broken&amp;quot; and that being their entire bug report! [[User:Stuckie|stuckie]] 11:08, 23 April 2011 (MEST)&lt;br /&gt;
What I miss is a more general Overview for people not familar with Pandora or OS layers in general. And I would prefer a more neutral style ( no 'me', and focused/ordered more on usage not development). What does the others say? --[[User:ABC|ABC]] 14:05, 23 April 2011 (MEST)&lt;br /&gt;
:Not quite sure what you're wanting here... Extend Utils really isn't for use by everyone ( it's still under &amp;quot;Dodgy Hack&amp;quot; status, has a rather hostile &amp;quot;GUI&amp;quot; if you can even call a bunch of Zenity scripts a GUI, and can sometimes fail to mount things without telling you ) a fact compounded in that I haven't pushed it to any app repository ( and it definitely better not be in any of them. )  An overview of the Pandora OS doesn't have much to do with Extend Utils - it's just a set of scripts for using loopback files and mounting them in special ways.  The documentation is also focused more on development as that's generally what it's aimed at; it's not stable enough for general use in my opinion, and was written specifically for myself to aid development on the Pandora itself, with the documentation here being more pointers to help others use it. I sadly don't have much free time to work on stuff, and would rather work on the applications themselves than documentation, so I'll write the documentation up quickly in this style to get something up - which has to be better than nothing, right? Feel free to rewrite it if you want, but I'd ask you to email me the results first, before pushing it on the page, so I can check it. [[User:Stuckie|stuckie]] 14:33, 23 April 2011 (MEST)&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7922</id>
		<title>Talk:Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7922"/>
		<updated>2011-04-23T09:08:05Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Bug Report/Available File swappage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have no idea what Ambox is, but it has absolutely nothing to do with Extend Utils.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wrote Extend Utils myself last year, and I have never heard of this &amp;quot;Ambox&amp;quot; thing till it was tagged onto this page, which incidentally IS documentation for the Extend Utils suite.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to make random edits like that, it's actually somewhat courteous to let the original author know before doing so.. just because it's a Wiki doesn't mean you should just go about and edit as you please. [[User:Stuckie|stuckie]] 21:06, 22 April 2011 (MEST)&lt;br /&gt;
:Sorry it wasn't my intention to annoy anybody Stuckie :( [[:template:Ambox]] is to create this nitty small hint boxes. In this case I used it to mark that we might think about splitting up this page, cause to me it seemed to be a bit to much. --[[User:ABC|ABC]] 00:16, 23 April 2011 (MEST)&lt;br /&gt;
:: Ah it's a template.. wasn't quite aware of that. Apologies for being a bit snippy; work has been a bit hectic and I'm probably a bit overstressed just now! Just saw lots of my pages get changed without much indication as to what was going on or why and had a slight knee-jerk reaction! In future, please post in the comments what it is you're doing, or check with me in advance if it's one of my pages as I tend to have mass edits offline to push up when I've got a release ready ;)  As for splitting the page - the whole thing is documentation for Extend Utils which is itself a rather large and complex set of scripts, so not sure how you'd want to split it up. What would you suggest? [[User:Stuckie|stuckie]] 00:25, 23 April 2011 (MEST)&lt;br /&gt;
&lt;br /&gt;
Stuckie, are you sure that &amp;quot;OS extends&amp;quot; is a subsection of &amp;quot;bug reports&amp;quot;? Granted I know nothing, but that seems like it might be wrong. [[User:Esn|Esn]] 07:10, 23 April 2011 (MEST)&lt;br /&gt;
:Fixed.. not sure how I never noticed that.. those were describing available files, so I must've added Bug Reports at some point and mucked the ordering up - probably from being annoyed at people going &amp;quot;It's broken&amp;quot; and that being their entire bug report! [[User:Stuckie|stuckie]] 11:08, 23 April 2011 (MEST)&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=7921</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=7921"/>
		<updated>2011-04-23T09:06:23Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Swapping Bug Reports and Available Files around.. not sure how I've never noticed that!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
[[Extend Utils]] provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Bug Reports =&lt;br /&gt;
In order for a bug report to be useful, I need the following information from you:&amp;lt;br /&amp;gt;&lt;br /&gt;
Output from &amp;quot;dmesg | tail&amp;quot;, &amp;quot;mount&amp;quot; and your preMount script.&amp;lt;br /&amp;gt;&lt;br /&gt;
A description of the error.&lt;br /&gt;
&lt;br /&gt;
Just PM me them on the GP32X boards, or post in the relevant threads - Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the Simple Dev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For those that prefer the &amp;quot;classic&amp;quot; version which doesn't have as much options available to it, you can grab that here:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/OldExtendUtils.pnd Classic Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in New Extend Utils, but are available here as well as they're just loop files and can therefore be used with other things:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
The last Dev Extend is very very old and may not work on recent firmwares.&amp;lt;br /&amp;gt;&lt;br /&gt;
A newer one is in progress as of 24th Feb 2011.&lt;br /&gt;
&lt;br /&gt;
=== Old Releases ===&lt;br /&gt;
The current release of the Dev Extend is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.20thJune2010.zip Dev Extend - 20th June 2010]&lt;br /&gt;
&lt;br /&gt;
The original release is here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.18thJune2010.zip Dev Extend - 18th June 2010]&lt;br /&gt;
&lt;br /&gt;
Upgrade functionality is being worked on.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
New &amp;quot;Current&amp;quot; Release&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic-compressed.7z ~250mb Compressed Debian Sid 28th July 2010 with Synaptic]&lt;br /&gt;
&lt;br /&gt;
Alternatively, check the [[Debian On SD]] project for booting Debian directly from SD card.&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
None, yet.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
Ubuntu is now officially 100% not supported. Upstart is an arse.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available ( see Files above )&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts exist, and an &amp;quot;official&amp;quot; compressed version of Sid with Synaptic.&lt;br /&gt;
See Files above.&lt;br /&gt;
&lt;br /&gt;
See [[Debian On SD]] for a better solution ( Debian booting from SD ) for the moment.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu caused a great deal of stress and hacking about to get it to work in any shape or form - this is mostly due to Upstart.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eventually, only Jaunty was able to be loadable much.&amp;lt;br /&amp;gt;&lt;br /&gt;
With the recent progres with [[Debian On SD]] I think that Ubuntu is a lost cause, so I'm removing all Ubuntu files from my server as they were utterly hacky to begin with.&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, a Dev Extend hasn't been released for a while, and may currently BREAK some applications on the Pandora with the latest hot fix releases.. use with caution, or create an Overlay and install dev tools into that ( which is effectively all a Dev Extend is. )&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Filesystem]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7884</id>
		<title>Talk:Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7884"/>
		<updated>2011-04-22T22:25:57Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Apologies for being snippy!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have no idea what Ambox is, but it has absolutely nothing to do with Extend Utils.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wrote Extend Utils myself last year, and I have never heard of this &amp;quot;Ambox&amp;quot; thing till it was tagged onto this page, which incidentally IS documentation for the Extend Utils suite.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to make random edits like that, it's actually somewhat courteous to let the original author know before doing so.. just because it's a Wiki doesn't mean you should just go about and edit as you please. [[User:Stuckie|stuckie]] 21:06, 22 April 2011 (MEST)&lt;br /&gt;
:Sorry it wasn't my intention to annoy anybody Stuckie :( [[:template:Ambox]] is to create this nitty small hint boxes. In this case I used it to mark that we might think about splitting up this page, cause to me it seemed to be a bit to much. --[[User:ABC|ABC]] 00:16, 23 April 2011 (MEST)&lt;br /&gt;
:: Ah it's a template.. wasn't quite aware of that. Apologies for being a bit snippy; work has been a bit hectic and I'm probably a bit overstressed just now! Just saw lots of my pages get changed without much indication as to what was going on or why and had a slight knee-jerk reaction! In future, please post in the comments what it is you're doing, or check with me in advance if it's one of my pages as I tend to have mass edits offline to push up when I've got a release ready ;)  As for splitting the page - the whole thing is documentation for Extend Utils which is itself a rather large and complex set of scripts, so not sure how you'd want to split it up. What would you suggest? [[User:Stuckie|stuckie]] 00:25, 23 April 2011 (MEST)&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7876</id>
		<title>Talk:Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Talk:Extend_Utils&amp;diff=7876"/>
		<updated>2011-04-22T19:06:15Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Expressing my annoyance over this &amp;quot;ambox&amp;quot; thing being tagged on without anyone contacting me about it beforehand.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have no idea what Ambox is, but it has absolutely nothing to do with Extend Utils.&amp;lt;br /&amp;gt;&lt;br /&gt;
I wrote Extend Utils myself last year, and I have never heard of this &amp;quot;Ambox&amp;quot; thing till it was tagged onto this page, which incidentally IS documentation for the Extend Utils suite.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to make random edits like that, it's actually somewhat courteous to let the original author know before doing so.. just because it's a Wiki doesn't mean you should just go about and edit as you please. [[User:Stuckie|stuckie]] 21:06, 22 April 2011 (MEST)&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=7874</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=7874"/>
		<updated>2011-04-22T19:01:07Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Removing random nonsense that has got NOTHING to do with Extend Utils, and adding the Documentation tag back. If you have an issue, you talk to the original author, not just randomly start messing...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
[[Extend Utils]] provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the Simple Dev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For those that prefer the &amp;quot;classic&amp;quot; version which doesn't have as much options available to it, you can grab that here:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/OldExtendUtils.pnd Classic Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Bug Reports =&lt;br /&gt;
In order for a bug report to be useful, I need the following information from you:&amp;lt;br /&amp;gt;&lt;br /&gt;
Output from &amp;quot;dmesg | tail&amp;quot;, &amp;quot;mount&amp;quot; and your preMount script.&amp;lt;br /&amp;gt;&lt;br /&gt;
A description of the error.&lt;br /&gt;
&lt;br /&gt;
Just PM me them on the GP32X boards, or post in the relevant threads - Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in New Extend Utils, but are available here as well as they're just loop files and can therefore be used with other things:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
The last Dev Extend is very very old and may not work on recent firmwares.&amp;lt;br /&amp;gt;&lt;br /&gt;
A newer one is in progress as of 24th Feb 2011.&lt;br /&gt;
&lt;br /&gt;
=== Old Releases ===&lt;br /&gt;
The current release of the Dev Extend is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.20thJune2010.zip Dev Extend - 20th June 2010]&lt;br /&gt;
&lt;br /&gt;
The original release is here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.18thJune2010.zip Dev Extend - 18th June 2010]&lt;br /&gt;
&lt;br /&gt;
Upgrade functionality is being worked on.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
New &amp;quot;Current&amp;quot; Release&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic-compressed.7z ~250mb Compressed Debian Sid 28th July 2010 with Synaptic]&lt;br /&gt;
&lt;br /&gt;
Alternatively, check the [[Debian On SD]] project for booting Debian directly from SD card.&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
None, yet.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
Ubuntu is now officially 100% not supported. Upstart is an arse.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available ( see Files above )&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts exist, and an &amp;quot;official&amp;quot; compressed version of Sid with Synaptic.&lt;br /&gt;
See Files above.&lt;br /&gt;
&lt;br /&gt;
See [[Debian On SD]] for a better solution ( Debian booting from SD ) for the moment.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu caused a great deal of stress and hacking about to get it to work in any shape or form - this is mostly due to Upstart.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eventually, only Jaunty was able to be loadable much.&amp;lt;br /&amp;gt;&lt;br /&gt;
With the recent progres with [[Debian On SD]] I think that Ubuntu is a lost cause, so I'm removing all Ubuntu files from my server as they were utterly hacky to begin with.&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, a Dev Extend hasn't been released for a while, and may currently BREAK some applications on the Pandora with the latest hot fix releases.. use with caution, or create an Overlay and install dev tools into that ( which is effectively all a Dev Extend is. )&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Filesystem]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=User:Stuckie&amp;diff=7871</id>
		<title>User:Stuckie</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=User:Stuckie&amp;diff=7871"/>
		<updated>2011-04-22T18:51:44Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Moving Bennu to &amp;quot;possibly&amp;quot; maintained due to recent release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I do scary dodgy hacks ;)&lt;br /&gt;
&lt;br /&gt;
Homesite: [http://www.stuckiegamez.co.uk stuckieGAMEZ]&lt;br /&gt;
&lt;br /&gt;
= Scary Hacks =&lt;br /&gt;
== Extend Utils ==&lt;br /&gt;
[[Extend Utils]] - The Extend Utils suite which allows loading of loop files for swap, overlays and OS extensions.&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debian on SD ==&lt;br /&gt;
[[Debian On SD]] - OS project to get Debian running on Pandora via SD card; maintaining all Debian and Pandora features.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Projects =&lt;br /&gt;
== GLESGAE ==&lt;br /&gt;
[[GLESGAE]] - GL ES Game Application Engine; an engine originally written for Pandora to aid in GL ES programming and porting to other capable devices.&amp;lt;br /&amp;gt;&lt;br /&gt;
Not released as yet.&lt;br /&gt;
&lt;br /&gt;
= (Possibly) Maintained Ports =&lt;br /&gt;
== Bennu ==&lt;br /&gt;
* Recent version available for beta testing as of 20th April 2011&lt;br /&gt;
&lt;br /&gt;
= Unmaintained Ports =&lt;br /&gt;
Unmaintained in the sense that, they've been released and work as far as I'm aware.. unless someone shouts at me otherwise, they'll stay that way!&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm also not directly keeping an eye on the original package for updates.&lt;br /&gt;
== MAXR ==&lt;br /&gt;
* Technically, this does work completely as intended as they only have multi-player running, and no single player.&lt;br /&gt;
* Might be tempted to upgrade it at some point if there's interest, and there's been an update since.&lt;br /&gt;
&lt;br /&gt;
== MilkyTracker ==&lt;br /&gt;
* There was a bug report that an HF5 beta had issues with it... will test again once HF5 is final.&lt;br /&gt;
&lt;br /&gt;
== SchismTracker ==&lt;br /&gt;
* Had no bug reports from it, I assume it's fine.&lt;br /&gt;
&lt;br /&gt;
== gMPC ==&lt;br /&gt;
* There's a much better port than the one I quickly put together.&lt;br /&gt;
&lt;br /&gt;
== gimp ==&lt;br /&gt;
* Very very quick and hacky port... really needs a rebuild properly - which sebt3 has done, use his instead!&lt;br /&gt;
&lt;br /&gt;
= Package Site =&lt;br /&gt;
My packages can usually be found on http://www.stuckiegamez.co.uk/apps/pandora .. if linking to this, I'm &amp;quot;stuckie&amp;quot; not &amp;quot;stuckieGAMEZ&amp;quot; or any variation of!&lt;br /&gt;
&lt;br /&gt;
= Contact Details =&lt;br /&gt;
Can be found in irc mostly... PM me if you don't get a response in a timely fashion, and I'll contact you when I'm around.&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=7385</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=7385"/>
		<updated>2011-04-10T22:55:49Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding link to Shader Based Contexts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm hoping to try and get this into a weekly series parts as time permits.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
* [[GLESGAE:Shader Based Contexts]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Documentation]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7380</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7380"/>
		<updated>2011-04-10T13:49:50Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Release 1.0.5 */ more info on the sneaky bug fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
I'm going to split this into three chunks now... standard Desktop Debian on SD using Squeeze/Lenny/Sid ( choose your poison, though only Squeeze is officially tested to work by myself, ) Emdebian GRIP install, and NAND install.&lt;br /&gt;
&lt;br /&gt;
You can post feedback, bugs, etc.. on the following topics:&lt;br /&gt;
GP32X: http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/&lt;br /&gt;
OpenPandora Boards: http://boards.openpandora.org/index.php?/topic/1819-debian-on-sd/&lt;br /&gt;
&lt;br /&gt;
I'd prefer the GP32X boards as I'm slightly more active there.&lt;br /&gt;
&lt;br /&gt;
= Little Note to Wiki Editors =&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Desktop Debian ==&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 and 1.0.4 &amp;quot;brute force&amp;quot; releases. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full builds are: &lt;br /&gt;
* LXDE - http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.4-grip.tar.bz2&lt;br /&gt;
* XFCE - http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.5-grip.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2/3 formatted SD card.&amp;lt;br /&amp;gt;&lt;br /&gt;
For example: '''''tar -xvjpf pandora-squeeze*.tar.bz2 -C /media/sdcard .'''''&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
=== Changelog ===&lt;br /&gt;
==== Original Proof of Concept ====&lt;br /&gt;
* Released - 19th October 2010&lt;br /&gt;
* Based on Sid&lt;br /&gt;
* GDM&lt;br /&gt;
* GNOME&lt;br /&gt;
* Bit slow but workable&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0 ====&lt;br /&gt;
* Released - 20th February 2011&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.1 ====&lt;br /&gt;
* Released - 23rd February 2011&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.2 ====&lt;br /&gt;
* Released - 22nd March 2011&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.3 ====&lt;br /&gt;
* Released - 27th March 2011&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.4 ====&lt;br /&gt;
* Released - 4th April 2011&lt;br /&gt;
* 1.0.3 with lots of bugs fixed and based on Grip so it's got even more and super tiny in comparision.&lt;br /&gt;
* Contains; LXDE, GDM, Gnome MPlayer, IceWeasel ( firefox ) and Synaptic&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.5 ====&lt;br /&gt;
* Released - 9th April 2011&lt;br /&gt;
* 1.0.4 with XFCE instead of LXDE and a few bug fixes ( pandora-state's rc scripts being set correctly, and console key map .. see the relevant bits below if you need them, but other than that, it's exactly the same - just with XFCE instead of LXDE )&lt;br /&gt;
&lt;br /&gt;
=== Release 1.1 Proposed ===&lt;br /&gt;
* Expected - May 2011 ( maybe )&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
== Building From Scratch ==&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
=== Getting a Minimal Install from Scratch ===&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
==== Linux PC ====&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
==== Pandora ====&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Setting up Apt ===&lt;br /&gt;
I've forgotten about this, as mostly it'll be set to the default Debian repository, but should you want to change it: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/apt/sources.list'''''&lt;br /&gt;
&lt;br /&gt;
UK people can set this to ''deb ftp://ftp.uk.debian.org/debian main non-free contrib'' to get pretty much everything, or can pick whichever local Debian repository they like - but be warned that not all of them have an armel repo!&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, debootstrap will likely only get main.. adding the non-free and contrib branches are optional, but bring in more stuff.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Environment ===&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
=== Device Drivers and PNDs ===&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
==== X Display Driver ====&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
==== SGX Drivers ====&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
===== Libraries =====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
===== Demos/SDK =====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
==== Keymap ====&lt;br /&gt;
The keymap is actually stupidly easy, and I've missed how easy it is for quite a while now!&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
1.0.4 is again different, and doesn't HUP pndnotifyd at all as it seemed to work without much issue just by starting the service differently, also, due to use of GDM, we do the xmodmap at GDM's startup instead in the following manner: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/gdm/Init/\:0''''' - the \ is needed to use : as a character!&amp;lt;br /&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183&lt;br /&gt;
 xmodmap /etc/skel/.pndXmodmap&lt;br /&gt;
 loadkeys /etc/keymap-extension-2.6.map&lt;br /&gt;
&lt;br /&gt;
The xinput line is for the evdev touchscreen configuration, if this is wrong, please run '''xinput_calibrator''' from a Terminal, and replace the line with what it gives you!&lt;br /&gt;
&lt;br /&gt;
The loadkeys line also ensures that the console gets the correct keymap as well.&lt;br /&gt;
&lt;br /&gt;
Thanks to chris_c for the GDM init hint, and mcobit for the loadkeys hint!&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nubs ====&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
==== Touchscreen ====&lt;br /&gt;
===== Current 1.0.2/3 Release =====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
This is already done on 1.0.4 and xinput_calibrator is included should you need to re-run it.&lt;br /&gt;
&lt;br /&gt;
===== libts for other releases =====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
==== Kernel and Misc Bits and Pieces ====&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things ====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
==== PNDs ====&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set.&lt;br /&gt;
===== Script Fixups =====&lt;br /&gt;
We need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pndnotifyd-init, pndevmapperd-init and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&amp;lt;br /&amp;gt;&lt;br /&gt;
The update-rc.d program will shout at you which ones, and essentially, it's just some tidying up that needs done.&lt;br /&gt;
&lt;br /&gt;
It's now recommended to use update-rc.d to put these in rather than the old heavy handed ln calls:&lt;br /&gt;
 update-rc.d led-config defaults 05&lt;br /&gt;
 update-rc.d pndevmapperd-init defaults 30 40&lt;br /&gt;
 update-rc.d pndnotifyd-init defaults 30 40&lt;br /&gt;
 update-rc.d pandora-state defaults 05&lt;br /&gt;
&lt;br /&gt;
The pandora-state is different on Angstrom than Debian as it didn't start up with it's usual bindings, which was annoying!&lt;br /&gt;
&lt;br /&gt;
=== Users and Permissions ===&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
You'll also need to do the above for every new user you create for the moment.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
=== Reboot and Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== auto/boot.txt ====&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you remove the '''console=ttyS0,115200n8''' part, you will be able to see debug text as the system boots up.&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
==== First Boot ====&lt;br /&gt;
&lt;br /&gt;
===== tslib calibration =====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finish up installing any left overs =====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cleanup ====&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
== Maintenance and Upgrades ==&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
== Common Issues/Fun Things To Do ==&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
=== Synaptic ===&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't work, why?! ===&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 and 1.0.4 do not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
=== Wifi and Session Management is broken?! ===&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't appear immediately? ===&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in 1.0.4&lt;br /&gt;
&lt;br /&gt;
=== I get no notifications in 1.0.3 ===&lt;br /&gt;
This is actually because notification-daemon hasn't been installed.&lt;br /&gt;
&lt;br /&gt;
=== Packages to add in 1.1! ===&lt;br /&gt;
Feel free to add packages here that I should include in the next release (1.1)&lt;br /&gt;
* wireless-tools&lt;br /&gt;
* x11-xserver-utils ( I keep forgetting this.. it's for xmodmap )&lt;br /&gt;
* xinput - for evdev's configuration&lt;br /&gt;
* console-tools - for chvt&lt;br /&gt;
* xterm - for failsafe console&lt;br /&gt;
* bash-completion - tis handy to have&lt;br /&gt;
* aptitude - somehow I forgot this.&lt;br /&gt;
&lt;br /&gt;
= Emdebian Grip =&lt;br /&gt;
Most of the above can be taken for Grip, with the following changes...&lt;br /&gt;
&lt;br /&gt;
Why Grip? It's much smaller and targeted for embedded devices... I originally was going to use Grip actually, but it was a bit buggered at the time, though it seems to be working now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Additionally, Emdebian comes in Crush and Baked flavours... Grip is compatible with Desktop Debian, so we'll use that.. Crush is smaller again, and generally requires a cross-compiler to setup packages, and Baked is effectively what we do with Angstrom.&lt;br /&gt;
&lt;br /&gt;
Emdebian could also in theory be shrunk enough to actually fit on NAND... which is something I'll be looking into - if only to document another alternative process to the Angstrom OE bitbake bonanza.&lt;br /&gt;
&lt;br /&gt;
== Multistrap ==&lt;br /&gt;
Grip's debootstrap is slightly different... it uses multistrap instead.&lt;br /&gt;
&lt;br /&gt;
This allows us to use Grip's repository as the base, and Desktop Debian's repositories for anything else we might need ( omap3 drivers, for instance. ) This is also particularly useful for us when I get around to doing Pandora specifics compiled for Debian, as then we just add that repository as well.&lt;br /&gt;
&lt;br /&gt;
Anyway, we need Debian running for this - be it on your Desktop ( or Ubuntu ) or on your Pandora ( recommended, as this guide assumes this is what you're doing. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Install Multistrap - '''''sudo apt-get install multistrap'''''&lt;br /&gt;
&lt;br /&gt;
You'll also need to mount an SD card somewhere manually.. I've mounted mine to /tmp/emdebian: '''''sudo umount /dev/mmcblk1p1 &amp;amp;&amp;amp; mount /dev/mmcblk1p1 /tmp/emdebian'''''&lt;br /&gt;
&lt;br /&gt;
=== Config File ===&lt;br /&gt;
'''''nano multistrap'''''&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
'''''sudo multistrap -f multistrap'''''&lt;br /&gt;
&lt;br /&gt;
Change /tmp/multistrap to where ever you want the debootstrap to occur.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gotcha''''' I had issues with it complaining about unauthenticated packages, just add '''--no-auth''' to your command line and it'll continue happily.''&lt;br /&gt;
&lt;br /&gt;
This shouldn't take too long ( was about half an hour on my Pandora ) and gives you a very sparse minimal rootfs of 192Mb.&lt;br /&gt;
&lt;br /&gt;
The following multistrap config will give you what's in the 1.0.4 Grip rootfs&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=xserver-xorg-video-omap3 libxcb-dri2-0 libnotify-bin xinput&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=lxde busybox network-manager-gnome xfce4-power-manager apmd gdm less sudo nano wireless-tools iceweasel synaptic gnome-mplayer x11-xserver-utils notification-daemon gnome-keyring&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
You could also add packages into the Grip and Debian configuration parts, and it will automatically pull them down and install them for you, be careful with what you pull in though, as not everything has been repackaged for Grip, so it will pull down the &amp;quot;full fat&amp;quot; variants from Debian instead.&lt;br /&gt;
&lt;br /&gt;
You might get errors of unconfigured packages, just chroot in and run '''''apt-get -f install''''' to finish up.. if there are warnings about proc, ignore them till you reboot into the rootfs and re-run '''''sudo apt-get -f install'''''.&lt;br /&gt;
&lt;br /&gt;
== Chroot and Setup ==&lt;br /&gt;
Now we can just chroot in and setup as we see fit.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /tmp/emdebian''''' - again, you may have mounted your media elsewhere.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&lt;br /&gt;
&lt;br /&gt;
You can now just follow the Debian guide as above, with the added bonus of most packages will come from Grip and be pre-stripped of extra fluff.&amp;lt;br /&amp;gt;&lt;br /&gt;
I would recommend to get as much stuff as possible downloaded in the initial multistrap however, as it will automatically clean stuff up for you.&lt;br /&gt;
&lt;br /&gt;
= Debian On NAND =&lt;br /&gt;
First of all, &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get a Debian Rootfs ==&lt;br /&gt;
Your NAND has about 475Mb for the rootfs to play with ( there are other partitions, remember! ), therefore Desktop Debian is a bit too large for our purposes - even 1.0.3's complete massacre still ended up too big by far; so we need to look at Emdebian, of which there are three flavours - grip, crush and baked.&amp;lt;br /&amp;gt;&lt;br /&gt;
We'll be using Grip, so follow the guide above for at least getting a working system on SD before going anywhere near your NAND.&lt;br /&gt;
&lt;br /&gt;
We can use compression to get your rootfs down by 40-50%, but I'd still be vary wary of a large rootfs!&lt;br /&gt;
&lt;br /&gt;
If you're lazy, grab my pre-made Grip rootfs, which includes LXDE by default.&lt;br /&gt;
&lt;br /&gt;
== Preparing the Rootfs ==&lt;br /&gt;
Boot into your rootfs for this, so we can ensure we're as up to date as we can be, then clean the apt cache, and then any crap we installed which we don't need any more, such as things which were installed as dependencies and the parent's been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get upgrade'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get clean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get autoclean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you could wipe out the documentation ( if any ) and manually pull out unwanted packages. However, if you're pulling stuff out, you shouldn't have installed it in the first place! Go back to the start and do it again as punishment!&lt;br /&gt;
&lt;br /&gt;
This post on the Ubuntu forums is particularly helpful: http://ubuntuforums.org/showthread.php?t=140920&lt;br /&gt;
&lt;br /&gt;
Depending on your needs, you may also want to wipe out your home folder and reinstate it from /etc/skel&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll also want to wipe out tmp - '''''sudo rm -rf /tmp/*'''''&lt;br /&gt;
&lt;br /&gt;
Now shut down and either place your SD card in your PC. You can do this on Pandora, but you will need a lot of space.&lt;br /&gt;
&lt;br /&gt;
Copy your rootfs somewhere.. I suggest /tmp/pandora-debian&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir /tmp/pandora-debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cp -p -r /media/my/sd/card/* /tmp/pandora-debian''''' - this will preserve Permissions and copy everything Recursively.&lt;br /&gt;
&lt;br /&gt;
We need to edit the fstab so that it can boot properly, if you haven't done so already.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /tmp/pandora-debian/etc/fstab'''''&lt;br /&gt;
 # OpenPandora fstab.&lt;br /&gt;
 &lt;br /&gt;
 rootfs               /                    auto       defaults,noatime      1  1&lt;br /&gt;
 proc                 /proc                proc       defaults              0  0&lt;br /&gt;
 devpts               /dev/pts             devpts     mode=0620,gid=5       0  0&lt;br /&gt;
 usbfs                /proc/bus/usb        usbfs      defaults              0  0&lt;br /&gt;
 tmpfs                /var/volatile        tmpfs      defaults              0  0&lt;br /&gt;
 tmpfs                /dev/shm             tmpfs      mode=0777             0  0&lt;br /&gt;
 tmpfs                /media/ram           tmpfs      defaults              0  0&lt;br /&gt;
&lt;br /&gt;
This should look familiar, as it's effectively your stock fstab minus the boot partition ( we have a kernel in our rootfs, if you've followed the above guides... )&lt;br /&gt;
&lt;br /&gt;
We should also get rid of the autoboot.txt or boot.txt; '''''sudo rm /tmp/pandora-debian/autoboot.txt'''''&lt;br /&gt;
&lt;br /&gt;
== Creating the Image ==&lt;br /&gt;
You need mtd-utils in your Debian distro of choice. '''''sudo apt-get install mtd-utils'''''&lt;br /&gt;
&lt;br /&gt;
Now, mkfs.ubifs can compress using either LZO ( by default ) or zlib and will get your rootfs about 40-50% smaller depending on what you choose. It's also possible to use a combination of both, which is what we will do later.. Of course, if your rootfs is full of pre-compressed stuff already, it's not really going to shrink a great deal.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a full run down on mkfs.ubifs and co, see here: http://www.linux-mtd.infradead.org/doc/ubifs.html&lt;br /&gt;
&lt;br /&gt;
Download the flash kit: http://openpandora.org/firmware/pandora-flash-kit.zip and extract it to /tmp/flash. I suggest reading the README as well.&lt;br /&gt;
&lt;br /&gt;
Now run these fun commands... what we're doing is we're making a ubifs image first, then making an md5 checksum.&amp;lt;br /&amp;gt;&lt;br /&gt;
We're also favoring LZO compression meaning we're mixing zlib and LZO to get the best compression we can.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ubifs -r /tmp/pandora-debian -o rootfs.img -m 2048 -e 129024 -c 4042 -x favor_lzo -X 20'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''md5sum rootfs.img &amp;gt; rootfs.md5'''''&lt;br /&gt;
&lt;br /&gt;
'''STOP! If your rootfs.img is getting close to 480Mb, you might not want to try and flash it.. it may be fine, but I would recommend 450Mb as an absolute maximum.'''&lt;br /&gt;
&lt;br /&gt;
== Flashing the Image ==&lt;br /&gt;
I shall repeat:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stick the following on to a FAT32 formatted SD card:&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''boot.scr''' - from the flash kit.&lt;br /&gt;
* '''rootfs.img''' - the image you've just created.&lt;br /&gt;
* '''rootfs.md5''' - the checksum to the image.&lt;br /&gt;
&lt;br /&gt;
Place it in slot 1 of your Pandora ( the left slot, ) reboot while holding the right trigger, select boot from SD, cross your fingers and pray to the Pandora Gods.&lt;br /&gt;
&lt;br /&gt;
Once it's done.. reboot and see what mess you've made, assuming you get it to boot!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you haven't got it to boot, on your FAT32 flasher card, add an autoboot.txt with the following:&lt;br /&gt;
 setenv bootargs ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ubi part boot &amp;amp;&amp;amp; ubifsmount boot &amp;amp;&amp;amp; ubifsload ${loadaddr} uImage &amp;amp;&amp;amp; bootm ${loadaddr};&lt;br /&gt;
&lt;br /&gt;
As this will let you see what's gone wrong... I had to do this a few times, as I buggered it up myself...&lt;br /&gt;
&lt;br /&gt;
Congratulations, you now have Debian on NAND rather than Angstrom.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, these instructions could easily be adapted to allow you to use any other distro that boots on Pandora.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7373</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7373"/>
		<updated>2011-04-09T14:59:29Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Added 1.0.5 .. which is 1.0.4 with XFCE instead of LXDE and a few bug fixes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
I'm going to split this into three chunks now... standard Desktop Debian on SD using Squeeze/Lenny/Sid ( choose your poison, though only Squeeze is officially tested to work by myself, ) Emdebian GRIP install, and NAND install.&lt;br /&gt;
&lt;br /&gt;
You can post feedback, bugs, etc.. on the following topics:&lt;br /&gt;
GP32X: http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/&lt;br /&gt;
OpenPandora Boards: http://boards.openpandora.org/index.php?/topic/1819-debian-on-sd/&lt;br /&gt;
&lt;br /&gt;
I'd prefer the GP32X boards as I'm slightly more active there.&lt;br /&gt;
&lt;br /&gt;
= Little Note to Wiki Editors =&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Desktop Debian ==&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 and 1.0.4 &amp;quot;brute force&amp;quot; releases. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full builds are: &lt;br /&gt;
* LXDE - http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.4-grip.tar.bz2&lt;br /&gt;
* XFCE - http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.5-grip.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2/3 formatted SD card.&amp;lt;br /&amp;gt;&lt;br /&gt;
For example: '''''tar -xvjpf pandora-squeeze*.tar.bz2 -C /media/sdcard .'''''&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
=== Changelog ===&lt;br /&gt;
==== Original Proof of Concept ====&lt;br /&gt;
* Released - 19th October 2010&lt;br /&gt;
* Based on Sid&lt;br /&gt;
* GDM&lt;br /&gt;
* GNOME&lt;br /&gt;
* Bit slow but workable&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0 ====&lt;br /&gt;
* Released - 20th February 2011&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.1 ====&lt;br /&gt;
* Released - 23rd February 2011&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.2 ====&lt;br /&gt;
* Released - 22nd March 2011&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.3 ====&lt;br /&gt;
* Released - 27th March 2011&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.4 ====&lt;br /&gt;
* Released - 4th April 2011&lt;br /&gt;
* 1.0.3 with lots of bugs fixed and based on Grip so it's got even more and super tiny in comparision.&lt;br /&gt;
* Contains; LXDE, GDM, Gnome MPlayer, IceWeasel ( firefox ) and Synaptic&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.5 ====&lt;br /&gt;
* Released - 9th April 2011&lt;br /&gt;
* 1.0.4 with XFCE instead of LXDE and a few bug fixes.&lt;br /&gt;
&lt;br /&gt;
=== Release 1.1 Proposed ===&lt;br /&gt;
* Expected - May 2011 ( maybe )&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
== Building From Scratch ==&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
=== Getting a Minimal Install from Scratch ===&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
==== Linux PC ====&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
==== Pandora ====&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Setting up Apt ===&lt;br /&gt;
I've forgotten about this, as mostly it'll be set to the default Debian repository, but should you want to change it: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/apt/sources.list'''''&lt;br /&gt;
&lt;br /&gt;
UK people can set this to ''deb ftp://ftp.uk.debian.org/debian main non-free contrib'' to get pretty much everything, or can pick whichever local Debian repository they like - but be warned that not all of them have an armel repo!&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, debootstrap will likely only get main.. adding the non-free and contrib branches are optional, but bring in more stuff.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Environment ===&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
=== Device Drivers and PNDs ===&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
==== X Display Driver ====&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
==== SGX Drivers ====&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
===== Libraries =====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
===== Demos/SDK =====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
==== Keymap ====&lt;br /&gt;
The keymap is actually stupidly easy, and I've missed how easy it is for quite a while now!&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
1.0.4 is again different, and doesn't HUP pndnotifyd at all as it seemed to work without much issue just by starting the service differently, also, due to use of GDM, we do the xmodmap at GDM's startup instead in the following manner: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/gdm/Init/\:0''''' - the \ is needed to use : as a character!&amp;lt;br /&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183&lt;br /&gt;
 xmodmap /etc/skel/.pndXmodmap&lt;br /&gt;
 loadkeys /etc/keymap-extension-2.6.map&lt;br /&gt;
&lt;br /&gt;
The xinput line is for the evdev touchscreen configuration, if this is wrong, please run '''xinput_calibrator''' from a Terminal, and replace the line with what it gives you!&lt;br /&gt;
&lt;br /&gt;
The loadkeys line also ensures that the console gets the correct keymap as well.&lt;br /&gt;
&lt;br /&gt;
Thanks to chris_c for the GDM init hint, and mcobit for the loadkeys hint!&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nubs ====&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
==== Touchscreen ====&lt;br /&gt;
===== Current 1.0.2/3 Release =====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
This is already done on 1.0.4 and xinput_calibrator is included should you need to re-run it.&lt;br /&gt;
&lt;br /&gt;
===== libts for other releases =====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
==== Kernel and Misc Bits and Pieces ====&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things ====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
==== PNDs ====&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set.&lt;br /&gt;
===== Script Fixups =====&lt;br /&gt;
We need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pndnotifyd-init, pndevmapperd-init and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&amp;lt;br /&amp;gt;&lt;br /&gt;
The update-rc.d program will shout at you which ones, and essentially, it's just some tidying up that needs done.&lt;br /&gt;
&lt;br /&gt;
It's now recommended to use update-rc.d to put these in rather than the old heavy handed ln calls:&lt;br /&gt;
 update-rc.d led-config defaults 05&lt;br /&gt;
 update-rc.d pndevmapperd-init defaults 30 40&lt;br /&gt;
 update-rc.d pndnotifyd-init defaults 30 40&lt;br /&gt;
 update-rc.d pandora-state defaults 05&lt;br /&gt;
&lt;br /&gt;
The pandora-state is different on Angstrom than Debian as it didn't start up with it's usual bindings, which was annoying!&lt;br /&gt;
&lt;br /&gt;
=== Users and Permissions ===&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
You'll also need to do the above for every new user you create for the moment.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
=== Reboot and Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== auto/boot.txt ====&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you remove the '''console=ttyS0,115200n8''' part, you will be able to see debug text as the system boots up.&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
==== First Boot ====&lt;br /&gt;
&lt;br /&gt;
===== tslib calibration =====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finish up installing any left overs =====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cleanup ====&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
== Maintenance and Upgrades ==&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
== Common Issues/Fun Things To Do ==&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
=== Synaptic ===&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't work, why?! ===&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 and 1.0.4 do not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
=== Wifi and Session Management is broken?! ===&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't appear immediately? ===&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in 1.0.4&lt;br /&gt;
&lt;br /&gt;
=== I get no notifications in 1.0.3 ===&lt;br /&gt;
This is actually because notification-daemon hasn't been installed.&lt;br /&gt;
&lt;br /&gt;
=== Packages to add in 1.1! ===&lt;br /&gt;
Feel free to add packages here that I should include in the next release (1.1)&lt;br /&gt;
* wireless-tools&lt;br /&gt;
* x11-xserver-utils ( I keep forgetting this.. it's for xmodmap )&lt;br /&gt;
* xinput - for evdev's configuration&lt;br /&gt;
* console-tools - for chvt&lt;br /&gt;
* xterm - for failsafe console&lt;br /&gt;
* bash-completion - tis handy to have&lt;br /&gt;
* aptitude - somehow I forgot this.&lt;br /&gt;
&lt;br /&gt;
= Emdebian Grip =&lt;br /&gt;
Most of the above can be taken for Grip, with the following changes...&lt;br /&gt;
&lt;br /&gt;
Why Grip? It's much smaller and targeted for embedded devices... I originally was going to use Grip actually, but it was a bit buggered at the time, though it seems to be working now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Additionally, Emdebian comes in Crush and Baked flavours... Grip is compatible with Desktop Debian, so we'll use that.. Crush is smaller again, and generally requires a cross-compiler to setup packages, and Baked is effectively what we do with Angstrom.&lt;br /&gt;
&lt;br /&gt;
Emdebian could also in theory be shrunk enough to actually fit on NAND... which is something I'll be looking into - if only to document another alternative process to the Angstrom OE bitbake bonanza.&lt;br /&gt;
&lt;br /&gt;
== Multistrap ==&lt;br /&gt;
Grip's debootstrap is slightly different... it uses multistrap instead.&lt;br /&gt;
&lt;br /&gt;
This allows us to use Grip's repository as the base, and Desktop Debian's repositories for anything else we might need ( omap3 drivers, for instance. ) This is also particularly useful for us when I get around to doing Pandora specifics compiled for Debian, as then we just add that repository as well.&lt;br /&gt;
&lt;br /&gt;
Anyway, we need Debian running for this - be it on your Desktop ( or Ubuntu ) or on your Pandora ( recommended, as this guide assumes this is what you're doing. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Install Multistrap - '''''sudo apt-get install multistrap'''''&lt;br /&gt;
&lt;br /&gt;
You'll also need to mount an SD card somewhere manually.. I've mounted mine to /tmp/emdebian: '''''sudo umount /dev/mmcblk1p1 &amp;amp;&amp;amp; mount /dev/mmcblk1p1 /tmp/emdebian'''''&lt;br /&gt;
&lt;br /&gt;
=== Config File ===&lt;br /&gt;
'''''nano multistrap'''''&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
'''''sudo multistrap -f multistrap'''''&lt;br /&gt;
&lt;br /&gt;
Change /tmp/multistrap to where ever you want the debootstrap to occur.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gotcha''''' I had issues with it complaining about unauthenticated packages, just add '''--no-auth''' to your command line and it'll continue happily.''&lt;br /&gt;
&lt;br /&gt;
This shouldn't take too long ( was about half an hour on my Pandora ) and gives you a very sparse minimal rootfs of 192Mb.&lt;br /&gt;
&lt;br /&gt;
The following multistrap config will give you what's in the 1.0.4 Grip rootfs&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=xserver-xorg-video-omap3 libxcb-dri2-0 libnotify-bin xinput&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=lxde busybox network-manager-gnome xfce4-power-manager apmd gdm less sudo nano wireless-tools iceweasel synaptic gnome-mplayer x11-xserver-utils notification-daemon gnome-keyring&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
You could also add packages into the Grip and Debian configuration parts, and it will automatically pull them down and install them for you, be careful with what you pull in though, as not everything has been repackaged for Grip, so it will pull down the &amp;quot;full fat&amp;quot; variants from Debian instead.&lt;br /&gt;
&lt;br /&gt;
You might get errors of unconfigured packages, just chroot in and run '''''apt-get -f install''''' to finish up.. if there are warnings about proc, ignore them till you reboot into the rootfs and re-run '''''sudo apt-get -f install'''''.&lt;br /&gt;
&lt;br /&gt;
== Chroot and Setup ==&lt;br /&gt;
Now we can just chroot in and setup as we see fit.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /tmp/emdebian''''' - again, you may have mounted your media elsewhere.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&lt;br /&gt;
&lt;br /&gt;
You can now just follow the Debian guide as above, with the added bonus of most packages will come from Grip and be pre-stripped of extra fluff.&amp;lt;br /&amp;gt;&lt;br /&gt;
I would recommend to get as much stuff as possible downloaded in the initial multistrap however, as it will automatically clean stuff up for you.&lt;br /&gt;
&lt;br /&gt;
= Debian On NAND =&lt;br /&gt;
First of all, &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get a Debian Rootfs ==&lt;br /&gt;
Your NAND has about 475Mb for the rootfs to play with ( there are other partitions, remember! ), therefore Desktop Debian is a bit too large for our purposes - even 1.0.3's complete massacre still ended up too big by far; so we need to look at Emdebian, of which there are three flavours - grip, crush and baked.&amp;lt;br /&amp;gt;&lt;br /&gt;
We'll be using Grip, so follow the guide above for at least getting a working system on SD before going anywhere near your NAND.&lt;br /&gt;
&lt;br /&gt;
We can use compression to get your rootfs down by 40-50%, but I'd still be vary wary of a large rootfs!&lt;br /&gt;
&lt;br /&gt;
If you're lazy, grab my pre-made Grip rootfs, which includes LXDE by default.&lt;br /&gt;
&lt;br /&gt;
== Preparing the Rootfs ==&lt;br /&gt;
Boot into your rootfs for this, so we can ensure we're as up to date as we can be, then clean the apt cache, and then any crap we installed which we don't need any more, such as things which were installed as dependencies and the parent's been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get upgrade'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get clean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get autoclean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you could wipe out the documentation ( if any ) and manually pull out unwanted packages. However, if you're pulling stuff out, you shouldn't have installed it in the first place! Go back to the start and do it again as punishment!&lt;br /&gt;
&lt;br /&gt;
This post on the Ubuntu forums is particularly helpful: http://ubuntuforums.org/showthread.php?t=140920&lt;br /&gt;
&lt;br /&gt;
Depending on your needs, you may also want to wipe out your home folder and reinstate it from /etc/skel&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll also want to wipe out tmp - '''''sudo rm -rf /tmp/*'''''&lt;br /&gt;
&lt;br /&gt;
Now shut down and either place your SD card in your PC. You can do this on Pandora, but you will need a lot of space.&lt;br /&gt;
&lt;br /&gt;
Copy your rootfs somewhere.. I suggest /tmp/pandora-debian&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir /tmp/pandora-debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cp -p -r /media/my/sd/card/* /tmp/pandora-debian''''' - this will preserve Permissions and copy everything Recursively.&lt;br /&gt;
&lt;br /&gt;
We need to edit the fstab so that it can boot properly, if you haven't done so already.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /tmp/pandora-debian/etc/fstab'''''&lt;br /&gt;
 # OpenPandora fstab.&lt;br /&gt;
 &lt;br /&gt;
 rootfs               /                    auto       defaults,noatime      1  1&lt;br /&gt;
 proc                 /proc                proc       defaults              0  0&lt;br /&gt;
 devpts               /dev/pts             devpts     mode=0620,gid=5       0  0&lt;br /&gt;
 usbfs                /proc/bus/usb        usbfs      defaults              0  0&lt;br /&gt;
 tmpfs                /var/volatile        tmpfs      defaults              0  0&lt;br /&gt;
 tmpfs                /dev/shm             tmpfs      mode=0777             0  0&lt;br /&gt;
 tmpfs                /media/ram           tmpfs      defaults              0  0&lt;br /&gt;
&lt;br /&gt;
This should look familiar, as it's effectively your stock fstab minus the boot partition ( we have a kernel in our rootfs, if you've followed the above guides... )&lt;br /&gt;
&lt;br /&gt;
We should also get rid of the autoboot.txt or boot.txt; '''''sudo rm /tmp/pandora-debian/autoboot.txt'''''&lt;br /&gt;
&lt;br /&gt;
== Creating the Image ==&lt;br /&gt;
You need mtd-utils in your Debian distro of choice. '''''sudo apt-get install mtd-utils'''''&lt;br /&gt;
&lt;br /&gt;
Now, mkfs.ubifs can compress using either LZO ( by default ) or zlib and will get your rootfs about 40-50% smaller depending on what you choose. It's also possible to use a combination of both, which is what we will do later.. Of course, if your rootfs is full of pre-compressed stuff already, it's not really going to shrink a great deal.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a full run down on mkfs.ubifs and co, see here: http://www.linux-mtd.infradead.org/doc/ubifs.html&lt;br /&gt;
&lt;br /&gt;
Download the flash kit: http://openpandora.org/firmware/pandora-flash-kit.zip and extract it to /tmp/flash. I suggest reading the README as well.&lt;br /&gt;
&lt;br /&gt;
Now run these fun commands... what we're doing is we're making a ubifs image first, then making an md5 checksum.&amp;lt;br /&amp;gt;&lt;br /&gt;
We're also favoring LZO compression meaning we're mixing zlib and LZO to get the best compression we can.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ubifs -r /tmp/pandora-debian -o rootfs.img -m 2048 -e 129024 -c 4042 -x favor_lzo -X 20'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''md5sum rootfs.img &amp;gt; rootfs.md5'''''&lt;br /&gt;
&lt;br /&gt;
'''STOP! If your rootfs.img is getting close to 480Mb, you might not want to try and flash it.. it may be fine, but I would recommend 450Mb as an absolute maximum.'''&lt;br /&gt;
&lt;br /&gt;
== Flashing the Image ==&lt;br /&gt;
I shall repeat:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stick the following on to a FAT32 formatted SD card:&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''boot.scr''' - from the flash kit.&lt;br /&gt;
* '''rootfs.img''' - the image you've just created.&lt;br /&gt;
* '''rootfs.md5''' - the checksum to the image.&lt;br /&gt;
&lt;br /&gt;
Place it in slot 1 of your Pandora ( the left slot, ) reboot while holding the right trigger, select boot from SD, cross your fingers and pray to the Pandora Gods.&lt;br /&gt;
&lt;br /&gt;
Once it's done.. reboot and see what mess you've made, assuming you get it to boot!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you haven't got it to boot, on your FAT32 flasher card, add an autoboot.txt with the following:&lt;br /&gt;
 setenv bootargs ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ubi part boot &amp;amp;&amp;amp; ubifsmount boot &amp;amp;&amp;amp; ubifsload ${loadaddr} uImage &amp;amp;&amp;amp; bootm ${loadaddr};&lt;br /&gt;
&lt;br /&gt;
As this will let you see what's gone wrong... I had to do this a few times, as I buggered it up myself...&lt;br /&gt;
&lt;br /&gt;
Congratulations, you now have Debian on NAND rather than Angstrom.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, these instructions could easily be adapted to allow you to use any other distro that boots on Pandora.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7372</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7372"/>
		<updated>2011-04-09T13:36:45Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Current 1.0.2/3 Release */ added info on xinput_calibrator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
I'm going to split this into three chunks now... standard Desktop Debian on SD using Squeeze/Lenny/Sid ( choose your poison, though only Squeeze is officially tested to work by myself, ) Emdebian GRIP install, and NAND install.&lt;br /&gt;
&lt;br /&gt;
You can post feedback, bugs, etc.. on the following topics:&lt;br /&gt;
GP32X: http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/&lt;br /&gt;
OpenPandora Boards: http://boards.openpandora.org/index.php?/topic/1819-debian-on-sd/&lt;br /&gt;
&lt;br /&gt;
I'd prefer the GP32X boards as I'm slightly more active there.&lt;br /&gt;
&lt;br /&gt;
= Little Note to Wiki Editors =&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Desktop Debian ==&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 and 1.0.4 &amp;quot;brute force&amp;quot; releases. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.4-grip.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2/3 formatted SD card.&amp;lt;br /&amp;gt;&lt;br /&gt;
For example: '''''tar -xvjpf pandora-squeeze*.tar.bz2 -C /media/sdcard .'''''&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
=== Changelog ===&lt;br /&gt;
==== Original Proof of Concept ====&lt;br /&gt;
* Released - 19th October 2010&lt;br /&gt;
* Based on Sid&lt;br /&gt;
* GDM&lt;br /&gt;
* GNOME&lt;br /&gt;
* Bit slow but workable&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0 ====&lt;br /&gt;
* Released - 20th February 2011&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.1 ====&lt;br /&gt;
* Released - 23rd February 2011&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.2 ====&lt;br /&gt;
* Released - 22nd March 2011&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.3 ====&lt;br /&gt;
* Released - 27th March 2011&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.4 ====&lt;br /&gt;
* Released - 4th April 2011&lt;br /&gt;
* 1.0.3 with lots of bugs fixed and based on Grip so it's got even more and super tiny in comparision.&lt;br /&gt;
* Contains; LXDE, GDM, Gnome MPlayer, IceWeasel ( firefox ) and Synaptic&lt;br /&gt;
&lt;br /&gt;
=== Release 1.1 Proposed ===&lt;br /&gt;
* Expected - May 2011 ( maybe )&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
== Building From Scratch ==&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
=== Getting a Minimal Install from Scratch ===&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
==== Linux PC ====&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
==== Pandora ====&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Setting up Apt ===&lt;br /&gt;
I've forgotten about this, as mostly it'll be set to the default Debian repository, but should you want to change it: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/apt/sources.list'''''&lt;br /&gt;
&lt;br /&gt;
UK people can set this to ''deb ftp://ftp.uk.debian.org/debian main non-free contrib'' to get pretty much everything, or can pick whichever local Debian repository they like - but be warned that not all of them have an armel repo!&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, debootstrap will likely only get main.. adding the non-free and contrib branches are optional, but bring in more stuff.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Environment ===&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
=== Device Drivers and PNDs ===&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
==== X Display Driver ====&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
==== SGX Drivers ====&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
===== Libraries =====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
===== Demos/SDK =====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
==== Keymap ====&lt;br /&gt;
The keymap is actually stupidly easy, and I've missed how easy it is for quite a while now!&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
1.0.4 is again different, and doesn't HUP pndnotifyd at all as it seemed to work without much issue just by starting the service differently, also, due to use of GDM, we do the xmodmap at GDM's startup instead in the following manner: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/gdm/Init/\:0''''' - the \ is needed to use : as a character!&amp;lt;br /&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183&lt;br /&gt;
 xmodmap /etc/skel/.pndXmodmap&lt;br /&gt;
 loadkeys /etc/keymap-extension-2.6.map&lt;br /&gt;
&lt;br /&gt;
The xinput line is for the evdev touchscreen configuration, if this is wrong, please run '''xinput_calibrator''' from a Terminal, and replace the line with what it gives you!&lt;br /&gt;
&lt;br /&gt;
The loadkeys line also ensures that the console gets the correct keymap as well.&lt;br /&gt;
&lt;br /&gt;
Thanks to chris_c for the GDM init hint, and mcobit for the loadkeys hint!&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nubs ====&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
==== Touchscreen ====&lt;br /&gt;
===== Current 1.0.2/3 Release =====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
This is already done on 1.0.4 and xinput_calibrator is included should you need to re-run it.&lt;br /&gt;
&lt;br /&gt;
===== libts for other releases =====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
==== Kernel and Misc Bits and Pieces ====&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things ====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
==== PNDs ====&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set.&lt;br /&gt;
===== Script Fixups =====&lt;br /&gt;
We need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pndnotifyd-init, pndevmapperd-init and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&amp;lt;br /&amp;gt;&lt;br /&gt;
The update-rc.d program will shout at you which ones, and essentially, it's just some tidying up that needs done.&lt;br /&gt;
&lt;br /&gt;
It's now recommended to use update-rc.d to put these in rather than the old heavy handed ln calls:&lt;br /&gt;
 update-rc.d led-config defaults 05&lt;br /&gt;
 update-rc.d pndevmapperd-init defaults 30 40&lt;br /&gt;
 update-rc.d pndnotifyd-init defaults 30 40&lt;br /&gt;
 update-rc.d pandora-state defaults 05&lt;br /&gt;
&lt;br /&gt;
The pandora-state is different on Angstrom than Debian as it didn't start up with it's usual bindings, which was annoying!&lt;br /&gt;
&lt;br /&gt;
=== Users and Permissions ===&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
=== Reboot and Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== auto/boot.txt ====&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you remove the '''console=ttyS0,115200n8''' part, you will be able to see debug text as the system boots up.&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
==== First Boot ====&lt;br /&gt;
&lt;br /&gt;
===== tslib calibration =====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finish up installing any left overs =====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cleanup ====&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
== Maintenance and Upgrades ==&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
== Common Issues/Fun Things To Do ==&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
=== Synaptic ===&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't work, why?! ===&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 and 1.0.4 do not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
=== Wifi and Session Management is broken?! ===&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't appear immediately? ===&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in 1.0.4&lt;br /&gt;
&lt;br /&gt;
=== I get no notifications in 1.0.3 ===&lt;br /&gt;
This is actually because notification-daemon hasn't been installed.&lt;br /&gt;
&lt;br /&gt;
=== Packages to add in 1.1! ===&lt;br /&gt;
Feel free to add packages here that I should include in the next release (1.1)&lt;br /&gt;
* wireless-tools&lt;br /&gt;
* x11-xserver-utils ( I keep forgetting this.. it's for xmodmap )&lt;br /&gt;
* xinput - for evdev's configuration&lt;br /&gt;
* console-tools - for chvt&lt;br /&gt;
* xterm - for failsafe console&lt;br /&gt;
* bash-completion - tis handy to have&lt;br /&gt;
* aptitude - somehow I forgot this.&lt;br /&gt;
&lt;br /&gt;
= Emdebian Grip =&lt;br /&gt;
Most of the above can be taken for Grip, with the following changes...&lt;br /&gt;
&lt;br /&gt;
Why Grip? It's much smaller and targeted for embedded devices... I originally was going to use Grip actually, but it was a bit buggered at the time, though it seems to be working now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Additionally, Emdebian comes in Crush and Baked flavours... Grip is compatible with Desktop Debian, so we'll use that.. Crush is smaller again, and generally requires a cross-compiler to setup packages, and Baked is effectively what we do with Angstrom.&lt;br /&gt;
&lt;br /&gt;
Emdebian could also in theory be shrunk enough to actually fit on NAND... which is something I'll be looking into - if only to document another alternative process to the Angstrom OE bitbake bonanza.&lt;br /&gt;
&lt;br /&gt;
== Multistrap ==&lt;br /&gt;
Grip's debootstrap is slightly different... it uses multistrap instead.&lt;br /&gt;
&lt;br /&gt;
This allows us to use Grip's repository as the base, and Desktop Debian's repositories for anything else we might need ( omap3 drivers, for instance. ) This is also particularly useful for us when I get around to doing Pandora specifics compiled for Debian, as then we just add that repository as well.&lt;br /&gt;
&lt;br /&gt;
Anyway, we need Debian running for this - be it on your Desktop ( or Ubuntu ) or on your Pandora ( recommended, as this guide assumes this is what you're doing. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Install Multistrap - '''''sudo apt-get install multistrap'''''&lt;br /&gt;
&lt;br /&gt;
You'll also need to mount an SD card somewhere manually.. I've mounted mine to /tmp/emdebian: '''''sudo umount /dev/mmcblk1p1 &amp;amp;&amp;amp; mount /dev/mmcblk1p1 /tmp/emdebian'''''&lt;br /&gt;
&lt;br /&gt;
=== Config File ===&lt;br /&gt;
'''''nano multistrap'''''&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
'''''sudo multistrap -f multistrap'''''&lt;br /&gt;
&lt;br /&gt;
Change /tmp/multistrap to where ever you want the debootstrap to occur.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gotcha''''' I had issues with it complaining about unauthenticated packages, just add '''--no-auth''' to your command line and it'll continue happily.''&lt;br /&gt;
&lt;br /&gt;
This shouldn't take too long ( was about half an hour on my Pandora ) and gives you a very sparse minimal rootfs of 192Mb.&lt;br /&gt;
&lt;br /&gt;
The following multistrap config will give you what's in the 1.0.4 Grip rootfs&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=xserver-xorg-video-omap3 libxcb-dri2-0 libnotify-bin xinput&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=lxde busybox network-manager-gnome xfce4-power-manager apmd gdm less sudo nano wireless-tools iceweasel synaptic gnome-mplayer x11-xserver-utils notification-daemon gnome-keyring&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
You could also add packages into the Grip and Debian configuration parts, and it will automatically pull them down and install them for you, be careful with what you pull in though, as not everything has been repackaged for Grip, so it will pull down the &amp;quot;full fat&amp;quot; variants from Debian instead.&lt;br /&gt;
&lt;br /&gt;
You might get errors of unconfigured packages, just chroot in and run '''''apt-get -f install''''' to finish up.. if there are warnings about proc, ignore them till you reboot into the rootfs and re-run '''''sudo apt-get -f install'''''.&lt;br /&gt;
&lt;br /&gt;
== Chroot and Setup ==&lt;br /&gt;
Now we can just chroot in and setup as we see fit.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /tmp/emdebian''''' - again, you may have mounted your media elsewhere.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&lt;br /&gt;
&lt;br /&gt;
You can now just follow the Debian guide as above, with the added bonus of most packages will come from Grip and be pre-stripped of extra fluff.&amp;lt;br /&amp;gt;&lt;br /&gt;
I would recommend to get as much stuff as possible downloaded in the initial multistrap however, as it will automatically clean stuff up for you.&lt;br /&gt;
&lt;br /&gt;
= Debian On NAND =&lt;br /&gt;
First of all, &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get a Debian Rootfs ==&lt;br /&gt;
Your NAND has about 475Mb for the rootfs to play with ( there are other partitions, remember! ), therefore Desktop Debian is a bit too large for our purposes - even 1.0.3's complete massacre still ended up too big by far; so we need to look at Emdebian, of which there are three flavours - grip, crush and baked.&amp;lt;br /&amp;gt;&lt;br /&gt;
We'll be using Grip, so follow the guide above for at least getting a working system on SD before going anywhere near your NAND.&lt;br /&gt;
&lt;br /&gt;
We can use compression to get your rootfs down by 40-50%, but I'd still be vary wary of a large rootfs!&lt;br /&gt;
&lt;br /&gt;
If you're lazy, grab my pre-made Grip rootfs, which includes LXDE by default.&lt;br /&gt;
&lt;br /&gt;
== Preparing the Rootfs ==&lt;br /&gt;
Boot into your rootfs for this, so we can ensure we're as up to date as we can be, then clean the apt cache, and then any crap we installed which we don't need any more, such as things which were installed as dependencies and the parent's been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get upgrade'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get clean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get autoclean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you could wipe out the documentation ( if any ) and manually pull out unwanted packages. However, if you're pulling stuff out, you shouldn't have installed it in the first place! Go back to the start and do it again as punishment!&lt;br /&gt;
&lt;br /&gt;
This post on the Ubuntu forums is particularly helpful: http://ubuntuforums.org/showthread.php?t=140920&lt;br /&gt;
&lt;br /&gt;
Depending on your needs, you may also want to wipe out your home folder and reinstate it from /etc/skel&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll also want to wipe out tmp - '''''sudo rm -rf /tmp/*'''''&lt;br /&gt;
&lt;br /&gt;
Now shut down and either place your SD card in your PC. You can do this on Pandora, but you will need a lot of space.&lt;br /&gt;
&lt;br /&gt;
Copy your rootfs somewhere.. I suggest /tmp/pandora-debian&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir /tmp/pandora-debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cp -p -r /media/my/sd/card/* /tmp/pandora-debian''''' - this will preserve Permissions and copy everything Recursively.&lt;br /&gt;
&lt;br /&gt;
We need to edit the fstab so that it can boot properly, if you haven't done so already.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /tmp/pandora-debian/etc/fstab'''''&lt;br /&gt;
 # OpenPandora fstab.&lt;br /&gt;
 &lt;br /&gt;
 rootfs               /                    auto       defaults,noatime      1  1&lt;br /&gt;
 proc                 /proc                proc       defaults              0  0&lt;br /&gt;
 devpts               /dev/pts             devpts     mode=0620,gid=5       0  0&lt;br /&gt;
 usbfs                /proc/bus/usb        usbfs      defaults              0  0&lt;br /&gt;
 tmpfs                /var/volatile        tmpfs      defaults              0  0&lt;br /&gt;
 tmpfs                /dev/shm             tmpfs      mode=0777             0  0&lt;br /&gt;
 tmpfs                /media/ram           tmpfs      defaults              0  0&lt;br /&gt;
&lt;br /&gt;
This should look familiar, as it's effectively your stock fstab minus the boot partition ( we have a kernel in our rootfs, if you've followed the above guides... )&lt;br /&gt;
&lt;br /&gt;
We should also get rid of the autoboot.txt or boot.txt; '''''sudo rm /tmp/pandora-debian/autoboot.txt'''''&lt;br /&gt;
&lt;br /&gt;
== Creating the Image ==&lt;br /&gt;
You need mtd-utils in your Debian distro of choice. '''''sudo apt-get install mtd-utils'''''&lt;br /&gt;
&lt;br /&gt;
Now, mkfs.ubifs can compress using either LZO ( by default ) or zlib and will get your rootfs about 40-50% smaller depending on what you choose. It's also possible to use a combination of both, which is what we will do later.. Of course, if your rootfs is full of pre-compressed stuff already, it's not really going to shrink a great deal.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a full run down on mkfs.ubifs and co, see here: http://www.linux-mtd.infradead.org/doc/ubifs.html&lt;br /&gt;
&lt;br /&gt;
Download the flash kit: http://openpandora.org/firmware/pandora-flash-kit.zip and extract it to /tmp/flash. I suggest reading the README as well.&lt;br /&gt;
&lt;br /&gt;
Now run these fun commands... what we're doing is we're making a ubifs image first, then making an md5 checksum.&amp;lt;br /&amp;gt;&lt;br /&gt;
We're also favoring LZO compression meaning we're mixing zlib and LZO to get the best compression we can.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ubifs -r /tmp/pandora-debian -o rootfs.img -m 2048 -e 129024 -c 4042 -x favor_lzo -X 20'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''md5sum rootfs.img &amp;gt; rootfs.md5'''''&lt;br /&gt;
&lt;br /&gt;
'''STOP! If your rootfs.img is getting close to 480Mb, you might not want to try and flash it.. it may be fine, but I would recommend 450Mb as an absolute maximum.'''&lt;br /&gt;
&lt;br /&gt;
== Flashing the Image ==&lt;br /&gt;
I shall repeat:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stick the following on to a FAT32 formatted SD card:&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''boot.scr''' - from the flash kit.&lt;br /&gt;
* '''rootfs.img''' - the image you've just created.&lt;br /&gt;
* '''rootfs.md5''' - the checksum to the image.&lt;br /&gt;
&lt;br /&gt;
Place it in slot 1 of your Pandora ( the left slot, ) reboot while holding the right trigger, select boot from SD, cross your fingers and pray to the Pandora Gods.&lt;br /&gt;
&lt;br /&gt;
Once it's done.. reboot and see what mess you've made, assuming you get it to boot!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you haven't got it to boot, on your FAT32 flasher card, add an autoboot.txt with the following:&lt;br /&gt;
 setenv bootargs ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ubi part boot &amp;amp;&amp;amp; ubifsmount boot &amp;amp;&amp;amp; ubifsload ${loadaddr} uImage &amp;amp;&amp;amp; bootm ${loadaddr};&lt;br /&gt;
&lt;br /&gt;
As this will let you see what's gone wrong... I had to do this a few times, as I buggered it up myself...&lt;br /&gt;
&lt;br /&gt;
Congratulations, you now have Debian on NAND rather than Angstrom.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, these instructions could easily be adapted to allow you to use any other distro that boots on Pandora.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7371</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7371"/>
		<updated>2011-04-09T13:19:47Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Added release dates, updated keymapping and rc scripts, some cleanup here and there&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
I'm going to split this into three chunks now... standard Desktop Debian on SD using Squeeze/Lenny/Sid ( choose your poison, though only Squeeze is officially tested to work by myself, ) Emdebian GRIP install, and NAND install.&lt;br /&gt;
&lt;br /&gt;
You can post feedback, bugs, etc.. on the following topics:&lt;br /&gt;
GP32X: http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/&lt;br /&gt;
OpenPandora Boards: http://boards.openpandora.org/index.php?/topic/1819-debian-on-sd/&lt;br /&gt;
&lt;br /&gt;
I'd prefer the GP32X boards as I'm slightly more active there.&lt;br /&gt;
&lt;br /&gt;
= Little Note to Wiki Editors =&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Desktop Debian ==&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 and 1.0.4 &amp;quot;brute force&amp;quot; releases. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.4-grip.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2/3 formatted SD card.&amp;lt;br /&amp;gt;&lt;br /&gt;
For example: '''''tar -xvjpf pandora-squeeze*.tar.bz2 -C /media/sdcard .'''''&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
=== Changelog ===&lt;br /&gt;
==== Original Proof of Concept ====&lt;br /&gt;
* Released - 19th October 2010&lt;br /&gt;
* Based on Sid&lt;br /&gt;
* GDM&lt;br /&gt;
* GNOME&lt;br /&gt;
* Bit slow but workable&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0 ====&lt;br /&gt;
* Released - 20th February 2011&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.1 ====&lt;br /&gt;
* Released - 23rd February 2011&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.2 ====&lt;br /&gt;
* Released - 22nd March 2011&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.3 ====&lt;br /&gt;
* Released - 27th March 2011&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.4 ====&lt;br /&gt;
* Released - 4th April 2011&lt;br /&gt;
* 1.0.3 with lots of bugs fixed and based on Grip so it's got even more and super tiny in comparision.&lt;br /&gt;
* Contains; LXDE, GDM, Gnome MPlayer, IceWeasel ( firefox ) and Synaptic&lt;br /&gt;
&lt;br /&gt;
=== Release 1.1 Proposed ===&lt;br /&gt;
* Expected - May 2011 ( maybe )&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
== Building From Scratch ==&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
=== Getting a Minimal Install from Scratch ===&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
==== Linux PC ====&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
==== Pandora ====&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Setting up Apt ===&lt;br /&gt;
I've forgotten about this, as mostly it'll be set to the default Debian repository, but should you want to change it: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/apt/sources.list'''''&lt;br /&gt;
&lt;br /&gt;
UK people can set this to ''deb ftp://ftp.uk.debian.org/debian main non-free contrib'' to get pretty much everything, or can pick whichever local Debian repository they like - but be warned that not all of them have an armel repo!&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, debootstrap will likely only get main.. adding the non-free and contrib branches are optional, but bring in more stuff.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Environment ===&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
=== Device Drivers and PNDs ===&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
==== X Display Driver ====&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
==== SGX Drivers ====&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
===== Libraries =====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
===== Demos/SDK =====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
==== Keymap ====&lt;br /&gt;
The keymap is actually stupidly easy, and I've missed how easy it is for quite a while now!&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
1.0.4 is again different, and doesn't HUP pndnotifyd at all as it seemed to work without much issue just by starting the service differently, also, due to use of GDM, we do the xmodmap at GDM's startup instead in the following manner: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/gdm/Init/\:0''''' - the \ is needed to use : as a character!&amp;lt;br /&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183&lt;br /&gt;
 xmodmap /etc/skel/.pndXmodmap&lt;br /&gt;
 loadkeys /etc/keymap-extension-2.6.map&lt;br /&gt;
&lt;br /&gt;
The xinput line is for the evdev touchscreen configuration, if this is wrong, please run '''xinput_calibrator''' from a Terminal, and replace the line with what it gives you!&lt;br /&gt;
&lt;br /&gt;
The loadkeys line also ensures that the console gets the correct keymap as well.&lt;br /&gt;
&lt;br /&gt;
Thanks to chris_c for the GDM init hint, and mcobit for the loadkeys hint!&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nubs ====&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
==== Touchscreen ====&lt;br /&gt;
===== Current 1.0.2/3 Release =====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
===== libts for other releases =====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
==== Kernel and Misc Bits and Pieces ====&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things ====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
==== PNDs ====&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set.&lt;br /&gt;
===== Script Fixups =====&lt;br /&gt;
We need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pndnotifyd-init, pndevmapperd-init and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&amp;lt;br /&amp;gt;&lt;br /&gt;
The update-rc.d program will shout at you which ones, and essentially, it's just some tidying up that needs done.&lt;br /&gt;
&lt;br /&gt;
It's now recommended to use update-rc.d to put these in rather than the old heavy handed ln calls:&lt;br /&gt;
 update-rc.d led-config defaults 05&lt;br /&gt;
 update-rc.d pndevmapperd-init defaults 30 40&lt;br /&gt;
 update-rc.d pndnotifyd-init defaults 30 40&lt;br /&gt;
 update-rc.d pandora-state defaults 05&lt;br /&gt;
&lt;br /&gt;
The pandora-state is different on Angstrom than Debian as it didn't start up with it's usual bindings, which was annoying!&lt;br /&gt;
&lt;br /&gt;
=== Users and Permissions ===&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
=== Reboot and Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== auto/boot.txt ====&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you remove the '''console=ttyS0,115200n8''' part, you will be able to see debug text as the system boots up.&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
==== First Boot ====&lt;br /&gt;
&lt;br /&gt;
===== tslib calibration =====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finish up installing any left overs =====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cleanup ====&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
== Maintenance and Upgrades ==&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
== Common Issues/Fun Things To Do ==&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
=== Synaptic ===&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't work, why?! ===&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 and 1.0.4 do not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
=== Wifi and Session Management is broken?! ===&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't appear immediately? ===&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in 1.0.4&lt;br /&gt;
&lt;br /&gt;
=== I get no notifications in 1.0.3 ===&lt;br /&gt;
This is actually because notification-daemon hasn't been installed.&lt;br /&gt;
&lt;br /&gt;
=== Packages to add in 1.1! ===&lt;br /&gt;
Feel free to add packages here that I should include in the next release (1.1)&lt;br /&gt;
* wireless-tools&lt;br /&gt;
* x11-xserver-utils ( I keep forgetting this.. it's for xmodmap )&lt;br /&gt;
* xinput - for evdev's configuration&lt;br /&gt;
* console-tools - for chvt&lt;br /&gt;
* xterm - for failsafe console&lt;br /&gt;
* bash-completion - tis handy to have&lt;br /&gt;
* aptitude - somehow I forgot this.&lt;br /&gt;
&lt;br /&gt;
= Emdebian Grip =&lt;br /&gt;
Most of the above can be taken for Grip, with the following changes...&lt;br /&gt;
&lt;br /&gt;
Why Grip? It's much smaller and targeted for embedded devices... I originally was going to use Grip actually, but it was a bit buggered at the time, though it seems to be working now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Additionally, Emdebian comes in Crush and Baked flavours... Grip is compatible with Desktop Debian, so we'll use that.. Crush is smaller again, and generally requires a cross-compiler to setup packages, and Baked is effectively what we do with Angstrom.&lt;br /&gt;
&lt;br /&gt;
Emdebian could also in theory be shrunk enough to actually fit on NAND... which is something I'll be looking into - if only to document another alternative process to the Angstrom OE bitbake bonanza.&lt;br /&gt;
&lt;br /&gt;
== Multistrap ==&lt;br /&gt;
Grip's debootstrap is slightly different... it uses multistrap instead.&lt;br /&gt;
&lt;br /&gt;
This allows us to use Grip's repository as the base, and Desktop Debian's repositories for anything else we might need ( omap3 drivers, for instance. ) This is also particularly useful for us when I get around to doing Pandora specifics compiled for Debian, as then we just add that repository as well.&lt;br /&gt;
&lt;br /&gt;
Anyway, we need Debian running for this - be it on your Desktop ( or Ubuntu ) or on your Pandora ( recommended, as this guide assumes this is what you're doing. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Install Multistrap - '''''sudo apt-get install multistrap'''''&lt;br /&gt;
&lt;br /&gt;
You'll also need to mount an SD card somewhere manually.. I've mounted mine to /tmp/emdebian: '''''sudo umount /dev/mmcblk1p1 &amp;amp;&amp;amp; mount /dev/mmcblk1p1 /tmp/emdebian'''''&lt;br /&gt;
&lt;br /&gt;
=== Config File ===&lt;br /&gt;
'''''nano multistrap'''''&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
'''''sudo multistrap -f multistrap'''''&lt;br /&gt;
&lt;br /&gt;
Change /tmp/multistrap to where ever you want the debootstrap to occur.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gotcha''''' I had issues with it complaining about unauthenticated packages, just add '''--no-auth''' to your command line and it'll continue happily.''&lt;br /&gt;
&lt;br /&gt;
This shouldn't take too long ( was about half an hour on my Pandora ) and gives you a very sparse minimal rootfs of 192Mb.&lt;br /&gt;
&lt;br /&gt;
The following multistrap config will give you what's in the 1.0.4 Grip rootfs&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=xserver-xorg-video-omap3 libxcb-dri2-0 libnotify-bin xinput&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=lxde busybox network-manager-gnome xfce4-power-manager apmd gdm less sudo nano wireless-tools iceweasel synaptic gnome-mplayer x11-xserver-utils notification-daemon gnome-keyring&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
You could also add packages into the Grip and Debian configuration parts, and it will automatically pull them down and install them for you, be careful with what you pull in though, as not everything has been repackaged for Grip, so it will pull down the &amp;quot;full fat&amp;quot; variants from Debian instead.&lt;br /&gt;
&lt;br /&gt;
You might get errors of unconfigured packages, just chroot in and run '''''apt-get -f install''''' to finish up.. if there are warnings about proc, ignore them till you reboot into the rootfs and re-run '''''sudo apt-get -f install'''''.&lt;br /&gt;
&lt;br /&gt;
== Chroot and Setup ==&lt;br /&gt;
Now we can just chroot in and setup as we see fit.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /tmp/emdebian''''' - again, you may have mounted your media elsewhere.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&lt;br /&gt;
&lt;br /&gt;
You can now just follow the Debian guide as above, with the added bonus of most packages will come from Grip and be pre-stripped of extra fluff.&amp;lt;br /&amp;gt;&lt;br /&gt;
I would recommend to get as much stuff as possible downloaded in the initial multistrap however, as it will automatically clean stuff up for you.&lt;br /&gt;
&lt;br /&gt;
= Debian On NAND =&lt;br /&gt;
First of all, &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get a Debian Rootfs ==&lt;br /&gt;
Your NAND has about 475Mb for the rootfs to play with ( there are other partitions, remember! ), therefore Desktop Debian is a bit too large for our purposes - even 1.0.3's complete massacre still ended up too big by far; so we need to look at Emdebian, of which there are three flavours - grip, crush and baked.&amp;lt;br /&amp;gt;&lt;br /&gt;
We'll be using Grip, so follow the guide above for at least getting a working system on SD before going anywhere near your NAND.&lt;br /&gt;
&lt;br /&gt;
We can use compression to get your rootfs down by 40-50%, but I'd still be vary wary of a large rootfs!&lt;br /&gt;
&lt;br /&gt;
If you're lazy, grab my pre-made Grip rootfs, which includes LXDE by default.&lt;br /&gt;
&lt;br /&gt;
== Preparing the Rootfs ==&lt;br /&gt;
Boot into your rootfs for this, so we can ensure we're as up to date as we can be, then clean the apt cache, and then any crap we installed which we don't need any more, such as things which were installed as dependencies and the parent's been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get upgrade'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get clean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get autoclean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you could wipe out the documentation ( if any ) and manually pull out unwanted packages. However, if you're pulling stuff out, you shouldn't have installed it in the first place! Go back to the start and do it again as punishment!&lt;br /&gt;
&lt;br /&gt;
This post on the Ubuntu forums is particularly helpful: http://ubuntuforums.org/showthread.php?t=140920&lt;br /&gt;
&lt;br /&gt;
Depending on your needs, you may also want to wipe out your home folder and reinstate it from /etc/skel&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll also want to wipe out tmp - '''''sudo rm -rf /tmp/*'''''&lt;br /&gt;
&lt;br /&gt;
Now shut down and either place your SD card in your PC. You can do this on Pandora, but you will need a lot of space.&lt;br /&gt;
&lt;br /&gt;
Copy your rootfs somewhere.. I suggest /tmp/pandora-debian&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir /tmp/pandora-debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cp -p -r /media/my/sd/card/* /tmp/pandora-debian''''' - this will preserve Permissions and copy everything Recursively.&lt;br /&gt;
&lt;br /&gt;
We need to edit the fstab so that it can boot properly, if you haven't done so already.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /tmp/pandora-debian/etc/fstab'''''&lt;br /&gt;
 # OpenPandora fstab.&lt;br /&gt;
 &lt;br /&gt;
 rootfs               /                    auto       defaults,noatime      1  1&lt;br /&gt;
 proc                 /proc                proc       defaults              0  0&lt;br /&gt;
 devpts               /dev/pts             devpts     mode=0620,gid=5       0  0&lt;br /&gt;
 usbfs                /proc/bus/usb        usbfs      defaults              0  0&lt;br /&gt;
 tmpfs                /var/volatile        tmpfs      defaults              0  0&lt;br /&gt;
 tmpfs                /dev/shm             tmpfs      mode=0777             0  0&lt;br /&gt;
 tmpfs                /media/ram           tmpfs      defaults              0  0&lt;br /&gt;
&lt;br /&gt;
This should look familiar, as it's effectively your stock fstab minus the boot partition ( we have a kernel in our rootfs, if you've followed the above guides... )&lt;br /&gt;
&lt;br /&gt;
We should also get rid of the autoboot.txt or boot.txt; '''''sudo rm /tmp/pandora-debian/autoboot.txt'''''&lt;br /&gt;
&lt;br /&gt;
== Creating the Image ==&lt;br /&gt;
You need mtd-utils in your Debian distro of choice. '''''sudo apt-get install mtd-utils'''''&lt;br /&gt;
&lt;br /&gt;
Now, mkfs.ubifs can compress using either LZO ( by default ) or zlib and will get your rootfs about 40-50% smaller depending on what you choose. It's also possible to use a combination of both, which is what we will do later.. Of course, if your rootfs is full of pre-compressed stuff already, it's not really going to shrink a great deal.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a full run down on mkfs.ubifs and co, see here: http://www.linux-mtd.infradead.org/doc/ubifs.html&lt;br /&gt;
&lt;br /&gt;
Download the flash kit: http://openpandora.org/firmware/pandora-flash-kit.zip and extract it to /tmp/flash. I suggest reading the README as well.&lt;br /&gt;
&lt;br /&gt;
Now run these fun commands... what we're doing is we're making a ubifs image first, then making an md5 checksum.&amp;lt;br /&amp;gt;&lt;br /&gt;
We're also favoring LZO compression meaning we're mixing zlib and LZO to get the best compression we can.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ubifs -r /tmp/pandora-debian -o rootfs.img -m 2048 -e 129024 -c 4042 -x favor_lzo -X 20'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''md5sum rootfs.img &amp;gt; rootfs.md5'''''&lt;br /&gt;
&lt;br /&gt;
'''STOP! If your rootfs.img is getting close to 480Mb, you might not want to try and flash it.. it may be fine, but I would recommend 450Mb as an absolute maximum.'''&lt;br /&gt;
&lt;br /&gt;
== Flashing the Image ==&lt;br /&gt;
I shall repeat:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stick the following on to a FAT32 formatted SD card:&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''boot.scr''' - from the flash kit.&lt;br /&gt;
* '''rootfs.img''' - the image you've just created.&lt;br /&gt;
* '''rootfs.md5''' - the checksum to the image.&lt;br /&gt;
&lt;br /&gt;
Place it in slot 1 of your Pandora ( the left slot, ) reboot while holding the right trigger, select boot from SD, cross your fingers and pray to the Pandora Gods.&lt;br /&gt;
&lt;br /&gt;
Once it's done.. reboot and see what mess you've made, assuming you get it to boot!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you haven't got it to boot, on your FAT32 flasher card, add an autoboot.txt with the following:&lt;br /&gt;
 setenv bootargs ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ubi part boot &amp;amp;&amp;amp; ubifsmount boot &amp;amp;&amp;amp; ubifsload ${loadaddr} uImage &amp;amp;&amp;amp; bootm ${loadaddr};&lt;br /&gt;
&lt;br /&gt;
As this will let you see what's gone wrong... I had to do this a few times, as I buggered it up myself...&lt;br /&gt;
&lt;br /&gt;
Congratulations, you now have Debian on NAND rather than Angstrom.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, these instructions could easily be adapted to allow you to use any other distro that boots on Pandora.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7319</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7319"/>
		<updated>2011-04-04T00:48:44Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding details on Grip plus new release, some fixups, and replacing Angstrom on NAND with Debian for those feeling brave.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
I'm going to split this into three chunks now... standard Desktop Debian on SD using Squeeze/Lenny/Sid ( choose your poison, though only Squeeze is officially tested to work by myself, ) Emdebian GRIP install, and NAND install.&lt;br /&gt;
&lt;br /&gt;
= Little Note to Wiki Editors =&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Desktop Debian ==&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 and 1.0.4 &amp;quot;brute force&amp;quot; releases. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.4-grip.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2/3 formatted SD card.&amp;lt;br /&amp;gt;&lt;br /&gt;
For example: '''''tar -xvjpf pandora-squeeze*.tar.bz2 -C /media/sdcard .'''''&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
=== Changelog ===&lt;br /&gt;
==== Release 1.0 ====&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.1 ====&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.2 ====&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.3 ====&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
==== Release 1.0.4 ====&lt;br /&gt;
* 1.0.3 with lots of bugs fixed and based on Grip so it's got even more and super tiny in comparision.&lt;br /&gt;
* Contains; LXDE, GDM, Gnome MPlayer, IceWeasel ( firefox ) and Synaptic&lt;br /&gt;
&lt;br /&gt;
=== Release 1.1 Proposed ===&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
== Building From Scratch ==&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
=== Getting a Minimal Install from Scratch ===&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
==== Linux PC ====&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
==== Pandora ====&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Setting up Apt ===&lt;br /&gt;
I've forgotten about this, as mostly it'll be set to the default Debian repository, but should you want to change it: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/apt/sources.list'''''&lt;br /&gt;
&lt;br /&gt;
UK people can set this to ''deb ftp://ftp.uk.debian.org/debian main non-free contrib'' to get pretty much everything, or can pick whichever local Debian repository they like - but be warned that not all of them have an armel repo!&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, debootstrap will likely only get main.. adding the non-free and contrib branches are optional, but bring in more stuff.&lt;br /&gt;
&lt;br /&gt;
=== Desktop Environment ===&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
=== Device Drivers and PNDs ===&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
==== X Display Driver ====&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
==== SGX Drivers ====&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
===== Libraries =====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
===== Demos/SDK =====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
==== Keymap ====&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nubs ====&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
==== Touchscreen ====&lt;br /&gt;
===== Current 1.0.2/3 Release =====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
===== libts for other releases =====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth ====&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
==== Kernel and Misc Bits and Pieces ====&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things ====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
==== PNDs ====&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set:&lt;br /&gt;
===== rc0.d =====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
===== rc1.d =====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
===== rc2.d =====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
===== rc3.d =====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
===== rc4.d =====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
===== rc5.d =====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
===== rc6.d =====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
===== rcS.d =====&lt;br /&gt;
 ln -s ../init.d/pandora-state S39pandora-state&lt;br /&gt;
&lt;br /&gt;
Alternatively ( and this is what I did in Grip ) you can use update-rc.d to put these in, more or less.&lt;br /&gt;
 update-rc.d led-config defaults 05&lt;br /&gt;
 update-rc.d pandora-state defaults 31&lt;br /&gt;
 update-rc.d pndevmapperd-init defaults 30 40&lt;br /&gt;
 update-rc.d pndnotifyd-init defaults 30 40&lt;br /&gt;
&lt;br /&gt;
===== Script Fixups =====&lt;br /&gt;
We also need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&amp;lt;br /&amp;gt;&lt;br /&gt;
The update-rc.d program will shout at you which ones, and essentially, it's just some tidying up that needs done.&lt;br /&gt;
&lt;br /&gt;
=== Users and Permissions ===&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
=== Reboot and Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
==== auto/boot.txt ====&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you remove the '''console=ttyS0,115200n8''' part, you will be able to see debug text as the system boots up.&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
==== First Boot ====&lt;br /&gt;
&lt;br /&gt;
===== tslib calibration =====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Finish up installing any left overs =====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Cleanup ====&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
== Maintenance and Upgrades ==&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
== Common Issues/Fun Things To Do ==&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
=== Synaptic ===&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't work, why?! ===&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 and 1.0.4 do not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
=== Wifi and Session Management is broken?! ===&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
=== My PNDs don't appear immediately? ===&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
This should be fixed in 1.0.4&lt;br /&gt;
&lt;br /&gt;
=== I get no notifications in 1.0.3 ===&lt;br /&gt;
This is actually because notification-daemon hasn't been installed.&lt;br /&gt;
&lt;br /&gt;
=== Packages to add in 1.1! ===&lt;br /&gt;
Feel free to add packages here that I should include in the next release (1.1)&lt;br /&gt;
* wireless-tools&lt;br /&gt;
* x11-xserver-utils ( I keep forgetting this.. it's for xmodmap )&lt;br /&gt;
* xinput&lt;br /&gt;
&lt;br /&gt;
= Emdebian Grip =&lt;br /&gt;
Most of the above can be taken for Grip, with the following changes...&lt;br /&gt;
&lt;br /&gt;
Why Grip? It's much smaller and targeted for embedded devices... I originally was going to use Grip actually, but it was a bit buggered at the time, though it seems to be working now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Additionally, Emdebian comes in Crush and Baked flavours... Grip is compatible with Desktop Debian, so we'll use that.. Crush is smaller again, and generally requires a cross-compiler to setup packages, and Baked is effectively what we do with Angstrom.&lt;br /&gt;
&lt;br /&gt;
Emdebian could also in theory be shrunk enough to actually fit on NAND... which is something I'll be looking into - if only to document another alternative process to the Angstrom OE bitbake bonanza.&lt;br /&gt;
&lt;br /&gt;
== Multistrap ==&lt;br /&gt;
Grip's debootstrap is slightly different... it uses multistrap instead.&lt;br /&gt;
&lt;br /&gt;
This allows us to use Grip's repository as the base, and Desktop Debian's repositories for anything else we might need ( omap3 drivers, for instance. ) This is also particularly useful for us when I get around to doing Pandora specifics compiled for Debian, as then we just add that repository as well.&lt;br /&gt;
&lt;br /&gt;
Anyway, we need Debian running for this - be it on your Desktop ( or Ubuntu ) or on your Pandora ( recommended, as this guide assumes this is what you're doing. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Install Multistrap - '''''sudo apt-get install multistrap'''''&lt;br /&gt;
&lt;br /&gt;
You'll also need to mount an SD card somewhere manually.. I've mounted mine to /tmp/emdebian: '''''sudo umount /dev/mmcblk1p1 &amp;amp;&amp;amp; mount /dev/mmcblk1p1 /tmp/emdebian'''''&lt;br /&gt;
&lt;br /&gt;
=== Config File ===&lt;br /&gt;
'''''nano multistrap'''''&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
'''''sudo multistrap -f multistrap'''''&lt;br /&gt;
&lt;br /&gt;
Change /tmp/multistrap to where ever you want the debootstrap to occur.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gotcha''''' I had issues with it complaining about unauthenticated packages, just add '''--no-auth''' to your command line and it'll continue happily.''&lt;br /&gt;
&lt;br /&gt;
This shouldn't take too long ( was about half an hour on my Pandora ) and gives you a very sparse minimal rootfs of 192Mb.&lt;br /&gt;
&lt;br /&gt;
The following multistrap config will give you what's in the 1.0.4 Grip rootfs&lt;br /&gt;
 [General]&lt;br /&gt;
 arch=armel&lt;br /&gt;
 directory=/tmp/emdebian&lt;br /&gt;
 cleanup=true&lt;br /&gt;
 noauth=false&lt;br /&gt;
 unpack=true&lt;br /&gt;
 aptsources=Grip Debian&lt;br /&gt;
 debootstrap=Grip Debian&lt;br /&gt;
 &lt;br /&gt;
 [Debian]&lt;br /&gt;
 packages=xserver-xorg-video-omap3 libxcb-dri2-0 libnotify-bin xinput&lt;br /&gt;
 source=ftp://ftp.uk.debian.org/debian&lt;br /&gt;
 keyring=debian-archive-keyring&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
 &lt;br /&gt;
 [Grip]&lt;br /&gt;
 packages=lxde busybox network-manager-gnome xfce4-power-manager apmd gdm less sudo nano wireless-tools iceweasel synaptic gnome-mplayer x11-xserver-utils notification-daemon gnome-keyring&lt;br /&gt;
 keyring=emdebian-archive-keyring&lt;br /&gt;
 source=http://www.emdebian.org/grip&lt;br /&gt;
 suite=squeeze&lt;br /&gt;
&lt;br /&gt;
You could also add packages into the Grip and Debian configuration parts, and it will automatically pull them down and install them for you, be careful with what you pull in though, as not everything has been repackaged for Grip, so it will pull down the &amp;quot;full fat&amp;quot; variants from Debian instead.&lt;br /&gt;
&lt;br /&gt;
You might get errors of unconfigured packages, just chroot in and run '''''apt-get -f install''''' to finish up.. if there are warnings about proc, ignore them till you reboot into the rootfs and re-run '''''sudo apt-get -f install'''''.&lt;br /&gt;
&lt;br /&gt;
== Chroot and Setup ==&lt;br /&gt;
Now we can just chroot in and setup as we see fit.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /tmp/emdebian''''' - again, you may have mounted your media elsewhere.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&lt;br /&gt;
&lt;br /&gt;
You can now just follow the Debian guide as above, with the added bonus of most packages will come from Grip and be pre-stripped of extra fluff.&amp;lt;br /&amp;gt;&lt;br /&gt;
I would recommend to get as much stuff as possible downloaded in the initial multistrap however, as it will automatically clean stuff up for you.&lt;br /&gt;
&lt;br /&gt;
= Debian On NAND =&lt;br /&gt;
First of all, &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Get a Debian Rootfs ==&lt;br /&gt;
Your NAND has about 475Mb for the rootfs to play with ( there are other partitions, remember! ), therefore Desktop Debian is a bit too large for our purposes - even 1.0.3's complete massacre still ended up too big by far; so we need to look at Emdebian, of which there are three flavours - grip, crush and baked.&amp;lt;br /&amp;gt;&lt;br /&gt;
We'll be using Grip, so follow the guide above for at least getting a working system on SD before going anywhere near your NAND.&lt;br /&gt;
&lt;br /&gt;
We can use compression to get your rootfs down by 40-50%, but I'd still be vary wary of a large rootfs!&lt;br /&gt;
&lt;br /&gt;
If you're lazy, grab my pre-made Grip rootfs, which includes LXDE by default.&lt;br /&gt;
&lt;br /&gt;
== Preparing the Rootfs ==&lt;br /&gt;
Boot into your rootfs for this, so we can ensure we're as up to date as we can be, then clean the apt cache, and then any crap we installed which we don't need any more, such as things which were installed as dependencies and the parent's been removed.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get upgrade'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get clean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get autoclean'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you could wipe out the documentation ( if any ) and manually pull out unwanted packages. However, if you're pulling stuff out, you shouldn't have installed it in the first place! Go back to the start and do it again as punishment!&lt;br /&gt;
&lt;br /&gt;
This post on the Ubuntu forums is particularly helpful: http://ubuntuforums.org/showthread.php?t=140920&lt;br /&gt;
&lt;br /&gt;
Depending on your needs, you may also want to wipe out your home folder and reinstate it from /etc/skel&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll also want to wipe out tmp - '''''sudo rm -rf /tmp/*'''''&lt;br /&gt;
&lt;br /&gt;
Now shut down and either place your SD card in your PC. You can do this on Pandora, but you will need a lot of space.&lt;br /&gt;
&lt;br /&gt;
Copy your rootfs somewhere.. I suggest /tmp/pandora-debian&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir /tmp/pandora-debian'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cp -p -r /media/my/sd/card/* /tmp/pandora-debian''''' - this will preserve Permissions and copy everything Recursively.&lt;br /&gt;
&lt;br /&gt;
We need to edit the fstab so that it can boot properly, if you haven't done so already.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /tmp/pandora-debian/etc/fstab'''''&lt;br /&gt;
 # OpenPandora fstab.&lt;br /&gt;
 &lt;br /&gt;
 rootfs               /                    auto       defaults,noatime      1  1&lt;br /&gt;
 proc                 /proc                proc       defaults              0  0&lt;br /&gt;
 devpts               /dev/pts             devpts     mode=0620,gid=5       0  0&lt;br /&gt;
 usbfs                /proc/bus/usb        usbfs      defaults              0  0&lt;br /&gt;
 tmpfs                /var/volatile        tmpfs      defaults              0  0&lt;br /&gt;
 tmpfs                /dev/shm             tmpfs      mode=0777             0  0&lt;br /&gt;
 tmpfs                /media/ram           tmpfs      defaults              0  0&lt;br /&gt;
&lt;br /&gt;
This should look familiar, as it's effectively your stock fstab minus the boot partition ( we have a kernel in our rootfs, if you've followed the above guides... )&lt;br /&gt;
&lt;br /&gt;
We should also get rid of the autoboot.txt or boot.txt; '''''sudo rm /tmp/pandora-debian/autoboot.txt'''''&lt;br /&gt;
&lt;br /&gt;
== Creating the Image ==&lt;br /&gt;
You need mtd-utils in your Debian distro of choice. '''''sudo apt-get install mtd-utils'''''&lt;br /&gt;
&lt;br /&gt;
Now, mkfs.ubifs can compress using either LZO ( by default ) or zlib and will get your rootfs about 40-50% smaller depending on what you choose. It's also possible to use a combination of both, which is what we will do later.. Of course, if your rootfs is full of pre-compressed stuff already, it's not really going to shrink a great deal.&amp;lt;br /&amp;gt;&lt;br /&gt;
For a full run down on mkfs.ubifs and co, see here: http://www.linux-mtd.infradead.org/doc/ubifs.html&lt;br /&gt;
&lt;br /&gt;
Download the flash kit: http://openpandora.org/firmware/pandora-flash-kit.zip and extract it to /tmp/flash. I suggest reading the README as well.&lt;br /&gt;
&lt;br /&gt;
Now run these fun commands... what we're doing is we're making a ubifs image first, then making an md5 checksum.&amp;lt;br /&amp;gt;&lt;br /&gt;
We're also favoring LZO compression meaning we're mixing zlib and LZO to get the best compression we can.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ubifs -r /tmp/pandora-debian -o rootfs.img -m 2048 -e 129024 -c 4042 -x favor_lzo -X 20'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''md5sum rootfs.img &amp;gt; rootfs.md5'''''&lt;br /&gt;
&lt;br /&gt;
'''STOP! If your rootfs.img is getting close to 480Mb, you might not want to try and flash it.. it may be fine, but I would recommend 450Mb as an absolute maximum.'''&lt;br /&gt;
&lt;br /&gt;
== Flashing the Image ==&lt;br /&gt;
I shall repeat:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''WARNING: DO NOT ATTEMPT THIS.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''NO, SERIOUSLY, DON'T! THIS IS UTTERLY HACKY AND IT IS ON YOUR OWN HEAD IF YOU MESS UP.'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stick the following on to a FAT32 formatted SD card:&amp;lt;br /&amp;gt;&lt;br /&gt;
* '''boot.scr''' - from the flash kit.&lt;br /&gt;
* '''rootfs.img''' - the image you've just created.&lt;br /&gt;
* '''rootfs.md5''' - the checksum to the image.&lt;br /&gt;
&lt;br /&gt;
Place it in slot 1 of your Pandora ( the left slot, ) reboot while holding the right trigger, select boot from SD, cross your fingers and pray to the Pandora Gods.&lt;br /&gt;
&lt;br /&gt;
Once it's done.. reboot and see what mess you've made, assuming you get it to boot!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you haven't got it to boot, on your FAT32 flasher card, add an autoboot.txt with the following:&lt;br /&gt;
 setenv bootargs ubi.mtd=4 ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ubi part boot &amp;amp;&amp;amp; ubifsmount boot &amp;amp;&amp;amp; ubifsload ${loadaddr} uImage &amp;amp;&amp;amp; bootm ${loadaddr};&lt;br /&gt;
&lt;br /&gt;
As this will let you see what's gone wrong... I had to do this a few times, as I buggered it up myself...&lt;br /&gt;
&lt;br /&gt;
Congratulations, you now have Debian on NAND rather than Angstrom.&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, these instructions could easily be adapted to allow you to use any other distro that boots on Pandora.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7297</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7297"/>
		<updated>2011-04-01T19:54:47Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding apt details, fixing some line muckups and adding a list of packages to be includeded in 1.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 &amp;quot;brute force&amp;quot; release. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
== Little Note to Wiki Editors ==&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
=== Release 1.0 ===&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.1 ===&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.2 ===&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.3 ===&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
== Release 1.1 Proposed ==&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Setting up Apt ==&lt;br /&gt;
I've forgotten about this, as mostly it'll be set to the default Debian repository, but should you want to change it: &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo nano /etc/apt/sources.list'''''&lt;br /&gt;
&lt;br /&gt;
UK people can set this to ''deb ftp://ftp.uk.debian.org/debian main non-free contrib'' to get pretty much everything, or can pick whichever local Debian repository they like - but be warned that not all of them have an armel repo!&amp;lt;br /&amp;gt;&lt;br /&gt;
By default, debootstrap will likely only get main.. adding the non-free and contrib branches are optional, but bring in more stuff.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
==== Current 1.0.2/3 Release ====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
==== libts for other releases ====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
=== Battery Monitor ===&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
=== Misc Init Scripts and Things ===&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RC Scripts ===&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set:&lt;br /&gt;
==== rc0.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc1.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc2.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc3.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc4.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc5.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc6.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rcS.d ====&lt;br /&gt;
 ln -s ../init.d/pandora-state S39pandora-state&lt;br /&gt;
&lt;br /&gt;
==== Script Fixups ====&lt;br /&gt;
We also need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
==== tslib calibration ====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Finish up installing any left overs ====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
= Common Issues/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
== Wifi and Session Management is broken?! ==&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't appear immediately? ==&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
== I get no notifications in 1.0.3? ==&lt;br /&gt;
This is because there is no theme.. feel free to install one! I was just trying to make a small as possible rootfs, compared to 1.0.2's 1.2gig of stuff.&lt;br /&gt;
&lt;br /&gt;
== My nubs don't work in 1.0.3! ==&lt;br /&gt;
Try re-downloading.. I uploaded a bit too quick and missed the init script fiddling.&lt;br /&gt;
&lt;br /&gt;
== Packages to add in 1.1! ==&lt;br /&gt;
Feel free to add packages here that I include in the next release (1.1)&lt;br /&gt;
* wireless-tools&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7215</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7215"/>
		<updated>2011-03-27T01:06:55Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Marking the init script fiddling as important - as even I missed it with the 1.0.3 release and just re-uploaded it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 &amp;quot;brute force&amp;quot; release. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
== Little Note to Wiki Editors ==&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
=== Release 1.0 ===&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.1 ===&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.2 ===&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.3 ===&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
== Release 1.1 Proposed ==&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
==== Current 1.0.2/3 Release ====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
==== libts for other releases ====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
=== Battery Monitor ===&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
=== Misc Init Scripts and Things ===&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RC Scripts ===&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set:&lt;br /&gt;
==== rc0.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc1.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc2.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc3.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc4.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc5.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc6.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rcS.d ====&lt;br /&gt;
 ln -s ../init.d/pandora-state S39pandora-state&lt;br /&gt;
&lt;br /&gt;
==== Script Fixups ====&lt;br /&gt;
We also need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, the nub settings won't save, for instance, and some system scripts are not guaranteed to start up.&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
==== tslib calibration ====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Finish up installing any left overs ====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
= Common Issues/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
== Wifi and Session Management is broken?! ==&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't appear immediately? ==&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
== I get no notifications in 1.0.3? ==&lt;br /&gt;
This is because there is no theme.. feel free to install one! I was just trying to make a small as possible rootfs, compared to 1.0.2's 1.2gig of stuff.&lt;br /&gt;
&lt;br /&gt;
== My nubs don't work in 1.0.3! ==&lt;br /&gt;
Try re-downloading.. I uploaded a bit too quick and missed the init script fiddling.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Software_projects&amp;diff=7213</id>
		<title>Software projects</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Software_projects&amp;diff=7213"/>
		<updated>2011-03-26T23:30:06Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: /* Operating systems */ Fixing Debian download link to point to Debian_On_SD page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''These lists were last updated on 2011-03-25 to include the latest files from [http://apps.open-pandora.org/cgi-bin/viewarea.pl?Games Pandora Apps], the [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,9 File Archive], and the [[Software_projects#Forums|community forums]].''&lt;br /&gt;
&lt;br /&gt;
This is a list of '''all software projects''' for the Pandora ''excluding'' emulators (see: [[Emulator list]]), games (see: [[Games]]), and development tools (see: [[Development Tools]]). However, this list ''does'' include the development apps that can be used on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
See the [[Port Requests]] article for open-source projects which ''could'' be ported but have not been taken on by anyone yet.&lt;br /&gt;
&lt;br /&gt;
==Released software==&lt;br /&gt;
If you would like to add something, you could edit the wiki or [http://www.gp32x.com/board/index.php?/topic/54923-the-pandora-apps-thread/ post in this forum thread]. If different versions of a software were released, please make sure the &amp;quot;release date&amp;quot; is the most recent one. &lt;br /&gt;
&lt;br /&gt;
Please click on the little squares to sort by different categories (such as Release date, Type, etc.)&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[AbiWord]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (packaging)&lt;br /&gt;
|Office - word processor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/abiword.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__919843 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Alarm Clock ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,303 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Anki]] 1.2.5 ('''beta''')&lt;br /&gt;
|2011-01-25&lt;br /&gt;
|Drack (port)&lt;br /&gt;
|Office - memory aid&lt;br /&gt;
|[http://dl.dropbox.com/u/8938380/anki-1.2.4-drack1.pnd) Download]&lt;br /&gt;
|Discussion [http://www.gp32x.com/board/index.php?/topic/58929-anki-friendly-intelligent-flashcards/ 1] [http://boards.openpandora.org/index.php?/topic/34-anki-friendly-intelligent-flashcards/ 2]&lt;br /&gt;
|-&lt;br /&gt;
|[[Arora]] (for [[Minimenu]])&lt;br /&gt;
|2010-05-26&lt;br /&gt;
|Skeezix (quick hack)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,69 Archive]&lt;br /&gt;
|Needed to run Arora from Minimenu&lt;br /&gt;
|-&lt;br /&gt;
|[[Audacious]] 2.4.4&lt;br /&gt;
|2011-03-07&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/audacious.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54792-audacious/page__view__findpost__p__942175 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[b7zip]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Background killer&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|Notaz&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/background_killer.inf Apps]&lt;br /&gt;
|Kill background tasks in minimenu. {{HideableNotes|&amp;quot;[http://www.gp32x.com/board/index.php?/topic/56008-zelda-classic-for-pandora/page__st__15__p__907940&amp;amp;#entry907940 Not needed]&amp;quot; since Hotfix 3, but still useful as a quick way to make sure all other tasks are closed.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Banshee]]&lt;br /&gt;
|2010-10-23&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/banshee.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57144-portrequest-banshee/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Better battery charging ('''beta''')&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|WizardStan&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.rebirthofxeen.com/files/pandora/chargeHack1 Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1488-better-battery-charging-beta/page__view__findpost__p__40784 Discussion]. Not a PND; must install from terminal.&lt;br /&gt;
|-&lt;br /&gt;
|[[Bluefish Editor]] 2.0.3&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Network - web design&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,352 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58927-port-request-bluefish-editor/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Bournal]]&lt;br /&gt;
|2010-08-11&lt;br /&gt;
|&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,181 Archive]&lt;br /&gt;
|encrypted diary program&lt;br /&gt;
|-&lt;br /&gt;
|[[Brasero]]&lt;br /&gt;
|2011-03-01&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - CD/DVD burner&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,335 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58842-brasero/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]&lt;br /&gt;
|2010-09-04&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,90 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56474-chromium-4-with-ssl-and-chromium-snapshot/ Discussion]. SSL now works&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]-Dev v10.0.642.1&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,201 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58234-chromium-dev-snapshot-v10-0-642-1/ Discussion] [http://www.gp32x.com/board/index.php?/topic/57017-chromium-dev-updated/ (old)]. The latest (non-stable) snapshot.&lt;br /&gt;
|-&lt;br /&gt;
|[[Claunch]] ('''beta''')&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lamoxx&lt;br /&gt;
|System - app launcher&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/claunch_beta.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57040-claunch-minimal-flexible-rom-pickerapplication-launcher/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Claws Mail]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - mail client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/claw-mail.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,223 Archive]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920075 Discussion]. Hopefully doesn't save to NAND (testing needed).&lt;br /&gt;
|-&lt;br /&gt;
|[[Cmus]]&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|otherguy66 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,251 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57682-cmus-pnd-installer/page__gopid__928328&amp;amp;#entry928328 Discussion]. Installed to [[NAND]] (1mb). Text mode player&lt;br /&gt;
|-&lt;br /&gt;
|[[Code::blocks]]&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|sinoth (port)&lt;br /&gt;
|Development - IDE&lt;br /&gt;
|[http://sinoth.net/pandora/codeblocks.pnd.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54091-codeblocks-on-the-pandora/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|Community Codec Package&lt;br /&gt;
|2010-05-25&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/CodecPack.inf Apps] [http://openpandora.org/downloads/CodecPack.pnd Official site]&lt;br /&gt;
|Make sure you have this installed&lt;br /&gt;
|-&lt;br /&gt;
|[[Comix]]&lt;br /&gt;
|2010-06-30&lt;br /&gt;
|Pontus Ekberg&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/comix.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Conky]]&lt;br /&gt;
|2010-08-03&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Conky.pnd/ Download]&lt;br /&gt;
|System monitor. [http://www.gp32x.com/board/index.php?/topic/55775-conky Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Converseen]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,339 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58859-converseen/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DarCalc]]&lt;br /&gt;
|2010-08-28&lt;br /&gt;
|JP&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,196 Archive]&lt;br /&gt;
|See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Deadbeef]] 0.4.3&lt;br /&gt;
|2010-11-01&lt;br /&gt;
|CME (port), sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://root.shadow-node.net/public/cme/pnd/deadbeef.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55178-deadbeef-compiled-with-codesourcery-gcc-2010q1/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[dia]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - diagrams&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/dia.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56863-dia/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DrawSWF]] ('''beta''')&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Chrysipp (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.158 Download] &lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10105%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhilcfdbJF4gEtvmTIwMjO9EFqUQ-A Discussion (German)]. Must have Java.pnd installed. {{HideableNotes|A small drawing program. The drawing can be exported as a Flash animation, which then shows its gradual development.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Effigy]] (PEF) Emulator Frontend ('''beta''')&lt;br /&gt;
|2011-03-11&lt;br /&gt;
|Aimless_E&lt;br /&gt;
|System - frontend&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=301 Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2276-effigy-pef-emulator-frontend/ Discussion] ([http://www.gp32x.com/board/index.php?/topic/44952-pandora-emulator-frontend/ old])&lt;br /&gt;
|-&lt;br /&gt;
|[[Ekiga]] ('''beta''')&lt;br /&gt;
|2010-10-29&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ekiga.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/ Discussion]. Online phone &amp;amp; video calls. '''[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/page__view__findpost__p__924918 Doesn't work]'''{{HideableNotes| though it can be made to work through Debian, [[Extend Utils]]: [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Emelfm2]]&lt;br /&gt;
|2011-03-09&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,351 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58928-port-request-emelfm2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Empathy]] 2.29.6 ('''beta''')&lt;br /&gt;
|2011-03-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - IM client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/empathy.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58911-empathy/ Discussion]. No networks included yet.&lt;br /&gt;
|-&lt;br /&gt;
|[[Enna]] ('''beta''')&lt;br /&gt;
|2010-07-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/enna.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55113-enna/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Exaile]]&lt;br /&gt;
|2010-04-28&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,43 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Exaile.inf Apps]&lt;br /&gt;
|Needs Community Codec Pack to run&lt;br /&gt;
|-&lt;br /&gt;
|[[Extend Utils]]&lt;br /&gt;
|2010-06-22&lt;br /&gt;
|Stuckie&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ 1], [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/ 2]. Debian in an extend. Allows you to run over 29,000 programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[F3]]&lt;br /&gt;
|2010-10-17&lt;br /&gt;
|slaeshjag (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://stuffs.slaeshjag.org/F3.tar Download]&lt;br /&gt;
|Test for fake flash memory (like H2testw). [http://www.gp32x.com/board/index.php?/topic/57063-some-quick-tips-to-help-avoid-fake-sd-cardsflash-media/page__view__findpost__p__922187 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FBReader]] 0.12.10&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|zx81 (port)&lt;br /&gt;
|Office - eBook Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,168 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fbreader-0.12.10.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 4.0b3 ('''beta''')&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Mozilla Team, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,75 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Fennec40.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58514-fennec-4-0b3/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 3.6.3&lt;br /&gt;
|2010-05-30&lt;br /&gt;
|Mozilla Team, Iampanis (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fennec.inf Apps]&lt;br /&gt;
|mobile version of FireFox&lt;br /&gt;
|-&lt;br /&gt;
|[[Figaro's Password Manager 2]] ('''beta''')&lt;br /&gt;
|2010-11-30&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - passwords&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,254 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57714-figaros-password-manager-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]]&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Evildragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,91 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/FireFox.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 3.6.13&lt;br /&gt;
|2011-01-28&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-3.6.13-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56903-firefox-3-6-10/ Discussion (old)], [http://www.gp32x.com/board/index.php?/topic/58425-firefox-3-6-13/ news/discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 4.0B10 ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-4b10-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58489-firefox-4-beta-10/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FlipClock]] ('''beta''')&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|torpor (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58548-port-flipclock-for-pandora/ Discussion], also [http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/page__view__findpost__p__937668 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fotoxx]]&lt;br /&gt;
|2010-12-06&lt;br /&gt;
|Kornelix&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Graphics - photo editor &amp;amp; manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,261 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57777-fotoxx/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Freemind]] 0.9.0&lt;br /&gt;
|2011-03-10&amp;lt;br/&amp;gt;2010-11-21&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Office - mind mapping&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,4,240 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/679-freemind-a-mindmap-tool/page__view__findpost__p__39752 Discussion] [http://www.gp32x.com/board/index.php?/topic/57605-freemind-a-mindmap-tool/ (old)] . Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[GanttProject]] 2.0.10&lt;br /&gt;
|2011-03-19&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Office - project management&lt;br /&gt;
|[http://mash-systeme.de/downloads/ganttproject.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,364 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2491-ganttproject-2010/ Discussion] [http://en.wikipedia.org/wiki/GanttProject Wiki article]. Needs Java.pnd&lt;br /&gt;
|-&lt;br /&gt;
|[[GCalc]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,241 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57636-gcalc-graphic-calculator/ Discussion]. Needs java.pnd installed. See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[gCalctool]]&lt;br /&gt;
|2011-02-26&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://mash-systeme.de/downloads/gcalctool.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1964-mutt-links2-and-gcalctool/page__gopid__36838#entry36838 Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[Geany]] v0.19-1&lt;br /&gt;
|2010-09-16&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,14,205 Archive] [http://dl.dropbox.com/u/39448/pandora/geany.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55432-geany/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gedit]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gedit.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56862-gedit/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gerbv]]&lt;br /&gt;
|2010-09-14&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - EDA&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,202 Archive]&lt;br /&gt;
|viewer for Gerber RS-274X, Excellon drill, &amp;amp; CSV pick-and-place files&lt;br /&gt;
|-&lt;br /&gt;
|[[gFTP]] 2.0.18 ('''beta''')&lt;br /&gt;
|2010-07-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - FTP client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gftp.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54931-gftp/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GIMP]] v2.6 ('''beta''')&lt;br /&gt;
|2010-06-06&lt;br /&gt;
|Stuckie (quick hack)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/gimp-2.6.pnd Download]&lt;br /&gt;
|Read instructions [http://www.gp32x.com/board/index.php?/topic/54071-ubuntu-or-other-dist-alternative/page__p__868411&amp;amp;#entry868411 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gmu Music Player]] 0.7.2 &lt;br /&gt;
|2010-12-29&lt;br /&gt;
|wejp&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://wejp.k.vu/files/gmu-0.7.2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58009-gmu-music-player-0-7-2/ Discussion] [http://www.gp32x.com/board/index.php?/topic/55007-gmu-music-player-0-7-1-released/ (old)]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnomad 2]]&lt;br /&gt;
|2010-10-18&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music manager&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnomad2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57088-gnomad2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnome Music Player Client]] (GMPC) 0.20.0 ('''beta''')&lt;br /&gt;
|2010-08-01&lt;br /&gt;
|tsh (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[https://sites.google.com/site/tshpandorastuff/file-cabinet/gmpc0.20.0.pnd?attredirects=0&amp;amp;d=1 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55664-gmpc-beta/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnumeric]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - spreadsheet&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnumeric.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920072 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GoldenDict]] 0.9.0Svn&lt;br /&gt;
|2010-09-27&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,209 Archive] [http://www.rangelreale.com/pandora/goldendict.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56802-goldendict-0-9-0svn/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GParted]]&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|System - partition&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gparted.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56915-gparted/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gPicView]]&lt;br /&gt;
|2011-03-10&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gpicview.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58938-gpicview/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|GQview&lt;br /&gt;
|2010-07-27&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/GQview.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55559-gqview-pnd-image-viewer-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Grafx2]]&lt;br /&gt;
|2010-12-30&lt;br /&gt;
|pulkomandy, yrizoud, mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,264 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58016-grafx2/ Discussion]. For pixel art.&lt;br /&gt;
|-&lt;br /&gt;
|[[Grafx2]] SVN v1713&lt;br /&gt;
|2010-12-30&lt;br /&gt;
|pulkomandy, yrizoud, et al.&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,330 Archive]&lt;br /&gt;
|For pixel art.&lt;br /&gt;
|-&lt;br /&gt;
|[[GrooveShark Player]]&lt;br /&gt;
|2011-03-11&lt;br /&gt;
|Elias Woods, coldbird (port)&lt;br /&gt;
|Network - music streaming&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,354 Archive]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58952-getting-on-grooveshark/page__view__findpost__p__942959 GP32X] [http://boards.openpandora.org/index.php?/topic/2273-compile-groove-for-pandora/ OP]. [http://en.wikipedia.org/wiki/Grooveshark Grooveshark] client. {{HideableNotes|&amp;quot;you can listen to a gigantic Online Music Archive for free.&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Groove]]&lt;br /&gt;
|2010-07-19&lt;br /&gt;
|Elias Woods, bompo (port)&lt;br /&gt;
|Network - music streaming&lt;br /&gt;
|[http://dl.dropbox.com/u/39448/pandora/Groove.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58952-getting-on-grooveshark/ Discussion]. [http://en.wikipedia.org/wiki/Grooveshark Grooveshark] client. '''Warning''': {{HideableNotes|Requires installing dependencies with opkg. See discussion thread.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[GRsync]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,340 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58861-grsync/ Discussion]. Synchronize folders &amp;amp; files, make backups&lt;br /&gt;
|-&lt;br /&gt;
|[[Gwaei]]&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Zachary Dovel&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,249 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57674-gwaei-port-japanese-english-dictionary/ Discussion]. Japanese-English.&lt;br /&gt;
|-&lt;br /&gt;
|[[hfsutils]]&lt;br /&gt;
|2011-03-10&lt;br /&gt;
|Silent-Hunter (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=295 Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2236-hfsutils-port/ Discussion]. For reading &amp;amp; writing Macintosh file systems.&lt;br /&gt;
|-&lt;br /&gt;
|[[HomeBank]] 4.3&lt;br /&gt;
|2011-02-26&lt;br /&gt;
|Maxime Doyen, mcobit (port)&lt;br /&gt;
|Office - money manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,296 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58506-homebank/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Hotfix 5&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.openpandora.org/downloads/HotFix5-Zaxxon.pnd Official site]&lt;br /&gt;
|Make sure you have this installed. Discussion: [http://www.gp32x.com/board/index.php?/topic/58867-hotfix-5-released/ GP32X] [http://boards.openpandora.org/index.php?/topic/2080-hotfix-5-released/page__pid__37497#entry37497 OP]&lt;br /&gt;
|-&lt;br /&gt;
|[[Inkscape]] ('''beta''')&lt;br /&gt;
|2010-10-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/inkscape.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56954-inkscape/ Discussion]. Currently very slow.&lt;br /&gt;
|-&lt;br /&gt;
|[[Java]] Pnd ('''beta''')&lt;br /&gt;
|2010-11-21&lt;br /&gt;
|WizardStan (port)&lt;br /&gt;
|System - dependency&lt;br /&gt;
|[http://rebirthofxeen.com/files/pandora/java.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57598-java-pnd/ Discussion]. Run Java apps.&lt;br /&gt;
|-&lt;br /&gt;
|[[jEdit]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,244 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57614-jedit-programmers-text-editor/ Discussion]. For programmers. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jChemPaint]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule drawing&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,242 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57633-jchempaint/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMol]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule viewing in 3D&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,243 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57618-jmol-3d-molecule-viewer/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMP3 Player]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|jaijuju&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.156 Download]&lt;br /&gt;
|[http://code.google.com/p/jmp3player/ Website]. Java.pnd required.&lt;br /&gt;
|-&lt;br /&gt;
|[[Jumanji]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|b3w (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://www.mediafire.com/?5va2dj4x6bkrobi Download] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/jumanji.inf Apps]&lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11821 Discussion (German)]. [https://wiki.archlinux.org/index.php/Jumanji Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|[[KCHMViewer]] 5.2&lt;br /&gt;
|2010-10-05&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - CHM Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,215 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56901-kcmviewer/ Discussion.] Windows help files reader.&lt;br /&gt;
|-&lt;br /&gt;
|[[KDiff 3]]&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Joachim Eibl&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,299 Archive] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1440-kdiff3-0995-pandora-3/ Discussion]. Merge 2 or 3 text input files or directories&lt;br /&gt;
|-&lt;br /&gt;
|[[Keyboard layout changer]]&lt;br /&gt;
|2011-03-18&lt;br /&gt;
|slaeshjag&lt;br /&gt;
|System - configuration&lt;br /&gt;
|[http://stuffs.slaeshjag.org/kblayout.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2428-keyboard-layout-changer/ Discussion]. Shows up in Settings as Keyboard Layout&lt;br /&gt;
|-&lt;br /&gt;
|[[Liferea]]&lt;br /&gt;
|2010-07-06&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - RSS Reader&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/liferea.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55089-liferea/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Lightweight2]] 1.5&lt;br /&gt;
|2011-03-22&lt;br /&gt;
|cpttom, mcobit (port), Zero3K (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,332 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58836-lightweight2/page__view__findpost__p__944075 Discussion]. Small, fast browser.&lt;br /&gt;
|-&lt;br /&gt;
|[[Links2]]&lt;br /&gt;
|2011-03-10&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,333 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1964-mutt-links2-and-gcalctool/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[Linphone]] ('''beta''')&lt;br /&gt;
|2011-01-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/linphone.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58289-linphone Discussion]. Online phone calls.&lt;br /&gt;
|-&lt;br /&gt;
|[[Lynx]] v2.8.7&lt;br /&gt;
|2011-02-28&lt;br /&gt;
|Mhaws (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,331 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1998-lynx-087/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Me TV]]&lt;br /&gt;
|2010-10-19&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - digital TV&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/metv.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56987-port-request-me-tv/page__p__921501&amp;amp;#entry921501 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Merkaartor]] 0.17.0&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/merkaartor.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56656-merkaartor-or-other-osm-editor/page__p__922345&amp;amp;#entry922345 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[MilkyTracker]]&lt;br /&gt;
|2010-06-23&lt;br /&gt;
|Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,102 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/milkytracker.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57612-remember-the-only-2-keyboard-buttons-at-once-limitation/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Minitube]] 1.4&lt;br /&gt;
|2011-03-05&lt;br /&gt;
|Flavio Tordini, sebt3 (port)&lt;br /&gt;
|Network - Youtube client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/?f=minitube.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/55952-minitube-1-1/ v1.1] [http://www.gp32x.com/board/index.php?/topic/58183-minitube-1-3/ v1.3] [http://www.gp32x.com/board/index.php?/topic/57099-new-version-of-minitube-avaiable/page__view__findpost__p__941908 v1.4]. Youtube browser/player&lt;br /&gt;
|-&lt;br /&gt;
|[[mtPaint]]&lt;br /&gt;
|2010-07-27&amp;lt;br/&amp;gt;2010-12-29&lt;br /&gt;
|Mark Tyler, daniel3000 (port 1), chris_c (port 2)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/mtPaint.pnd/ Download (port 1)] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,263 Archive (port 2)]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55561-mtpaint-pnd-available/ Discussion]. For painting &amp;amp; pixel art. Ported twice.&lt;br /&gt;
|-&lt;br /&gt;
|[[Mutt]]&lt;br /&gt;
|2011-03-01&lt;br /&gt;
|mash (port)&lt;br /&gt;
|Network - email client&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,334 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1964-mutt-links2-and-gcalctool/ Discussion]. Text-based.&lt;br /&gt;
|-&lt;br /&gt;
|[[MyPaint]]&lt;br /&gt;
|2011-02-27&lt;br /&gt;
|First (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://webusers.spa.umn.edu/~laurens/pnd/mypaint-0.9.0.pnd Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1817-mypaint-port/ Discussion]. [http://mypaint.intilinux.com/ Website]. Has pressure sensitivity.&lt;br /&gt;
|-&lt;br /&gt;
|[[ncmpcpp4P]] v0.5.7.0&lt;br /&gt;
|2011-03-01&lt;br /&gt;
|remogatto (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[https://github.com/downloads/remogatto/ncmpcpp4P/ncmpcpp4P_v0.5.7.0.pnd Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2032-ncmpcpp4p/ Discussion]. [http://unkart.ovh.org/ncmpcpp/ Website] ncurses-based music player&lt;br /&gt;
|-&lt;br /&gt;
|[[Netsurf]] 2.6&lt;br /&gt;
|2011-03-08&lt;br /&gt;
|slaeshjag(port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://stuffs.slaeshjag.org/netsurf.pnd Download]&lt;br /&gt;
|Discussion: [http://boards.openpandora.org/index.php?/topic/2129-netsurf/ OP] [http://www.gp32x.com/board/index.php?/topic/58913-netsurf-2-6/ GP32X] No SSL support&lt;br /&gt;
|-&lt;br /&gt;
|[[Nightvision]] 3.0&lt;br /&gt;
|2011-03-12&lt;br /&gt;
|F_Slim (port)&lt;br /&gt;
|Office - planetarium&lt;br /&gt;
|[http://www.slimpages.de/extern/nightvision.pnd.zip Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2299-nightvision-30/ Discussion] [http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11810 (German}]. Needs java.pnd installed. May not work in HF5&lt;br /&gt;
|-&lt;br /&gt;
|[[Ommpc]] v0.5.4&lt;br /&gt;
|2010-10-06&lt;br /&gt;
|Tim Temple&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,133 Archive]&lt;br /&gt;
|MPD client [http://www.gp32x.com/board/index.php?/topic/55039-ommpc-v0-5-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[OSM2Go]]&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osm2go.pnd Download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Osmo]] ('''beta''')&lt;br /&gt;
|2010-09-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - personal organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osmo.pnd Download]&lt;br /&gt;
|[http://clayo.org/osmo/ Website] [http://www.gp32x.com/board/index.php?/topic/56455-osmo/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[PanDebian]]&lt;br /&gt;
|2011-02-04&lt;br /&gt;
|Gregor&lt;br /&gt;
|System&lt;br /&gt;
|[http://codu.org/tmp/pandebian.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1474-pandebian/ Discussion]. [[Extend Utils]] alternative for Angstrom-Debian cooperation&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Fractals&lt;br /&gt;
|2010-08-26&lt;br /&gt;
|Or Green&lt;br /&gt;
|Graphics - fractals&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/PFractals.inf Apps]&lt;br /&gt;
|fractal generator. [http://www.gp32x.com/board/index.php?/topic/51402-mandelbrot-set-generator-for-pandora/page__st__75 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora SD Installer 1.2&lt;br /&gt;
|2011-03-19&lt;br /&gt;
|Dave1234&lt;br /&gt;
|System&lt;br /&gt;
|[http://boards.openpandora.org/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=337 Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2297-pandora-sd-installer/page__view__findpost__p__42772 Discussion]. Install Pandora OS to your SD card.&lt;br /&gt;
|-&lt;br /&gt;
|[[PanPlayer]] Beta 4&lt;br /&gt;
|2011-02-24&lt;br /&gt;
|JDGBOLT&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,114,298 Archive] [http://apps.openpandora.org/cgi-bin/viewapp.pl?/Application/PanPlayer.inf Apps]&lt;br /&gt;
|'''Needs Hotfix 5'''. [http://www.gp32x.com/board/index.php?/topic/58769-panplayer-beta/ Discussion]. Optimized mplayer build&lt;br /&gt;
|-&lt;br /&gt;
|[[Pencil]] 0.4.4b ('''beta''')&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - animation&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pencil.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57362-pencil/ Discussion]. 2D animation &amp;amp; drawing.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pepviewer]]&lt;br /&gt;
|2011-02-22&lt;br /&gt;
|Skadus (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.mediafire.com/?t0sop9wrj087e1t Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1869-pepviewer/ Discussion]. Ported from PSP.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pidgin]] 2.7.10&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - IM client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pidgin.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56898-pidgin/ Discussion]. This version no longer uses [[NAND]] to [http://www.gp32x.com/board/index.php?/topic/56898-pidgin/page__view__findpost__p__934658 store data].&lt;br /&gt;
|-&lt;br /&gt;
|[[PNDbuilder]] v1.1&lt;br /&gt;
|2011-02-22&lt;br /&gt;
|freedomdown (Ryan Dallaire)&lt;br /&gt;
|Development&lt;br /&gt;
|[http://www.freedomdown.ca/storage/pndb.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58587-pndbuilder/page__view__findpost__p__940230 Discussion]. Graphical PND maker.&lt;br /&gt;
|-&lt;br /&gt;
|PS3 Bluetooth Controller - Sixpair Utility&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|Jim Paris, Samson Yeung, AireTamStrm (port) &lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,4 Archive]&lt;br /&gt;
|Use a DualShock III Controller or SIXAXIS controller via USB&lt;br /&gt;
|-&lt;br /&gt;
|[[PSFreedom]]&lt;br /&gt;
|2010-09-23&lt;br /&gt;
|Notaz (port)&lt;br /&gt;
|Other&lt;br /&gt;
|[http://pandorapress.net/gruso/psfreedom.ko Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56752-psfreedom-for-pandora/ Discussion]. Allows homebrew on your PS3.&lt;br /&gt;
|-&lt;br /&gt;
|[[qBittorrent]]&lt;br /&gt;
|2011-03-16&lt;br /&gt;
|Coldbird (port)&lt;br /&gt;
|Network - BitTorrent client&lt;br /&gt;
|[http://dl.dropbox.com/u/13011238/qbittorrent-1.3.3-pandora.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58993-qbittorrent/ GP32X] [http://boards.openpandora.org/index.php?/topic/2389-qbittorrent/page__gopid__41612#entry41612 OP]&lt;br /&gt;
|-&lt;br /&gt;
|[[qOrganizer]]&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qorganizer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,233 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57359-qorganizer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[QSynth &amp;amp; FluidSynth]] 0.3.5 ('''beta''')&lt;br /&gt;
|2011-03-18&lt;br /&gt;
|Kazuki (port)&lt;br /&gt;
|Audio - synthesizer&lt;br /&gt;
|[http://pandora.idb.s1.jcink.com/qsynth-0.3.5.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/59011-porting-qsynth-fluidsynth-with-yactfeau/page__view__findpost__p__943670 Discussion] [http://qsynth.sourceforge.net/qsynth-index.html Website] {{HideableNotes|software synthesiser based on the Soundfont specification.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[QtSpotify]]&lt;br /&gt;
|2011-03-11&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - music streaming&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qtspotify.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58955-qtspotify/ Discussion]. Spotify client.&lt;br /&gt;
|-&lt;br /&gt;
|Quick Change CPU Speed&lt;br /&gt;
|2010-06-20&lt;br /&gt;
|Pleng&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/CPUSpeeds.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54583-quick-change-cpu-speeds/ Discussion]. Add CPU speed presets to your menu.&lt;br /&gt;
|-&lt;br /&gt;
|RAM Defragger 0.4.0&lt;br /&gt;
|2011-03-16&lt;br /&gt;
|Tobias 'knilch' Jordan&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,359 Archive]&lt;br /&gt;
|memory optimizer&lt;br /&gt;
|-&lt;br /&gt;
|[[Remmina]]&lt;br /&gt;
|2010-06-21&lt;br /&gt;
|mindlord (port)&lt;br /&gt;
|Network - VNC/RDP/XDMCP client&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,99 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/remmina.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54610-remmina-0-7-5/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[Rockbox]] 3.8.x ('''beta''')&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|Thomas Jarosch, froggyman (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,343 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/2094-rockbox-as-an-app/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[RText]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Fifesoft, Chrysipp (port)&lt;br /&gt;
|Development - text editor&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.157 Download]&lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10106%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhivaNHspNg4XSb4aOpjskxivvIRXw Discussion (German)]. Must have Java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Mod Player]]&lt;br /&gt;
|2010-06-10&lt;br /&gt;
|?&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.79 Download]&lt;br /&gt;
|Player for MOD and XM.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Tracker]]&lt;br /&gt;
|2010-06-19&lt;br /&gt;
|Storlek, Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,89 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/schismtracker.inf Apps]&lt;br /&gt;
|Clone of Impulse Tracker&lt;br /&gt;
|-&lt;br /&gt;
|[[Scientific Calculator]]&lt;br /&gt;
|2011-02-14&lt;br /&gt;
|Chrysipp (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://web.student.tuwien.ac.at/~e0725060/JavaScientificCalculator.pnd Download] &lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11714 Discussion (German)]. Must have Java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Scite]] 2.21&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|urjaman (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://urjaman.dyndns.info/scite221.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57116-scite-2-21-ported/ Discussion]. Scintilla-based syntax highlighting text editor&lt;br /&gt;
|-&lt;br /&gt;
|SD Card Speed Fix&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|mawler&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,88 Archive]&lt;br /&gt;
|improve SD writing speed, but risk data corruption if writing is interrupted&lt;br /&gt;
|-&lt;br /&gt;
|[[Seq24]] ('''beta''')&lt;br /&gt;
|2010-09-06&lt;br /&gt;
|Gruso (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://users.tpg.com.au/pw2007/seq24.beta1.pnd Download] &lt;br /&gt;
|MIDI sequencer. [http://www.gp32x.com/board/index.php?/topic/56517-seq24-midi-sequencer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SMPlayer]] 0.6.9-1&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|Ivanovic (port)&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,114,298 Archive] &lt;br /&gt;
|MPlayer frontend. [http://www.gp32x.com/board/index.php?/topic/58511-smplayer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SUPA]] 0.1-1 ('''beta''')&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Simple Updater for Pandora Applications&amp;lt;/small&amp;gt; &lt;br /&gt;
|2010-07-04&lt;br /&gt;
|Bryce Leo&lt;br /&gt;
|System - Application Downloader/Updater&lt;br /&gt;
|[http://drive.and-a-half.com/SUPA.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55023-supa-simple-updater-for-pandora-applications/ Discussion]. No GUI yet.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synergy]]&lt;br /&gt;
|2010-10-09&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|Network - VNC client&lt;br /&gt;
|[http://www.mediafire.com/?npdbkibd5bm5ckb Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56943-synergy-clientserver-as-pnd/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[TiMidity++]] 2.13.3 (player + Daemon loader)&lt;br /&gt;
|2011-03-21&lt;br /&gt;
|Gruso (port)&lt;br /&gt;
|Audio - MIDI&lt;br /&gt;
|[http://bunnitude.com/gruso/timidity-alsa-daemon.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/59041-timidity-2-13-2-port/ GP32X] [http://boards.openpandora.org/index.php?/topic/2450-timidity/ OP]. Must install Timidity MIDI Installer first. {{HideableNotes|This makes Timidity visible to sequencers as a device.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Timidity MIDI Installer]]&lt;br /&gt;
|2011-01-12&lt;br /&gt;
|sebt3&lt;br /&gt;
|Audio - MIDI&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/timidity_midi_installer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,273 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58173-midi-installer/ Discussion]. MIDI patches installer. {{HideableNotes|It will allow you to have music for games that use MIDI. There are 3 different sound-sample sets packing different levels of sound quality. Installs to [[NAND]], though you can put them on SD card and then it's less than 2k on NAND (2 2-line files).}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Transmission]]&lt;br /&gt;
|2010-09-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - BitTorrent client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/transmission.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,208 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56553-bit-torrent-client/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueCrypt]] ('''beta''')&lt;br /&gt;
|2011-02-12&amp;lt;br/&amp;gt;2010-07-18&lt;br /&gt;
|TJSomething (port)&amp;lt;br/&amp;gt;daniel3000 (old port)&lt;br /&gt;
|System - encryption&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,321 Archive] [http://www.hermocom.com/en/downloads/openpandora/TrueCrypt.pnd/ old version]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1763-truecrypt-port/ Discussion]. [http://www.gp32x.com/board/index.php?/topic/55347-truecrypt-pnd-ready-for-testing/ Discussion (old)].&lt;br /&gt;
|-&lt;br /&gt;
|[[TV-Browser]] ('''beta''')&lt;br /&gt;
|2011-02-13&lt;br /&gt;
|chrysipp (port)&lt;br /&gt;
|Network - TV guide&lt;br /&gt;
|[http://web.student.tuwien.ac.at/~e0725060/TVBrowser.pnd Download] &lt;br /&gt;
|[http://forum.gp2x.de/viewtopic.php?f=59&amp;amp;t=11706 Discussion (German)]. [http://sourceforge.net/projects/tvbrowser/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|[[Unace]]&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UnRar]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UPX]] (The Ultimate Packer for eXecutables)&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Viewnior 1.0&lt;br /&gt;
|2010-07-29&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://bunnitude.com/gruso/Viewnior.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55618-viewnior-pnd-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Vim Gvim 7.2 ('''beta''')&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Discussion]. [http://www.vim.org/about.php About]. Not a PND.&lt;br /&gt;
|-&lt;br /&gt;
|[[VLC]] 1.1.0 ('''beta''')&lt;br /&gt;
|2010-10-12&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player (video &amp;amp; audio)&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/vlc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54922-vlc/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Wahcade]] Emulator Frontend b1 ('''beta''')&lt;br /&gt;
|2011-02-06&lt;br /&gt;
|Sigma (port)&lt;br /&gt;
|System - frontend&lt;br /&gt;
|[http://www.mediafire.com/?h8o33khvtcy3x8m Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1508-wahcade-frontend-beta1/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[Wbar]]&lt;br /&gt;
|2011-03-03&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - app launcher&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,338 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58858-wbar/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|WiFi &amp;quot;Another Test Wifi Driver&amp;quot; ('''Beta''')&lt;br /&gt;
|2011-03-05&lt;br /&gt;
|David, notaz&lt;br /&gt;
|System&lt;br /&gt;
|[http://notaz.gp2x.de/misc/pnd/wl1251-modules_1.0-r24.5_omap3-pandora.ipk Download] &lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58888-another-test-wifi-driver/ GP32X] [http://boards.openpandora.org/index.php?/topic/2151-another-test-wifi-driver/ OP]. HF5 only, not for use with HF6.&lt;br /&gt;
|-&lt;br /&gt;
|WiFi '''Beta test'''&lt;br /&gt;
|2010-11-05&lt;br /&gt;
|Evildragon&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.openpandora.org/downloads/WiFiBETA.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57364-wifi-betatest/ Discussion]. Might fix WiFi issues.&lt;br /&gt;
|-&lt;br /&gt;
|[[Xarchiver]] 0.5.2&lt;br /&gt;
|2010-12-04&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,259 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57748-xarchiver/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Xbindkeys&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/xbindkeys-1.8.3_prebuild.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57037-xbindkeys-precompiled/ Discussion]. Configure hotkeys&lt;br /&gt;
|-&lt;br /&gt;
|[[XBMC]] 10.0 ('''beta''')&lt;br /&gt;
|2011-03-13&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xbmc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57106-xbmc-media-center/page__view__findpost__p__942955 Discussion]. Functions as &amp;quot;entertainment hub&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|XFE 1.32.1&lt;br /&gt;
|2010-07-20&lt;br /&gt;
|Maxim Baranov, Roland Baudin, packaged by sebt3&lt;br /&gt;
|System - file manager, packager&amp;lt;br/&amp;gt;Graphics - image viewer&amp;lt;br/&amp;gt;Office - notepad&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,163 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Xournal]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xournal.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56864-xournal/ Discussion]. Can annotate PDFs.&lt;br /&gt;
|-&lt;br /&gt;
|[[Zim]]&lt;br /&gt;
|2011-03-02&lt;br /&gt;
|Mindlord (port)&lt;br /&gt;
|Office - personal wiki&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,337 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58850-zim-the-desktop-wiki/page__view__getnewpost Discussion]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Skins===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Basic Gray&lt;br /&gt;
|2010-11-25&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=506 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueFuture&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,239 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=434 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Executive&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,250 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928158 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Gray Is Sexy&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.liquidfists.com/files/grayissexy.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928315 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Midnight&lt;br /&gt;
|2010-06-17&lt;br /&gt;
|Trevsweb&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://trevsweb.com/pandainterface/midnight.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Newsprint&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/newsprint.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedDevil&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,248 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928099 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=433 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Toybox &amp;amp; Corporate (2 skins)&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=432 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Wasp&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,238 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Operating systems===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Debian ('''beta''')&lt;br /&gt;
|2011-02-20&lt;br /&gt;
|Stuckie&lt;br /&gt;
|Debian&lt;br /&gt;
|[http://pandorawiki.org/Debian_On_SD#Debian_On_SD Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/page__view__findpost__p__940030 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu With Toggle Detail Panel Support ('''beta''')&lt;br /&gt;
|2011-01-23&lt;br /&gt;
|skeezix&lt;br /&gt;
|Minimenu&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/detail-toggle/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58327-beta%3B-minimenu-with-toggle-detail-panel-support/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-01-26&lt;br /&gt;
|skeezix&lt;br /&gt;
|Minimenu&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110126.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|skeezix&lt;br /&gt;
|Minimenu&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110127.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|skeezix&lt;br /&gt;
|Minimenu&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110202.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-09&lt;br /&gt;
|skeezix&lt;br /&gt;
|Minimenu&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110209.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/page__view__findpost__p__938340 Discussion]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphic engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[GLES]] ('''beta''')&lt;br /&gt;
|2010-09-02&lt;br /&gt;
|Farox (port)&lt;br /&gt;
|&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
===Demos/technical demos===&lt;br /&gt;
&lt;br /&gt;
==Unreleased software (&amp;quot;Projects Under Development&amp;quot;)==&lt;br /&gt;
This section includes both software that is actively being worked on, as well as ones that are or may be abandoned. The latter are included for historical purposes. &lt;br /&gt;
&lt;br /&gt;
===Operating systems===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Android Omap&lt;br /&gt;
|[http://elinux.org/Android_on_OMAP]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AROS Arm&lt;br /&gt;
|[http://projects.powerdeveloper.org/project/imx515/735]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Debian&lt;br /&gt;
|[http://debian.org] [http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/]&lt;br /&gt;
|working build&lt;br /&gt;
|Stuckie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|[http://wiki.freebsd.org/FreeBSD/arm/OMAP]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fedora ARM&lt;br /&gt;
|[http://fedoraproject.org/wiki/Architectures/ARM]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gentoo Linux&lt;br /&gt;
|[http://neuvoo.org] [http://vminko.org/gentoo_manuals/pandora]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|javaJake, Viridior, vminko&lt;br /&gt;
|IRC: (FreeNode) #gentoo-pandora&lt;br /&gt;
|-&lt;br /&gt;
|HaikuOS&lt;br /&gt;
|[http://www.haiku-os.org]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ohhie GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58320-video-ohhie-gui/]&lt;br /&gt;
|working build&lt;br /&gt;
|Pleng&lt;br /&gt;
|Last update: Jan. 2011&lt;br /&gt;
|-&lt;br /&gt;
|RISC&amp;amp;nbsp;OS&lt;br /&gt;
|[[RISC OS|Link]]&lt;br /&gt;
|wip&lt;br /&gt;
|Uwe Kall, Jeffrey Lee + others&lt;br /&gt;
|BeagleBoard port available for download and testing.&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu ARM&lt;br /&gt;
|[http://www.ubuntu.com/products/whatisubuntu/arm]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Xoo on ubuntu&lt;br /&gt;
|[[Xoo on ubuntu|Link]]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game Engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|OLA.G.E&lt;br /&gt;
|[http://sourceforge.net/projects/olage/]&lt;br /&gt;
|Wip&lt;br /&gt;
|neilae&lt;br /&gt;
|Game Engine with Authoring Tool for multiplatforms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphic Engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|GLES2D&lt;br /&gt;
|&lt;br /&gt;
|Wip&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|OpenGL ES 2D library&lt;br /&gt;
|-&lt;br /&gt;
|GL-WES-v2.0&lt;br /&gt;
|[http://code.google.com/p/gl-wes-v2/] &lt;br /&gt;
|Working Build&lt;br /&gt;
|Adventus&lt;br /&gt;
|Opensource OpenGL 2.0 driver built on OpenGL ES 2.0&lt;br /&gt;
|-&lt;br /&gt;
|Irrlicht&lt;br /&gt;
|[http://irrlicht.sourceforge.net/] [http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32538&amp;amp;start=45]&lt;br /&gt;
|working build&lt;br /&gt;
|Hybrid&lt;br /&gt;
|3D game engine&lt;br /&gt;
|-&lt;br /&gt;
|NSS Engine&lt;br /&gt;
|[http://www.nosiestastudios.com/wiki/] [http://www.youtube.com/user/Prompt84]&lt;br /&gt;
|&lt;br /&gt;
|No Siesta Studios&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OGRE Engine&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46706] [http://www.youtube.com/watch?v=LDtUE5PIhV0]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3D real-time renderer&lt;br /&gt;
|-&lt;br /&gt;
|Otaco Glost Engine&lt;br /&gt;
|[http://www.youtube.com/user/otacogloost], [http://www.gp32x.com/board/index.php?/topic/48393-i-did-stuff/page__p__736650&amp;amp;#entry736650]&lt;br /&gt;
|working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quad-Ren 2D&lt;br /&gt;
|[http://quad-ren.sourceforge.net/index.php]&lt;br /&gt;
|Working&lt;br /&gt;
|Hessiess&lt;br /&gt;
|Version 0.5 &lt;br /&gt;
|-&lt;br /&gt;
|SDL GLES&lt;br /&gt;
|[http://github.com/Cpasjuste/sdl-1.2.13_gles/tree]&lt;br /&gt;
|working&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XreaL&lt;br /&gt;
|[http://xreal.sourceforge.net/xrealwiki/]&lt;br /&gt;
|&lt;br /&gt;
|Pickle&lt;br /&gt;
|No longer being worked on. [http://www.gp32x.com/board/index.php?/topic/55173-xreal-patch-question/]&lt;br /&gt;
|-&lt;br /&gt;
|Stratagus&lt;br /&gt;
|[http://stratagus.sourceforge.net/]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|RTS Engine&lt;br /&gt;
|-&lt;br /&gt;
|WakeBreaker&lt;br /&gt;
|[http://w1xer.at/pandora/]&lt;br /&gt;
|working codebase - can be compiled onboard&lt;br /&gt;
|torpor&lt;br /&gt;
|Working C++ codebase to implement a 3D game using nothing more than OpenGLES 1.1 .. can even be built *on* the Pandora, with nothing more than the onboard compiler. WakeBreaker contains everything you need to get started writing a 3D game in C++ with OpenGL ES - no further libraries required. Its an excellent example of how to write a 3D game in plain, easy to understand C++ and can serve as a working base for your own developments, easily enough.&lt;br /&gt;
|}&lt;br /&gt;
===Other programs===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Inside The Box&lt;br /&gt;
|[http://www.openpandora.pl broken] [http://www.youtube.com/watch?v=uLMmJBDEs2E broken]&lt;br /&gt;
|wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Pandora e-zine&lt;br /&gt;
|-&lt;br /&gt;
|Math-NEON&lt;br /&gt;
|[http://code.google.com/p/math-neon/]&lt;br /&gt;
|Wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|cmath like library optimized for ARM NEON coprocessor&lt;br /&gt;
|-&lt;br /&gt;
|MythTVPlayer&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/52882-mythtvplayer/]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Media center + TV/DV recording&lt;br /&gt;
|-&lt;br /&gt;
|Pandaphone&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48327-pandaphone/]&lt;br /&gt;
|&lt;br /&gt;
|jb0yx&lt;br /&gt;
|project to incorporate the Open Pandora handheld device with cell phone technology&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Sync Suite&lt;br /&gt;
|[http://www.openpandora.pl broken]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|Pangea GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=45631&amp;amp;hl=pangea]&lt;br /&gt;
|WIP&lt;br /&gt;
|efegea&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|Panorama&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51076-panorama/]&lt;br /&gt;
|abandoned &lt;br /&gt;
|dflemstr&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|PDM&lt;br /&gt;
|[http://github.com/Cpasjuste/pdm/tree]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Light desktop manager for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PGui&lt;br /&gt;
|[http://github.com/Cpasjuste/pgui/tree]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Standard emulator fronted for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PMenu&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PND Builder for windows&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/47088-pnd-builder-for-windows/]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Qemu&lt;br /&gt;
|[http://wiki.qemu.org/]&lt;br /&gt;
|testing build&lt;br /&gt;
|Fabrice Bellard&lt;br /&gt;
|open source machine emulator and virtualizer&lt;br /&gt;
|-&lt;br /&gt;
|Scale&lt;br /&gt;
|[http://www.youtube.com/user/Zoxc64]&lt;br /&gt;
|wip&lt;br /&gt;
|Zoxc64&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Simple Dev Studio for Pandora&lt;br /&gt;
|[http://www.openpandora.pl broken]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Application stack for multiplayer internet games&lt;br /&gt;
|}&lt;br /&gt;
===Demos / Technical Demos for OpenPandora===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Cell Shading&lt;br /&gt;
|[http://www.youtube.com/watch?v=cpAj0jHglGw]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Demo with MP3 Playback&lt;br /&gt;
|[http://www.youtube.com/watch?v=hkx18kruRJs]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Skull Demo&lt;br /&gt;
|[http://www.youtube.com/watch?v=qG7EDaZpyOo]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WaveDemo&lt;br /&gt;
|[http://www.youtube.com/watch?v=4wgEHFCq9Lo]&lt;br /&gt;
|Working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://sebt3.openpandora.org/pnd/ Releases by sebt3]&lt;br /&gt;
*[http://www.hermocom.com/en/downloads/openpandora/ Releases by Hermocom]&lt;br /&gt;
*[http://rebirthofxeen.com/files/pandora/ Releases by WizardStan]&lt;br /&gt;
*[http://www.stuckiegamez.co.uk/apps/pandora/ Releases by Stuckie]&lt;br /&gt;
*[http://www.pandorasource.de/download.php PandoraSource.de downloads] - German Pandora download site&lt;br /&gt;
&lt;br /&gt;
===Forums===&lt;br /&gt;
The following community forums are checked when updating this page:&lt;br /&gt;
*From GP32X: [http://www.gp32x.com/board/index.php?/forum/63-news-zone-pandora/ News Zone], [http://www.gp32x.com/board/index.php?/forum/71-beta-testing-pandora/ Beta Testing] and [http://www.gp32x.com/board/index.php?/forum/64-developers-corner-pandora/ Developer's Corner]&lt;br /&gt;
*From OP: [http://boards.openpandora.org/index.php?/forum/26-software-news/ Software News] and [http://boards.openpandora.org/index.php?/forum/10-beta-testing/ Beta Testing]&lt;br /&gt;
*From GP2X.de: [http://forum.gp2x.de/viewforum.php?f=24 News] and [http://forum.gp2x.de/viewforum.php?f=59 Betatest]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:List]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7211</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7211"/>
		<updated>2011-03-26T22:11:52Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Fprgot .asoundrc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 &amp;quot;brute force&amp;quot; release. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
== Little Note to Wiki Editors ==&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
=== Release 1.0 ===&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.1 ===&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.2 ===&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.3 ===&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
== Release 1.1 Proposed ==&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
==== Current 1.0.2/3 Release ====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
==== libts for other releases ====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
=== Battery Monitor ===&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
=== Misc Init Scripts and Things ===&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.asoundrc /media/mmcblk0p1/etc/skel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RC Scripts ===&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set:&lt;br /&gt;
==== rc0.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc1.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc2.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc3.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc4.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc5.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc6.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rcS.d ====&lt;br /&gt;
 ln -s ../init.d/pandora-state S39pandora-state&lt;br /&gt;
&lt;br /&gt;
We also need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
==== tslib calibration ====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Finish up installing any left overs ====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
= Common Issues/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
== Wifi and Session Management is broken?! ==&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't appear immediately? ==&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
== I get no notifications in 1.0.3? ==&lt;br /&gt;
This is because there is no theme.. feel free to install one! I was just trying to make a small as possible rootfs, compared to 1.0.2's 1.2gig of stuff.&lt;br /&gt;
&lt;br /&gt;
== My nubs don't work in 1.0.3! ==&lt;br /&gt;
Yes they do, I just didn't pre-configure them! Go to Preferences-&amp;gt;Nubs and set them up yourself.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7210</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7210"/>
		<updated>2011-03-26T22:01:58Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Updated for 1.0.3 changes - the final &amp;quot;brute force&amp;quot; release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''' This documents the final 1.0.3 &amp;quot;brute force&amp;quot; release. The 1.1 &amp;quot;debianized&amp;quot; release will take a while and not involve this process at all. '''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
== Little Note to Wiki Editors ==&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
=== Release 1.0 ===&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.1 ===&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.2 ===&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.3 ===&lt;br /&gt;
* Effectively 1.0.2 with the WiFi and Session Management bug fixed.&lt;br /&gt;
* Much slimmer as it's done from scratch again without the dev setup ~805mb rootfs&lt;br /&gt;
&lt;br /&gt;
== Release 1.1 Proposed ==&lt;br /&gt;
* libts, amongst other libraries, using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
* Perhaps an updated kernel using the patches from mainline.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2/ext3 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself, or debootstrap from within Debian... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment ( Squeeze has e16 .. and is faster than I expected )&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
1.0.3 has slimmed stuff down again.&amp;lt;br /&amp;gt;&lt;br /&gt;
Once in the chroot jail, I've performed the following: '''''aptitude install --without-recommends lxde-core slim lxterminal zenity less xserver-xorg-video-omap3 network-manager-gnome synaptic xfce4-power-manager apmd libnotify-bin gedit epiphany-browser eject gksu gnome-bluetooth python-dbus ca-certificates xinput busybox''''' which will effectively pull in all the Debian specifics we'll be needing, gutting out a rather large amount of cruft.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does something else again.. it does not have the '''killall -1 pndnotifyd &amp;amp;''' line, instead it has the following:&lt;br /&gt;
 sudo /etc/init.d/pndnotifyd-init restart&lt;br /&gt;
 sudo /etc/init.d/pndevmapperd-init restart&lt;br /&gt;
And has edited /etc/sudoers.d/99_libpnd to add access to those two lines without being prompted for a password.&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
==== Current 1.0.2/3 Release ====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
My values, which you should put into .xsession, are as follows: '''''xinput set-int-prop &amp;quot;touchscreen&amp;quot; &amp;quot;Evdev Axis Calibration&amp;quot; 32 3936 125 3873 183''''' and you'll need xinput installed ( which you should've done above if following the 1.0.3 path. )&lt;br /&gt;
&lt;br /&gt;
==== libts for other releases ====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox if you haven't already, so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
=== Battery Monitor ===&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
=== Misc Init Scripts and Things ===&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RC Scripts ===&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set:&lt;br /&gt;
==== rc0.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc1.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc2.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc3.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc4.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc5.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc6.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rcS.d ====&lt;br /&gt;
 ln -s ../init.d/pandora-state S39pandora-state&lt;br /&gt;
&lt;br /&gt;
We also need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
==== tslib calibration ====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Finish up installing any left overs ====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install if your rootfs didn't have it. )&lt;br /&gt;
&lt;br /&gt;
= Common Issues/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, sometimes there are odd issues, so if you fix something odd, place it here too.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2 and 1.0.3&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
1.0.3 does not have library compatibility as it caused extra issues in 1.0.2, you'll need to either wait for 1.1 or pull in the needed libraries yourself.&lt;br /&gt;
&lt;br /&gt;
== Wifi and Session Management is broken?! ==&lt;br /&gt;
Pre-1.0.3 there was an issue with this.. it should now be fixed in 1.0.3 so if you don't want to update, perform the following:&lt;br /&gt;
'''''sudo rm -f /etc/udev/rules.d/70-persistent-net.rules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
and reboot.. everything should now work properly.&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't appear immediately? ==&lt;br /&gt;
This is an odd one.. by rights they should.. and I also don't quite understand why pndnotifyd kicks in when you open a terminal, but it does.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you haven't done so already, open up a terminal and then close it.. pndnotifyd then starts up and takes care of all the PND stuff for you.&lt;br /&gt;
&lt;br /&gt;
== I get no notifications in 1.0.3? ==&lt;br /&gt;
This is because there is no theme.. feel free to install one! I was just trying to make a small as possible rootfs, compared to 1.0.2's 1.2gig of stuff.&lt;br /&gt;
&lt;br /&gt;
== My nubs don't work in 1.0.3! ==&lt;br /&gt;
Yes they do, I just didn't pre-configure them! Go to Preferences-&amp;gt;Nubs and set them up yourself.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7138</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=7138"/>
		<updated>2011-03-23T10:07:13Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Updated to 1.0.2 process.. apologies to Xiloynaha for obliterating changes, I had too many of my own to try and sort out.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
''''' This might be a bit iffy just now, I need to go through this and recheck some details.. use at your own risk... '''''&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.2.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.2.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
Default User details are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
== Little Note to Wiki Editors ==&lt;br /&gt;
I change this a lot offline and then plaster the changes on during a new release.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you're going to go changing this page, please contact me first so I don't accidentally obliterate your changes, or that you do changes to the style I've set out that I don't agree with!&amp;lt;br /&amp;gt;&lt;br /&gt;
This may well be against the &amp;quot;wiki spirit&amp;quot; .. but I spend days/weeks typing up these changes and testing them.. so a little consideration please :)&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
=== Release 1.0 ===&lt;br /&gt;
* First release&lt;br /&gt;
* libts issues&lt;br /&gt;
* libpnd issues&lt;br /&gt;
* Overly fat with stuff&lt;br /&gt;
* Wifi issues for some people&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.1 ===&lt;br /&gt;
* First documented release&lt;br /&gt;
* libts issues persist&lt;br /&gt;
* Most libpnd issues fixed&lt;br /&gt;
* Slimmed down to ~830mb&lt;br /&gt;
* Made Wifi issues worse and accidentally stripped out more than needed&lt;br /&gt;
&lt;br /&gt;
=== Release 1.0.2 ===&lt;br /&gt;
* Replaced libts with evdev... doesn't cause X choking.&lt;br /&gt;
* libpnd should behave now, though the pnd services don't seem to get kicked till a terminal is opened, and even then they turn zombie.. eh?&lt;br /&gt;
* Added full dev setup.. so it's fat.. it's 1.2gig extracted.&lt;br /&gt;
* Replaced GDM with SLIM.&lt;br /&gt;
&lt;br /&gt;
== Release 1.1 Proposed ==&lt;br /&gt;
* libts using OpenPandora patched version.&lt;br /&gt;
* Pandora specifics wrapped as Debian archives.&lt;br /&gt;
* Pandora specifics repo to deal with updates to drivers from mainline.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users, First Boot Scripts and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Additional:&amp;lt;br /&amp;gt;&lt;br /&gt;
Installing LXDE via the above command pulls in GDM by default.. if you use ''lxde-core'' instead, it removes a lot of the stuff that pulls in random things, and if you additionally use '''''aptitude install --without-recommends lxde-core''''' it should strip out even more. You will need to manually install ''less'', ''zenity'', and ''xterm'' for example. Zenity is especially needed for all the Pandora config scripts.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After some fiddling, if you stick the following into ''.xsession'' it'll actually get called...&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
 exec startlxde&lt;br /&gt;
&lt;br /&gt;
Of course, this is a bit hacky and hard-coded in that if you've chosen something other than lxde, you'll probably want to change that startlxde to something else!&lt;br /&gt;
&lt;br /&gt;
1.0.2 does something really hacky and actually starts pndnotifyd and pndevmapperd as daemons directly.&amp;lt;br /&amp;gt;&lt;br /&gt;
It also starts up the xfce4-power-manager for a battery meter.&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
==== Current 1.0.2 Release ====&lt;br /&gt;
1.0.2 uses evdev instead of libts for the touchscreen. This doesn't really require any configuration for the most part, but does need to be calibrated.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need a full dev setup on the Pandora for this, as you'll need to compile the xinput_calibrator - http://www.freedesktop.org/wiki/Software/xinput_calibrator however it's fairly trivial once all the libraries are installed.&lt;br /&gt;
&lt;br /&gt;
==== libts for other releases ====&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
This will be fixed properly when WiFi issues settle, so I can finalize a build system and re-do everything as packages - including libts with the OpenPandora-specific patches from the git.&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Debian's bluetooth setup seems to kick in and work without issue.&amp;lt;br /&amp;gt;&lt;br /&gt;
Probably need to get a clean way to toggle it on and off - as it defaults to being on.&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
=== Battery Monitor ===&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install xfce4-power-manager'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Somewhat cheeky perhaps, but it does work! [http://www.gp32x.com/board/index.php?/topic/57653-a-guide-to-installing-lxde/page__view__findpost__p__928896 see this post]&lt;br /&gt;
&lt;br /&gt;
If you add '''''xfce4-power-manager &amp;amp;''''' before '''''exec startlxde''''' in your .xsession, it'll start up automatically for you.&lt;br /&gt;
&lt;br /&gt;
=== Misc Init Scripts and Things ===&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now, and clean up some stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RC Scripts ===&lt;br /&gt;
&lt;br /&gt;
We also need to disable some things from running.. the first run script specifies the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f samba remove&lt;br /&gt;
 update-rc.d -f xinetd remove&lt;br /&gt;
 update-rc.d -f avahi-daemon remove&lt;br /&gt;
 update-rc.d -f apmd remove&lt;br /&gt;
 update-rc.d -f usb-gadget remove&lt;br /&gt;
 update-rc.d -f banner remove&lt;br /&gt;
 update-rc.d -f portmap remove&lt;br /&gt;
 update-rc.d -f mountnfs remove&lt;br /&gt;
 update-rc.d -f blueprobe remove&lt;br /&gt;
 update-rc.d -f dropbear remove&lt;br /&gt;
 update-rc.d -f wl1251-init remove&lt;br /&gt;
&lt;br /&gt;
We'll also need to add some bits to the rc.d script set:&lt;br /&gt;
==== rc0.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc1.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc2.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc3.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc4.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
&lt;br /&gt;
==== rc5.d ====&lt;br /&gt;
 ln -s ../init.d/led-config S05led-config&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init S30pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init S30pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rc6.d ====&lt;br /&gt;
 ln -s ../init.d/led-config K05led-config&lt;br /&gt;
 ln -s ../init.d/pandora-state K31pandora-state&lt;br /&gt;
 ln -s ../init.d/pndevmapperd-init K40pndevmapperd-init&lt;br /&gt;
 ln -s ../init.d/pndnotifyd-init K40pndnotify-init &lt;br /&gt;
&lt;br /&gt;
==== rcS.d ====&lt;br /&gt;
 ln -s ../init.d/pandora-state S39pandora-state&lt;br /&gt;
&lt;br /&gt;
We also need to fiddle with a few of the scripts - specifically led-config to add the dummy LSB information ( just rip it out of another script, and leave Required-Start, Required-Stop, Default-Start and Default-Stop empty, ) and pandora-state where you need to blank out the #adjust marker as it causes Debian to have fits.&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G netdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
==== tslib calibration ====&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Finish up installing any left overs ====&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install! )&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The 1.0.1 release did not include Synaptic.. it's back in 1.0.2&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back for the 1.0.1 release, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PND don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
1.0.2 has some library compatibility with Pandora Angstrom but it's not complete. The PNDs of Wesnoth and BattleJewels will work for example, whereas SuperTux and GravityForce do not.&lt;br /&gt;
&lt;br /&gt;
Library compatibility was achieved by pulling packages manually from older revisions, symlinking some libraries and pulling stuff from experimental.. it was trial and error so, is a tad iffy.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6865</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6865"/>
		<updated>2011-03-12T13:36:56Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Added premade boot SD, and another warning about grabbing the latest rootfs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm hoping to try and get this into a weekly series parts as time permits.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
&lt;br /&gt;
== I'm Lazy, Give Me A Pre-Configured Thing! ==&lt;br /&gt;
Here you go: http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/zaxxon-premade-dev.tar.bz2 ~250mb&lt;br /&gt;
&lt;br /&gt;
Extract to an ext2/3 formatted SD card, and boot. Simple!&lt;br /&gt;
&lt;br /&gt;
== Tell Me What You Did ==&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs - though lately, these appear to be very out of sync between Pandora OE and Angstrom OE so be careful!&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg install libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Documentation]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6705</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6705"/>
		<updated>2011-03-08T02:04:54Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding third part - Event and Input Systems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm hoping to try and get this into a weekly series parts as time permits.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
* [[GLESGAE:The Event and Input Systems]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Documentation]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6428</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6428"/>
		<updated>2011-02-26T16:57:56Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding link to part two.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm hoping to try and get this into a weekly series parts as time permits.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
* [[GLESGAE:Setting Up A Window and Context]]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Documentation]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=User:Stuckie&amp;diff=6410</id>
		<title>User:Stuckie</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=User:Stuckie&amp;diff=6410"/>
		<updated>2011-02-25T00:32:05Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Adding GLESGAE link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I do scary dodgy hacks ;)&lt;br /&gt;
&lt;br /&gt;
Homesite: [http://www.stuckiegamez.co.uk stuckieGAMEZ]&lt;br /&gt;
&lt;br /&gt;
= Scary Hacks =&lt;br /&gt;
== Extend Utils ==&lt;br /&gt;
[[Extend Utils]] - The Extend Utils suite which allows loading of loop files for swap, overlays and OS extensions.&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debian on SD ==&lt;br /&gt;
[[Debian On SD]] - OS project to get Debian running on Pandora via SD card; maintaining all Debian and Pandora features.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Projects =&lt;br /&gt;
== GLESGAE ==&lt;br /&gt;
[[GLESGAE]] - GL ES Game Application Engine; an engine originally written for Pandora to aid in GL ES programming and porting to other capable devices.&amp;lt;br /&amp;gt;&lt;br /&gt;
Not released as yet.&lt;br /&gt;
&lt;br /&gt;
= Unmaintained Ports =&lt;br /&gt;
Unmaintained in the sense that, they've been released and work as far as I'm aware.. unless someone shouts at me otherwise, they'll stay that way!&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm also not directly keeping an eye on the original package for updates.&lt;br /&gt;
== MAXR ==&lt;br /&gt;
* Technically, this does work completely as intended as they only have multi-player running, and no single player.&lt;br /&gt;
* Might be tempted to upgrade it at some point if there's interest, and there's been an update since.&lt;br /&gt;
&lt;br /&gt;
== MilkyTracker ==&lt;br /&gt;
* There was a bug report that an HF5 beta had issues with it... will test again once HF5 is final.&lt;br /&gt;
&lt;br /&gt;
== SchismTracker ==&lt;br /&gt;
* Had no bug reports from it, I assume it's fine.&lt;br /&gt;
&lt;br /&gt;
== gMPC ==&lt;br /&gt;
* There's a much better port than the one I quickly put together.&lt;br /&gt;
&lt;br /&gt;
== gimp ==&lt;br /&gt;
* Very very quick and hacky port... really needs a rebuild properly.&lt;br /&gt;
&lt;br /&gt;
== Bennu ==&lt;br /&gt;
* Have had zero feedback on this at all.. no idea if it even works right as I don't use the language so couldn't test properly.&lt;br /&gt;
&lt;br /&gt;
= Package Site =&lt;br /&gt;
My packages can usually be found on http://www.stuckiegamez.co.uk/apps/pandora .. if linking to this, I'm &amp;quot;stuckie&amp;quot; not &amp;quot;stuckieGAMEZ&amp;quot; or any variation of!&lt;br /&gt;
&lt;br /&gt;
= Contact Details =&lt;br /&gt;
Can be found in irc mostly... PM me if you don't get a response in a timely fashion, and I'll contact you when I'm around.&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6409</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6409"/>
		<updated>2011-02-25T00:31:29Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Fixed up links in Table of Contents.. ok they're on the same page, but it's the principle of the thing!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm hoping to try and get this into a weekly series parts as time permits.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE_Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine_Design_Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment_Setup Environment Setup]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Documentation]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6408</id>
		<title>GLESGAE</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=GLESGAE&amp;diff=6408"/>
		<updated>2011-02-25T00:30:28Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Initial Page for GLESGAE - tutorial/guide for building an engine for Pandora.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= GLESGAE - GL ES Game Application Engine =&lt;br /&gt;
&lt;br /&gt;
GLESGAE is a vehicle for a series of tutorials on building a game engine for the Pandora console from scratch.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm hoping to try and get this into a weekly series parts as time permits.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#GLESGAE%20Overview GLESGAE Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Engine%20Design%20Overview Engine Design Overview]&lt;br /&gt;
* [http://pandorawiki.org/index.php?title=GLESGAE#Environment%20Setup Environment Setup]&lt;br /&gt;
&lt;br /&gt;
= GLESGAE Overview =&lt;br /&gt;
To try not spam the wiki to death, I'll include the first two parts here, but subsequent parts will be in their own pages as they're more to deal with actual development problems rather than general overview stuff.&amp;lt;br /&amp;gt;&lt;br /&gt;
Where possible, I'll also combine things if they're related to the last part that I did - IE: generating a window, and then adding ES contexts.&lt;br /&gt;
&lt;br /&gt;
Originally, I was going to attempt to take part in the Platformer Homebrew Competition over on the OpenPandora boards. However, with free time being very limited, no engine to speak of, the need to do assets and that it's already been going a month so I'm a bit behind, I've decided to tackle a somewhat different challenge - build and document an engine, originally for Pandora and spawning out elsewhere later.&lt;br /&gt;
&lt;br /&gt;
Yes, another engine.&lt;br /&gt;
&lt;br /&gt;
I've been dragging my old SGZEngine around for quite a while now.. though it's never really got much further than it has, and it's full of weird quirks and bugs that with each project, I spend more time working around than writing actual logic.&amp;lt;br /&amp;gt;&lt;br /&gt;
I did start another engine - SGEngine ( dropped the Z ) - however this was highly experimental in fobbing off every subsystem to a dynamically runtime loadable DLL to facilitate mix and matching bits and pieces. Especially useful for testing OpenGL and D3D renderers and a neat hack, but not much use as it was becoming highly complicated to do anything.&amp;lt;br /&amp;gt;&lt;br /&gt;
This brings us to GLESGAE. The name being chosen due to me being Scottish, and it being an amusing mnemoic to begin with.&lt;br /&gt;
&lt;br /&gt;
Recently, I've been doing a lot of Android programming.&amp;lt;br /&amp;gt;&lt;br /&gt;
This involved writing a custom renderer for GLES1 and then onto GLES2.&amp;lt;br /&amp;gt;&lt;br /&gt;
With my previous experience of writing such low level GL code being glBegin(); ... glEnd(); I effectively got thrown in at the deep end and had to fight a bit to stay afloat. However, I pulled through, and while furthering the work engine is always going to be appreciated by them; there's already a defined system of how things work, and I wanted to change a bit too much of that.. so a new personal engine it is; using the new found knowledge I've just gained.&lt;br /&gt;
&lt;br /&gt;
So, with the introduction out of the way, this ( weekly, with any luck ) set of tutorials, guides and random gibberings on building an engine while I continue GLESGAE shall begin.&lt;br /&gt;
&lt;br /&gt;
= Engine Design Overview =&lt;br /&gt;
&lt;br /&gt;
Game Engines are somewhat of a necessary evil these days if you have any inclination of producing more than one game on a system, or one game on many systems.&lt;br /&gt;
However, there is also a very real danger of writing a solution for a non-existing problem - an engine without a game.&lt;br /&gt;
As such, I will be writing a game alongside this as well, to make sure that the engine does in fact have useful features.&lt;br /&gt;
&lt;br /&gt;
The danger of writing an engine without a game in mind, is that you keep adding bits and pieces and end up not really getting anywhere. Which is exactly what happened with SGEngine. Lots of neat hacks, but it never really got anywhere, and it's a right pig to try and get working for anything serious now.&lt;br /&gt;
It was still a useful educational experience, as I learned how to deal with dynamic runtime libraries across Windows and *nix systems, as well as a more saner route for platform independent modules - SGZEngine essentially had a platform folder where all the code went, and interfaces and objects everywhere else. It wasn't particularly clean, even though it sounds like it should've been.&lt;br /&gt;
&lt;br /&gt;
So what is an Engine?&amp;lt;br /&amp;gt;&lt;br /&gt;
In the purest sense, it's a collection of generic functions that when wired up can help you create code much quicker. Generally, a Game Engine can pull in other Engines such as Rendering Engines, Audio Engines and Physics Engines - all tailor made for their own specific domains.&amp;lt;br /&amp;gt;&lt;br /&gt;
As programmers we do tend to have the habit of being a bit ego-centric with an &amp;quot;I can rewrite the wheel better!&amp;quot; attitude. This can get us in to trouble at times! While I specifically want to deal with GL ES rendering on my own, I'll be pulling in OpenAL for audio and bullet or perhaps box2d for Physics; while trying to leave things open to be able to switch these out for something else at a later date.&lt;br /&gt;
&lt;br /&gt;
This is therefore going to be a set of tutorials on building a Game Engine with a custom Graphics Engine in particular.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, a Game Engine isn't just Audio, Graphics and Physics - though these are by far the most interesting parts of a Game Engine.&lt;br /&gt;
You'll also generally need a set of utility functions that range from file I/O, input handling, event handling, memory management, resource management, and much more.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want to abstract logic out to a scripting engine; something I've a lot of experience with and quite fond of, so shall be pulling in Lua as well for this purpose.&lt;br /&gt;
&lt;br /&gt;
While on PC development ( and by extension, Pandora ) you can generally get away with just new/malloc random things at any point and free/delete when necessary all over the place, certain consoles don't particularly like that and you're generally better off managing your own heap and memory pages so you know exactly where your memory is at any time, and can cache things yourself, rather than relying on anything that may or may not do what you expect.&lt;br /&gt;
&lt;br /&gt;
File Management can also catch you unaware on other platforms. Android, for example, has a rather strict permission system whereby you only really have access to your own package, and the contents of the sdcard. Granted, Android 2.3 gives you more control, but if you're writing NDK apps for &amp;lt;2.3 you'll have to jump back and forth between Java and C where file management becomes a whole new game of fun.&lt;br /&gt;
&lt;br /&gt;
And what about input? The Pandora has those nubs! those lovely lovely nubs, dpad, face buttons, shoulder buttons, touchscreen and a full keyboard! You've also got the possibility of godknows what connected via USB - game pads, mice, full-sized keyboards...&lt;br /&gt;
&lt;br /&gt;
I won't even start about threading and the chaos that can bring... then there's networking, which is even worse!&lt;br /&gt;
&lt;br /&gt;
Finally, there's the thought of how you organize data and feed it to your engine.&amp;lt;br /&amp;gt;&lt;br /&gt;
These days, most engines follow a very data-driven design - and for good reason! You don't want to have to recompile half your codebase just for changing some NPC text, repositioning a graphic, loading a new model, etc.. GLESGAE is going to be data driven - and that also means tools that will be able to create the data to feed it, in the format that works best for the target platform.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall be building these tools along the way too, and where possible, also having them run on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
I'll cover more bits as we get to them.. for now, we'll get the Environment Setup.&lt;br /&gt;
&lt;br /&gt;
= Environment Setup =&lt;br /&gt;
This weekend is essentially the overview and setup phase, so it's a bit boring I'm afraid.&amp;lt;br /&amp;gt;&lt;br /&gt;
To keep everyone on the same page, I'm going to assume you're using Angstrom from an SD card, that you've installed GCC et al on it, and you'll be booting from it for development purposes.&lt;br /&gt;
&lt;br /&gt;
This gives us a few benefits;&amp;lt;br /&amp;gt;&lt;br /&gt;
* We are developing on the target hardware and can test things immediately.&lt;br /&gt;
* We can keep the NAND in a near enough vanilla state to ensure we don't accidentally pull in and use random libraries that not everyone will have.&lt;br /&gt;
* If we do something really bad, we've only messed up an SD card and can just re-extract the tarball and start again, rather than reflash the NAND!&lt;br /&gt;
&lt;br /&gt;
If you've already got an SD card setup with dev tools, then you can leave class early and I'll see you next week.&amp;lt;br /&amp;gt;&lt;br /&gt;
Same for if you have a preferred development environment already.. if it works for you, there's no point changing it.&amp;lt;br /&amp;gt;&lt;br /&gt;
The rest of you, pay attention!&lt;br /&gt;
&lt;br /&gt;
We'll do everything on the Pandora, to save having to deal with Linux, Windows, Mac, BSD, BeOS, whatever... madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
I advise at least grabbing yourself a 2Gig SD card.. go for a bigger card if you like, but 2Gig is probably a good minimum and are reasonably cheap these days.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grab your SD card and ensure everything you want from it has been removed - we're about to sacrifice it to the Pandora Dev Gods.&amp;lt;br /&amp;gt;&lt;br /&gt;
Stick it in your left slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
You'll need to manually unmount it before going near it with cfdisk to repartition.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo umount /dev/mmcblk0p1''''' -- and possibly p2, p3, p# depending on how many partitions it has. Generally, it'll only have the one.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo cfdisk /dev/mmcblk0''''' -- this'll launch cfdisk on your card.. if you see more than one partition and you've only unmounted one partition, then quit and unmount them!&lt;br /&gt;
&lt;br /&gt;
We want to delete all partitions on this card, so press right and then return to delete the current partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Press up and down to move the selector if need be to remove the rest of them if you've more than one.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we want to create a new partition, so with the Free Space selected, press right to highlight '''[ New ]''' and hit return, select '''[ Primary ]''', and let it use the full card ( just hit return. )&amp;lt;br /&amp;gt;&lt;br /&gt;
Press Left to highlight '''[ Write ]''' and press return. Type &amp;quot;yes&amp;quot; and hit return to confirm the changes, then '''[ Quit ]'''&amp;lt;br /&amp;gt;&lt;br /&gt;
You could have added swap if you wanted.. it's up to you really.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we have to format it.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo mkfs.ext2 /dev/mmcblk0p1'''''&lt;br /&gt;
&lt;br /&gt;
Remove the card and reinsert so that the system re-reads the partition table correctly and gives you access to your newly formatted partition.&lt;br /&gt;
&lt;br /&gt;
Now, we download the latest rootfs from OpenPandora.org and extract it to the card. We shall be lazy and stay in the terminal for this so...&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /media/mmcblk0p1'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su''''' -- we'll need to be root for this, as we'll have no permission by default to touch this card.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://openpandora.org/firmware/pandora-rootfs.tar.bz2''''' - this grabs us the latest rootfs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -xjpf pandora-rootfs.tar.bz2'''' -- you could add v to the arguments if you like.. it'll let you see what it's extracting and is slightly more exciting than just waiting for it to finish! The p is for preserving permissions, x to extract, j for bz2 support and f for file.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm pandora-rootfs.tar.bz2'''''&lt;br /&gt;
&lt;br /&gt;
We want the system to autoboot this when the card is inserted, so let's create autoboot.txt&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano autoboot.txt'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Fill it with the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0 0x80300000 /boot/uImage-2.6.27.46-omap1&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
That's us.. reboot and run through the First Time Configuration stuff, being sure to choose XFCE over MiniMenu, and then feel free to configure the look as you see fit.&lt;br /&gt;
&lt;br /&gt;
Now the fun bit.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - ''This is potentially dangerous as Angstrom and Pandora libraries may have gone off at tangents at this point... this is why we're doing this on an SD card rather than the NAND so if we stuff it up, we only need to reformat an SD card and not reflash the NAND!''&lt;br /&gt;
&lt;br /&gt;
Make sure your Pandora is connected to the net by whatever means you have.&amp;lt;br /&amp;gt;&lt;br /&gt;
Open up a terminal&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg update'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo opkg install gcc g++ make binutils-dev cpp cpp-symlinks g++-symlinks gcc-symlinks libstdc++-dev libgles-omap3-dev subversion''''' - You could install sdl etc.. too if you want, but that's all we'll be using for now; and you'll be needing subversion later to keep up with the project.&lt;br /&gt;
&lt;br /&gt;
Now the ever popular Hello World.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''mkdir Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd Projects'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 #include &amp;lt;cstdio&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
 	printf(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
'''''g++ -o main main.cpp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./main''''' &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''' Interesting Gotcha ''' - '' In the rootfs I downloaded (HF5 RC1), ncurses hadn't been installed... '''sudo opkg libncurses5''' if you get &amp;quot;cannot open shared object file libncurses.so.5&amp;quot; when invoking nano.''&lt;br /&gt;
&lt;br /&gt;
That's all for this week.. course you could go and install Geany, or whatever code editor you prefer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Next time, we shall be opening up a window via badgering X11 directly, and getting a GL ES context up and running.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Documentation]] [[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Games&amp;diff=6384</id>
		<title>Games</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Games&amp;diff=6384"/>
		<updated>2011-02-24T03:46:29Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Fixed MAXR description ( it does have multi player ) and changed StuckieGamez to Stuckie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''These lists were last updated on 2011-02-18 to include the latest files from [http://apps.open-pandora.org/cgi-bin/viewarea.pl?Games Pandora Apps], the [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,9 File Archive], and the [[Games#Forums|community forums]]. For other software lists on the wiki, see [[Software projects]] and [[Emulator list]]'' for Unreleased games [[Unreleased]]&lt;br /&gt;
&lt;br /&gt;
If different versions of a game were released, please make sure the &amp;quot;release date&amp;quot; is the most recent one when editing this article.&lt;br /&gt;
&lt;br /&gt;
Please click on the little squares to sort by different categories (such as Genre, Release date, etc.)&lt;br /&gt;
==Games==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; text-align: center;&amp;quot;&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Genre&lt;br /&gt;
!&amp;lt;span title=&amp;quot;Multiplayer&amp;quot;&amp;gt;MP&amp;lt;/span&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[Abe's Amazing Adventure]]&lt;br /&gt;
|2010-11-25&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,246 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57658-abes-amazing-adventure/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Abuse-SDL&lt;br /&gt;
|2010-06-26&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Shooter (Platform)&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/abuse.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54771-abuse-sdl/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Alien Blaster&lt;br /&gt;
|2010-06-27&lt;br /&gt;
|Alienblaster Team, Pickle (port)&lt;br /&gt;
|Top down Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,116 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Amoebax&lt;br /&gt;
|2010-10-10&lt;br /&gt;
|Safareig Creatiu, Àlex Almarza, Jordi Fita, sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/amoebax.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55500-amoebax-and-pengupop/page__p__896822&amp;amp;#entry896822 Discussion][http://www.emma-soft.com/games/amoebax/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|Angband&lt;br /&gt;
|2010-06-17&lt;br /&gt;
|Angband team, skeezix (port)&lt;br /&gt;
|RPG (Roguelike)&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,94 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Angry Drunken Dwarves&lt;br /&gt;
|2010-03-17&lt;br /&gt;
|Joe Wreschnig, EvilDragon (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/AngryDD.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,41 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ASCIIpOrtal&lt;br /&gt;
|2010-07-04&lt;br /&gt;
|Joe Larson, CME (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,132 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AudioRace 1.5&lt;br /&gt;
|2011-02-10&lt;br /&gt;
|crow_riot (port)&lt;br /&gt;
|Rhythm / Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://katzl.riot.org/pnd/beta/audiorace-1.5-pnd.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58591-audiorace-1-5/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Ballgame HD ('''beta''')&lt;br /&gt;
|2010-10-25&lt;br /&gt;
|RomanH, Pixitu&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,227 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57180-ballgame-hd/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Battle for Wesnoth]] v1.8.5-1&lt;br /&gt;
|2010-09-26&lt;br /&gt;
|Ivanovic (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|N+S&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,25 Archive] [http://sourceforge.net/projects/wesnoth/files/wesnoth-1.8/wesnoth-1.8.5/wesnoth-1.8.5-1.pnd/download Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55033-battle-for-wesnoth-1-8-3/ Discussion]; stable series&lt;br /&gt;
|-&lt;br /&gt;
|[[Battle for Wesnoth]] v1.9.4-1&lt;br /&gt;
|2011-01-15&lt;br /&gt;
|Ivanovic (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|N+S&lt;br /&gt;
|[http://sourceforge.net/projects/wesnoth/files/wesnoth/wesnoth-1.9.4/wesnoth-1.9.4-1.pnd/download Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55033-battle-for-wesnoth-1-8-3/ Discussion]; development series&lt;br /&gt;
|-&lt;br /&gt;
|BattleJewels&lt;br /&gt;
|2010-03-29&lt;br /&gt;
|Skeezix, codejedi&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/battlejewels20100329.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,48 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Beat2X&lt;br /&gt;
|2010-06-26&lt;br /&gt;
|PokeParadox (port)&lt;br /&gt;
|Rhythm&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/beat2x.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,105 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Bejeweled ('''beta''')&lt;br /&gt;
|2010-10-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/bejeweled.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57167-bejeweled/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Biniax 2&lt;br /&gt;
|2010-07-18&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,160 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55349-pandora-biniax2-biniax2-for-pandora-v130 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlobWars v2 ('''beta''')&lt;br /&gt;
|2010-07-21&lt;br /&gt;
|Sigma.NL&lt;br /&gt;
|Strategy&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/file/s5eb33gdkv88d3r/blobwars-v2.tar Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55339-testing-blobwars-soulfu Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Blocks of the Undead&lt;br /&gt;
|2011-01-08&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,270 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58134-blocks-of-the-undead/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BomberClone&lt;br /&gt;
|2010-07-13&lt;br /&gt;
|BomberClone Team&lt;br /&gt;
|Arcade&lt;br /&gt;
|Net&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,149 Archive]&lt;br /&gt;
|Bomberman clone&lt;br /&gt;
|-&lt;br /&gt;
|Bos Wars&lt;br /&gt;
|2010-07-20&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Strategy - real time&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.dropbox.com/u/39448/pandora/boswars.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55413-bos-wars/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Boxbot4K&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|rcarvall&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.154 Download]&lt;br /&gt;
|[http://www.dcc.uchile.cl/~rcarvall/juegos/index.html Website] Like Sokoban&lt;br /&gt;
|-&lt;br /&gt;
|Briquolo&lt;br /&gt;
|2011-02-08&lt;br /&gt;
|cbr, paeryn (port), sebt3 (port), Pickle (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,314 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58596-briquolo/ Discussion] [http://briquolo.free.fr/en/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|Bubble Chains ('''beta''')&lt;br /&gt;
|2010-10-31&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/bubble_chains.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57290-bubble-chains/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BubbMan 2 ('''beta''')&lt;br /&gt;
|2011-01-10&lt;br /&gt;
|pymike, Tempel (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://randy.heydon.selfip.net/extra/BubbMan2.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,266 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58096-bubbman-2/ Discussion] {{HideableNotes|Default set at 700Mhz, but may work well at lower speeds}}&lt;br /&gt;
|-&lt;br /&gt;
|C-Dogs&lt;br /&gt;
|2010-03-17&lt;br /&gt;
|Lumaki, Pickle (port)&lt;br /&gt;
|Top down Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/CDogs.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,42 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ceferino&lt;br /&gt;
|2010-06-23&lt;br /&gt;
|Don Ceferino Hazaña&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,103 Archive]&lt;br /&gt;
|Pang remake&lt;br /&gt;
|-&lt;br /&gt;
|Chuckie Egg&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|Paul Brook&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,197 Archive]&lt;br /&gt;
|Clone of the 8-bit game&lt;br /&gt;
|-&lt;br /&gt;
|Circus Linux&lt;br /&gt;
|2010-07-20&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|SS&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Circuslinux.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55407-circuslinux-pnd-available/ Discussion] Circus Atari clone&lt;br /&gt;
|-&lt;br /&gt;
|Classic Invaders&lt;br /&gt;
|2011-01-20&lt;br /&gt;
|Todd Steinackle, Gareth Francis (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,277 Archive]&lt;br /&gt;
|Space Invaders clone&lt;br /&gt;
|-&lt;br /&gt;
|Clonk2x (Clonk Planet)&lt;br /&gt;
|2010-07-12&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|N+C?&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,148 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/clonk2x.inf Apps]&lt;br /&gt;
|[http://www.clonk.de/ Website] [http://www.gp32x.com/board/index.php?/topic/55175-clonk-rage/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Color Lines&lt;br /&gt;
|2010-10-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ColorLines.pnd Download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Crimson Fields (pandora 0.2.1, general 0.5.3)&lt;br /&gt;
|2010-09-14&lt;br /&gt;
|MarkoeZ (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|N+S&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,203 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56583-crimson-fields-for-pandora/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|CromoZome&lt;br /&gt;
|2010-08-13&lt;br /&gt;
|PokeParadox&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/CromoZome.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,183 Archive]&lt;br /&gt;
|[http://projectinfinity.org.uk/doku.php?id=homebrew:games:cromozome Website]&lt;br /&gt;
|-&lt;br /&gt;
|Daimonin 0.10.1 (B5)&lt;br /&gt;
|2010-08-15&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|MMORPG&lt;br /&gt;
|Net&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/daimonin-0.10.1-Os.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55979-daimonin-mmorpg/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Deathtrap Remix&lt;br /&gt;
|2010-06-21&lt;br /&gt;
|Mindlord&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/deathtrap.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,100 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Defendguin 0.0.12&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|Yamara (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,225 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57117-defendguin/page__gopid__922761&amp;amp;#entry922761 Discussion] Defender clone&lt;br /&gt;
|-&lt;br /&gt;
|Defendguin ('''beta''')&lt;br /&gt;
|2010-09-07&lt;br /&gt;
|darfgarf (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://localhostr.com/files/ac44cb/defendguin.pnd Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/187-defendguin/ Discussion] Defender clone&lt;br /&gt;
|-&lt;br /&gt;
|Dink Smallwood ('''outdated''')&lt;br /&gt;
|2010-07-31&lt;br /&gt;
|WizardStan (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/freedink.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58637-dink-smallwood/ Discussion]. No music.&lt;br /&gt;
|-&lt;br /&gt;
|Dink Smallwood&lt;br /&gt;
|2011-02-11&lt;br /&gt;
|Cobalt (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|&lt;br /&gt;
|[http://www.megaupload.com/?d=DJMDE2VJ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58637-dink-smallwood/page__view__findpost__p__938931 Discussion]. This has proper controls and music.&lt;br /&gt;
|-&lt;br /&gt;
|Donkey Bolonkey&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,275 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58252-donkey-bolonkey/ Discussion] clone of Rat Poker&lt;br /&gt;
|-&lt;br /&gt;
|Eat the Whistle&lt;br /&gt;
|2010-05-25&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Sports&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/Etwhistle.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|eboard with GNUChess&lt;br /&gt;
|2010-06-29&lt;br /&gt;
|&lt;br /&gt;
|Chess&lt;br /&gt;
|N+S&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,121 Archive]&lt;br /&gt;
|Internet play allowed&lt;br /&gt;
|-&lt;br /&gt;
|Elemental 0.2&lt;br /&gt;
|2010-07-17&lt;br /&gt;
|Chaosmage&lt;br /&gt;
|Sandbox&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/elemental.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55303-elemental-0-2-released/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Enigma 1.01&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|Whynodd&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,174 Archive]&lt;br /&gt;
|[http://www.nongnu.org/enigma/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|FishFillets&lt;br /&gt;
|2010-08-09&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,179 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Flare&lt;br /&gt;
|2011-01-25&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/flare.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58356-flare/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Formido&lt;br /&gt;
|2011-01-22&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/formido.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58322-formido/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|FreeCiv 2.1.9&lt;br /&gt;
|2010-05-31&lt;br /&gt;
|Cpasjuste (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|Net&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,77 Archive]&lt;br /&gt;
|[http://freeciv.wikia.com/wiki/Main_Page Wiki]&lt;br /&gt;
|-&lt;br /&gt;
|Frogatto and Friends&lt;br /&gt;
|2011-02-08&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,312 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58558-frogatto-and-friends/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Fy.WoD! 2.1&lt;br /&gt;
|2010-11-25&lt;br /&gt;
|Scntrblob&lt;br /&gt;
|Racing&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,28,247 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Game &amp;amp; Watch Simulators&lt;br /&gt;
|2010-07-27&lt;br /&gt;
|Hitnrun&lt;br /&gt;
|Arcade&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,3,169 Archive]&lt;br /&gt;
|Not an emulator.&lt;br /&gt;
|-&lt;br /&gt;
|Game Editor ('''beta''')&lt;br /&gt;
|2011-02-06&lt;br /&gt;
|WizardStan (port)&lt;br /&gt;
|Engine&lt;br /&gt;
|&lt;br /&gt;
|[http://rebirthofxeen.com/files/pandora/gameEditor.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58562-game-editor/ Discussion]. No sound, slow. {{HideableNotes|Get game files [http://game-editor.com/Games here]}}&lt;br /&gt;
|-&lt;br /&gt;
|GAV (GPL Arcade Volleyball)&lt;br /&gt;
|2010-06-30&lt;br /&gt;
|&lt;br /&gt;
|Sports&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,36,122 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Giana's Return v1.0&lt;br /&gt;
|2011-01-01&lt;br /&gt;
|Gianas Team&amp;lt;br/&amp;gt;Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://www.gianas-return.de/gr-v10-pandora.pnd Download]&amp;lt;br/&amp;gt;[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,60 Archive]&lt;br /&gt;
|[http://www.gianas-return.de/ Website] [http://www.gp32x.com/board/index.php?/topic/58054-gianas-return-v10-pandora Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Globulation 2 (Glob 2)&lt;br /&gt;
|2011-01-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/glob2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58325-glob2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Gnome Games&lt;br /&gt;
|2010-10-11&lt;br /&gt;
|sebt3 (packaging)&lt;br /&gt;
|Compilation&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,37,221 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56993-gnome-games/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|GNU Robbo&lt;br /&gt;
|2011-01-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,280 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58318-gnu-roboo/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|GNUGo (ccGO + CGoban)&lt;br /&gt;
|2011-01-20&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Board&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,276 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58281-ccgo-gnugo/ Discussion] {{HideableNotes|Port of GNU Go with the frontends ccGO and CGoban}}&lt;br /&gt;
|-&lt;br /&gt;
|Gravity Force Remake&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|David Douglas&lt;br /&gt;
|Action&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,72,310 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58546-gravity-force-remake/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Gwelled&lt;br /&gt;
|2011-01-26&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gweled.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58354-gweled/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Hex-A-Hop&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,286 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58401-hex-a-hop/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|Infector&lt;br /&gt;
|2011-01-06&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|Net&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,268 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58110-infector/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Jag ('''beta''')&lt;br /&gt;
|2010-10-31&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/jag.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57289-jag/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Jump n Blob&lt;br /&gt;
|2011-01-10&lt;br /&gt;
|[http://www.2d-rp.de 2d Retroperspectives]&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,271 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Kde games ('''beta''')&lt;br /&gt;
|2010-07-28&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Various&lt;br /&gt;
|SS?&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/kde-games.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55569-kde-games/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|KETM (Kill Everything That Moves)&lt;br /&gt;
|2010-11-10&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Top Down Shooter&lt;br /&gt;
|x&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ketm.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54577-ketm/page__view__findpost__p__925774 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|King of Fighters (KOF): Flames of Courage&lt;br /&gt;
|2011-01-29&lt;br /&gt;
|mth411 (port)&lt;br /&gt;
|Fighting&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,40,290 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58446-kof-king-of-fighters-on-pandora/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Kobo Deluxe&lt;br /&gt;
|2011-01-06&lt;br /&gt;
|David Olofson, mcobit (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,267 Archive]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/58109-kobo-deluxe/ GP32X] [http://boards.openpandora.org/index.php?/topic/928-kobo-deluxe/ OP] Music doesn't work yet&lt;br /&gt;
|-&lt;br /&gt;
|Lbreakout2&lt;br /&gt;
|2010-06-23&lt;br /&gt;
|Michael Speck&lt;br /&gt;
|Arcade&lt;br /&gt;
|Net&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,104 Archive]&lt;br /&gt;
|[http://lgames.sourceforge.net/index.php?project=LBreakout2 Website]&lt;br /&gt;
|-&lt;br /&gt;
|LemmingsSDL ('''beta''')&lt;br /&gt;
|2010-11-20&lt;br /&gt;
|Miner49er&lt;br /&gt;
|Puzzle&lt;br /&gt;
|Net?&lt;br /&gt;
|[http://lessermatters.homeunix.com/LemmingsSDL/lemmings.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51581-lemmingssdl-networked/page__st__135__p__928674&amp;amp;#entry928674 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|LettersFall&lt;br /&gt;
|2011-01-31&lt;br /&gt;
|16Bitsoft, Pickle (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,292 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58464-3-games-from-16bitsoft/ Discussion] spell words as fast you can&lt;br /&gt;
|-&lt;br /&gt;
|L'hôpital Pital&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Strategy - tower defense&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,245 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57648-lhopital-pital/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|LMarbles&lt;br /&gt;
|2010-07-18&lt;br /&gt;
|MarkoeZ (port), daniel3000 (2nd port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,162 MarkoeZ] [http://www.hermocom.com/en/downloads/openpandora/LMarbles.pnd/ daniel3000]&lt;br /&gt;
|[http://lgames.sourceforge.net/ Website], [http://www.gp32x.com/board/index.php?/topic/55353-lgames-ltris-lpairs-lmarbles-available/ Discussion] (this game was ported twice)&lt;br /&gt;
|-&lt;br /&gt;
|The Lonely Tower v2.2&lt;br /&gt;
|2010-11-19&amp;lt;br /&amp;gt;2010-01-12&lt;br /&gt;
|Tempel&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|[http://randy.heydon.selfip.net/Programs/The%20Lonely%20Tower/V2/The%20Lonely%20Tower-2.2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51441-the-lonely-tower/ Discussion]. The first Pandora game.&lt;br /&gt;
|-&lt;br /&gt;
|LPairs&lt;br /&gt;
|2010-07-18&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/LPairs.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55353-lgames-ltris-lpairs-lmarbles-available/ Discussion] Memory game&lt;br /&gt;
|-&lt;br /&gt;
|LTris&lt;br /&gt;
|2010-07-18&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/LTris.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55353-lgames-ltris-lpairs-lmarbles-available/ Discussion] Tetris clone&lt;br /&gt;
|-&lt;br /&gt;
|The Mana World&lt;br /&gt;
|2010-09-06&lt;br /&gt;
|Cpasjuste (port)&lt;br /&gt;
|MMORPG&lt;br /&gt;
|Net&lt;br /&gt;
|[http://mydedibox.fr/pandora/pnd/cpasjuste.tmw-0.0.29.1-1.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56506-the-mana-world-mmorpg/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|The Maze Of Galious Remake&lt;br /&gt;
|2011-02-11&lt;br /&gt;
|Dimacus (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://luminare.no-ip.org/files/mog.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58606-the-maze-of-galious-remake-port/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|MAXR ( M.A.X Reloaded )&lt;br /&gt;
|2010-08-31&lt;br /&gt;
|Stuckie (port)&lt;br /&gt;
|Turn Based Strategy&lt;br /&gt;
|Net&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/maxr.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56403-m-a-x-reloaded/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Meritous&lt;br /&gt;
|2010-12-07&amp;lt;br/&amp;gt;2010-06-25&lt;br /&gt;
|EvilDragon (2nd port)&amp;lt;br/&amp;gt;TJ Hooka (port)&lt;br /&gt;
|Dungeon Crawler&lt;br /&gt;
|&lt;br /&gt;
|'''[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,256 ED's port]''' [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/meritous.inf Hooka's port]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57725-meritous/page__gopid__928726&amp;amp;#entry928726 Discussion] ED's port [http://www.gp32x.com/board/index.php?/topic/57725-meritous/page__view__findpost__p__929360 doesn't crash] (hopefully)&lt;br /&gt;
|-&lt;br /&gt;
|Mirror Magic&lt;br /&gt;
|2010-08-14&lt;br /&gt;
|Holger Schemel&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,184 Archive]&lt;br /&gt;
|[http://www.artsoft.org/mirrormagic Website]&lt;br /&gt;
|-&lt;br /&gt;
|Monkey Bubble v0.4.0&lt;br /&gt;
|2010-12-03&lt;br /&gt;
|Laurent Belmonte&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,257 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57733-monkey-bubble/ Discussion] Like &amp;quot;Bubble Bobble&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|N-Speed&lt;br /&gt;
|2011-01-28&lt;br /&gt;
|Sami Kyöstilä, Tommi Inkil, Joonas Kerttula, mcobit (port)&lt;br /&gt;
|Racing&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,28,289 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58421-n-speed/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Numpty Physics&lt;br /&gt;
|2010-06-15&lt;br /&gt;
|Tim Edmonds, Thomas Perl, Manolis (port)&lt;br /&gt;
|Drawing&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,93 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|openBOR&lt;br /&gt;
|2010-06-26&lt;br /&gt;
|Senile Team, Pickle (port)&lt;br /&gt;
|Beat 'em up&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,40,111 Archive]&lt;br /&gt;
|Beats of Rage&lt;br /&gt;
|-&lt;br /&gt;
|OpenGlad&lt;br /&gt;
|2010-05-09&lt;br /&gt;
|Snowstorm Entertainment, Pickle (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/OpenGlad.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,57 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenLieroX&lt;br /&gt;
|2010-07-09&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Shooter (Worms-like)&lt;br /&gt;
|Net&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,140 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/OpenLieroX.inf Apps]&lt;br /&gt;
|[http://www.openlierox.net/ Website] [http://www.gp32x.com/board/index.php?/topic/55168-rise-of-the-triad-openlierox-alpehone/ Discussion] [http://www.gp32x.com/board/index.php?/topic/55132-openlierox/ Discussion (2)]&lt;br /&gt;
|-&lt;br /&gt;
|openPirates 0.0.0.2&lt;br /&gt;
|2010-07-03&lt;br /&gt;
|Pickle (Scott Smith)&lt;br /&gt;
|Strategy&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,109 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54773-openpirates/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|OpenTTD (Transport Tycoon)&lt;br /&gt;
|2010-06-25&lt;br /&gt;
|OpenTTD team, MistaGiggles (port)&lt;br /&gt;
|Simulation&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,107 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54734-openttd-port/page__gopid__882049&amp;amp;#entry882049 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|OpenTTD 1.0.5 (Transport Tycoon)&lt;br /&gt;
|2011-01-24&lt;br /&gt;
|OpenTTD team, steven@starmice.net (port)&lt;br /&gt;
|Simulation&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,284 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenTyrian v1.1&lt;br /&gt;
|2010-07-14&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Top down Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://zx81.zx81.free.fr/public/pandora/opentyrian/opentyrian-v1.0-pnd.zip Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,155 Archive]&lt;br /&gt;
|[http://zx81.zx81.free.fr/serendipity/index.php?/archives/432-Pandora-OpenTyrian-OpenTyrian-ported-to-Pandora-v1.0.html Announcement]&lt;br /&gt;
|-&lt;br /&gt;
|PacDudeHero 2&lt;br /&gt;
|2011-01-31&lt;br /&gt;
|16Bitsoft, Pickle (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,291 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58464-3-games-from-16bitsoft/ Discussion] Pacman clone&lt;br /&gt;
|-&lt;br /&gt;
|Paintown&lt;br /&gt;
|2011-01-24&lt;br /&gt;
|Jon Rafkind, sebt3 (port)&lt;br /&gt;
|Fighting&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/paintown.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58326-paintown/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Panic&lt;br /&gt;
|2010-06-11&lt;br /&gt;
|PokeParadox / GP32X Community&lt;br /&gt;
|Arcade&lt;br /&gt;
|x&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/PPanic.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,59 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Pool Panic&lt;br /&gt;
|2010-07-27&lt;br /&gt;
|Unfathomable Depths&lt;br /&gt;
|Sports&lt;br /&gt;
|&lt;br /&gt;
|[http://www.fileden.com/files/2008/6/27/1978308//PoolPanic.pnd Download (zip)]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/46996-pandora-pool-panic-beta/page__view__findpost__p__897564 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora X-pilot NG 4.7.3&lt;br /&gt;
|2010-08-18&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|Net&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/xpilot-ng-4.7.3.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,37,192 Archive]&lt;br /&gt;
|[http://xpilot.sourceforge.net/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-Acm&lt;br /&gt;
|2010-08-10&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Simulator&lt;br /&gt;
|Net?&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,37,180 Archive]&lt;br /&gt;
|Flight simulator&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-Blockrage&lt;br /&gt;
|2010-07-18&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://zx81.zx81.free.fr/public/pandora/blockrage/pandora-blockrage-v0.2.3-pnd.zip Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,161 Archive]&lt;br /&gt;
|[http://blockrage.sourceforge.net/ Website] [http://www.gp32x.com/board/index.php?/topic/55343-pandora-blockrage-block-rage-for-pandora-v0-2-3 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-Lopan&lt;br /&gt;
|2010-07-13&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://zx81.zx81.free.fr/public/pandora/lopan/pandora-lopan-v1.0-pnd.zip Download]&lt;br /&gt;
|[http://zx81.zx81.free.fr/serendipity/index.php?/archives/430-Pandora-Lopan-Mahjong-game-for-Pandora-v10.html Announcement]&lt;br /&gt;
|-&lt;br /&gt;
|PandoraNetPuzzle (WiiNetPuzzle)&lt;br /&gt;
|2011-02-14&lt;br /&gt;
|chris_c&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,235 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57446-wiinetpuzzle/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-OpenSonic&lt;br /&gt;
|2010-08-13&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/opensonic-v1.3.0.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,187 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56005-pandora-opensonic-sonic-clone-for-pandora-v13/ Discussion][http://zx81.zx81.free.fr/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-Ri-Li v2.0.1&lt;br /&gt;
|2010-08-17&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/ri-li-v2.0.1.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,190 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58370-ri-li/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-Simutrans&lt;br /&gt;
|2010-08-29&lt;br /&gt;
|zx-81&lt;br /&gt;
|Simulation&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,198 Archive]&lt;br /&gt;
|Transportation simulation&lt;br /&gt;
|-&lt;br /&gt;
|Pandora-Tombstone&lt;br /&gt;
|2010-07-17&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|x&lt;br /&gt;
|[http://zx81.zx81.free.fr/public/pandora/tombstone/pandora-tombstone-v1.0-pnd.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55318-pandora-tombstone-tombstone-city-for-pandora-v10/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|PandyWordSeek ('''beta''')&lt;br /&gt;
|2010-07-14&lt;br /&gt;
|authoreyes&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://www.markandmarina.com/code/pandywordseek.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55263-quick-personal-update-and-a-new-homebrew-pnd/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Panjoust (demo)&lt;br /&gt;
|2010-10-05&lt;br /&gt;
|MarkoeZ&lt;br /&gt;
|Platformer&lt;br /&gt;
|x&lt;br /&gt;
|[http://kenai.com/projects/panjoust/downloads/download/Panjoust05-10-10Windowsand%2520Pandora.rar Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/55107-panjoust-001-released/] [http://www.gp32x.com/board/index.php?/topic/56909-panjoust-new-beta/]&lt;br /&gt;
|-&lt;br /&gt;
|Pasang Emas&lt;br /&gt;
|2011-01-15&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|SS?&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,274 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58221-pasang-emas/ Discussion] Board game&lt;br /&gt;
|-&lt;br /&gt;
|Penguin Command&lt;br /&gt;
|2010-10-01&lt;br /&gt;
|Karl Bartel&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/penguin-command.inf Apps]&lt;br /&gt;
|Missile Command clone&lt;br /&gt;
|-&lt;br /&gt;
|PenguinZombiesPandora (SDLZombies)&lt;br /&gt;
|2010-07-29&lt;br /&gt;
|MarkoeZ (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.openpandora.org/cgi-bin/viewapp.pl?/Game/sdlzombies.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PenguPop 2.2.4&lt;br /&gt;
|2010-07-24&lt;br /&gt;
|Junoplay, sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,166 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55500-amoebax-and-pengupop/page__p__896822&amp;amp;#entry896822 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pingus&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.openpandora.org/cgi-bin/viewapp.pl?/Game/pingus-0.7.3-Os-upx.inf Apps]&lt;br /&gt;
|Lemmings-like game&lt;br /&gt;
|-&lt;br /&gt;
|PipePanic&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,285 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58396-pipepanic/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|Pocket Volleyball&lt;br /&gt;
|2011-01-21&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Sport&lt;br /&gt;
|SS&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,36,278 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58301-pocket-volleyball/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Police4K&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|rcarvall&lt;br /&gt;
|Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.155 Download]&lt;br /&gt;
|[http://www.dcc.uchile.cl/~rcarvall/juegos/index.html Website]&lt;br /&gt;
|-&lt;br /&gt;
|Powder&lt;br /&gt;
|2010-08-09&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|RPG (Roguelike)&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.openpandora.org/cgi-bin/viewapp.pl?/Game/powder-114-Os-upx-pandora.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,253 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PowerManga v1.0.1&lt;br /&gt;
|2010-11-20&lt;br /&gt;
|chris_c (port)&lt;br /&gt;
|Top-down shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,236 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57648-lhopital-pital/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Pushover&lt;br /&gt;
|2010-10-31&lt;br /&gt;
|Farox (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,231 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57298-pushover/ Discussion] Resolution too big for screen.&lt;br /&gt;
|-&lt;br /&gt;
|Pushover v0.2&lt;br /&gt;
|2010-11-06&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|x&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/pushover-0.2.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57386-pandora-pushover-pushover-for-pandora-v02/ Discussion]. No speed throttling.&lt;br /&gt;
|-&lt;br /&gt;
|PyDance ('''beta''')&lt;br /&gt;
|2010-08-31&lt;br /&gt;
|darfgarf (port)&lt;br /&gt;
|Dance&lt;br /&gt;
|&lt;br /&gt;
|[http://localhostr.com/files/397bff/pydancebeta%201.zip Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/56418-pydancebeta1/] [http://www.gp32x.com/board/index.php?/topic/56293-anki-friendly-intelligent-flashcards/]&lt;br /&gt;
|-&lt;br /&gt;
|QNetWalk&lt;br /&gt;
|2010-06-29&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qnetwalk.pnd Download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Racer&lt;br /&gt;
|2010-10-30&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Racing&lt;br /&gt;
|SS&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/racer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,28,230 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57189-racer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Rafkill&lt;br /&gt;
|2011-01-26&lt;br /&gt;
|Jon Rafkind, sebt3 (port)&lt;br /&gt;
|Top-down Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/rafkill.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58185-rafkill/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Reign of Brains&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|emil10001&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://feigdev.com/ReignOfBrains.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,262 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57910-reign-of-brains-demo/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Rezerwar&lt;br /&gt;
|2011-01-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,282 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58335-rezerwar/ Discussion]. Configure keys in game options.&lt;br /&gt;
|-&lt;br /&gt;
|Reword&lt;br /&gt;
|2010-07-17&lt;br /&gt;
|PurplePup&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,159 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55327-reword-0-5-1-released/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Road Fighter&lt;br /&gt;
|2011-02-08&lt;br /&gt;
|Dimacus (port)&lt;br /&gt;
|Racing&lt;br /&gt;
|&lt;br /&gt;
|[http://luminare.no-ip.org/files/roadfighter.pnd Download] [http://pandorapress.net/gruso/roadfighter.pnd Download (mirror)]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58557-port-requiest-road-fighterrr/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Rocks 'n' Diamonds&lt;br /&gt;
|2011-02-09&lt;br /&gt;
|Holger Schemel, Blue Ion (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,189 Archive]&lt;br /&gt;
|[http://www.artsoft.org/rocksndiamonds/ Website] Like Boulder Dash, Emerald Mine, Supaplex, Sokoban&lt;br /&gt;
|-&lt;br /&gt;
|Scarecrow Tobias ('''beta''')&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|MUMBL35, Paramultart&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/?e3zyu4lmhszz9p6 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58228-side-scroller-engine/ Discussion] {{HideableNotes|MUMBL35 wants to use the engine to create another game, but would like an artist &amp;amp; coder to help him finish}}&lt;br /&gt;
|-&lt;br /&gt;
|SDL-Ball&lt;br /&gt;
|2011-02-16&lt;br /&gt;
|paeryn (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://paeryn.myby.co.uk/pandora/sdl-ball.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,322 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58686-sdl-ball/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|SdlZombies&lt;br /&gt;
|2010-07-14&lt;br /&gt;
|Philippe Brochard, MarkoeZ (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,154 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Shane's Chess Information Database (SCID)&lt;br /&gt;
|2010-06-27&lt;br /&gt;
|Shane Hudson, Pascal Georges&lt;br /&gt;
|Chess&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,112 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Snowball&lt;br /&gt;
|2010-07-09&lt;br /&gt;
|willikappler&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,142 Archive]&lt;br /&gt;
|[http://www.snowball.retrovertigo.de/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|SolarWolf v1.5&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|Magic Sam (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,252 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57694-solarwolf-for-the-pandora/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Sopwith&lt;br /&gt;
|2011-01-24&lt;br /&gt;
|Jon Rafkind, sebt3 (port)&lt;br /&gt;
|shmup&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/sopwith.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58350-sopwith/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Sound Fall&lt;br /&gt;
|2010-06-21&lt;br /&gt;
|Chris Thompson&lt;br /&gt;
|Sound&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,101 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Sparks v0.4.5 ('''beta''')&lt;br /&gt;
|2010-12-04&lt;br /&gt;
|hal9000&lt;br /&gt;
|Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://julien.carme.free.fr/sparks/Sparks-0.4.5.pnd Download]&lt;br /&gt;
|Discussion: [http://boards.openpandora.org/index.php?/topic/745-sparks/ OP] [http://www.gp32x.com/board/index.php?/topic/57765-sparks/ GP32X] [http://www.gp32x.com/board/index.php?/topic/57148-sparks-a-vectorial-shooter/page__view__findpost__p__928922 GP32X (old)] May need [[overclocking]] to ~800Mhz&lt;br /&gt;
|-&lt;br /&gt;
|Spout&lt;br /&gt;
|2010-07-08&lt;br /&gt;
|PokeParadox (port)&lt;br /&gt;
|Shooter&lt;br /&gt;
|&lt;br /&gt;
|[http://projectinfinity.org.uk/lib/exe/fetch.php?media=homebrew:games:spout:downloads:spout.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,136 Archive]&lt;br /&gt;
|[http://projectinfinity.org.uk/doku.php?id=homebrew:games:spout Website] [http://www.gp32x.com/board/index.php?/topic/55143-spout-1-0-released/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Sqrxz&lt;br /&gt;
|2010-09-10&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,144 Archive]&lt;br /&gt;
|[http://www.sqrxz.de/?p=171 Website] [http://www.gp32x.com/board/index.php?/topic/55157-sqrxz-v0-9-9 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Sqrxz 2&lt;br /&gt;
|2011-01-03&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,265 Archive]&lt;br /&gt;
|[http://www.sqrxz2.de/ Website] [http://www.gp32x.com/board/index.php?/topic/58078-sqrxz-2-v080-pandora/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Sudoku (fltk)&lt;br /&gt;
|2011-01-14&lt;br /&gt;
|chris_c (package)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,272 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58199-sudoku-fltk/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Super Mario War 1.7 April Fools Edition&lt;br /&gt;
|2010-08-18&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Fighting&lt;br /&gt;
|Net?&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,191 Archive]&lt;br /&gt;
|[http://smw.72dpiarmy.com/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|Super Methane Bros.&lt;br /&gt;
|2010-08-26&lt;br /&gt;
|Mark Rombust&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,195 Archive]&lt;br /&gt;
|[http://methane.sourceforge.net/ Website] Runs with [[Ginge]]&lt;br /&gt;
|-&lt;br /&gt;
|SuperTux&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|Pickle (port), EvilDragon (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,73 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58343-supertux/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|TecnoballZ&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/tecnoballz.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58236-tecnoballz/ Discussion] Ported from Amiga&lt;br /&gt;
|-&lt;br /&gt;
|Teeworlds&lt;br /&gt;
|2010-07-19&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Fighting&lt;br /&gt;
|Net?&lt;br /&gt;
|[http://dl.dropbox.com/u/39448/pandora/teeworlds.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55374-teeworlds Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|TetriCrisis 3 100% CPU&lt;br /&gt;
|2011-01-31&lt;br /&gt;
|16Bitsoft, Pickle (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,293 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58464-3-games-from-16bitsoft/ Discussion] Needs overclocking&lt;br /&gt;
|-&lt;br /&gt;
|Thruster 1.3&lt;br /&gt;
|2010-07-15&lt;br /&gt;
|Vilmos, PokeParadox (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/Thruster.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,156 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55288-thruster-1-3-released/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|TicTacToe From Hell&lt;br /&gt;
|2010-12-01&lt;br /&gt;
|Simone Tobia&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|N+S&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,255 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57718-tictactoe-from-hell/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Tile World&lt;br /&gt;
|2010-07-12&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://zx81.zx81.free.fr/public/pandora/tworld/pandora-tworld-v1.3-pnd.zip Download] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/tworld-13.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55211-pandora-tworld-tile-world-for-pandora-v13/ Discussion] fan remake of Chip's Challenge&lt;br /&gt;
|-&lt;br /&gt;
|Tombstone&lt;br /&gt;
|2010-07-17&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,157 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Tower Toppler&lt;br /&gt;
|2011-01-07&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,269 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58124-tower-toppler/ Discussion] Nebulous/Castelian clone&lt;br /&gt;
|-&lt;br /&gt;
|Triplane Classic&lt;br /&gt;
|2010-08-02&lt;br /&gt;
|Markku, Teemu, Henri&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/triplane-classic-1.04.01.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55736-triplane-classic/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Tubularix v0.5.1.5&lt;br /&gt;
|2010-12-03&lt;br /&gt;
|Miguel Scudero&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,258 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57738-tubularix/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Tux Football&lt;br /&gt;
|2011-01-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Sport&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,36,281 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58319-tux-football/ Discussion]. Configure keys in game options.&lt;br /&gt;
|-&lt;br /&gt;
|TuxRace ('''beta''')&lt;br /&gt;
|2010-10-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Racing&lt;br /&gt;
|&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/tuxrace.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57209-tuxrace/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|VoR (Variations on Rockdodger)&lt;br /&gt;
|2011-01-21&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,27,279 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58303-vor-variations-on-rockdodger/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Wall Defender&lt;br /&gt;
|2010-07-06&lt;br /&gt;
|ElLun3s&lt;br /&gt;
|Arcade&lt;br /&gt;
|&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.151 Download]&lt;br /&gt;
|[http://code.google.com/p/walldefender/ Website] Requires Java.pnd&lt;br /&gt;
|-&lt;br /&gt;
|Wind and Water: Puzzle Battles&lt;br /&gt;
|2011-02-07&lt;br /&gt;
|Yuan Works (Ginge wrap by Coldbird)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,313 Archive]&lt;br /&gt;
|GP2X Wiz version running under Ginge. Select scale ratio with launcher&lt;br /&gt;
|-&lt;br /&gt;
|Wormux 0.2.9.1&lt;br /&gt;
|2010-07-17&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|N+S&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,158 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55321-wormux-0-2-9-1/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|xLinCity&lt;br /&gt;
|2010-07-28&lt;br /&gt;
|Peters, Sharp, Keasley&lt;br /&gt;
|Strategy&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,9,170 Archive]&lt;br /&gt;
|[http://lincity.sourceforge.net/ Website]&lt;br /&gt;
|-&lt;br /&gt;
|XRick&lt;br /&gt;
|2010-07-22&lt;br /&gt;
|MarkoeZ (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|x&lt;br /&gt;
|[http://apps.openpandora.org/cgi-bin/viewapp.pl?/Game/xrick.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,165 Archive]&lt;br /&gt;
|[http://bigorno.net/xrick/ Website] [http://www.gp32x.com/board/index.php?/topic/55449-xrick-for-pandora Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|xscorch (Scorched Earth)&lt;br /&gt;
|2010-06-30&lt;br /&gt;
|Justin/Jacob, Pickle (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|SS&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,152 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Zaz&lt;br /&gt;
|2011-02-21&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Puzzle&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,25,325 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Zelda 3T&lt;br /&gt;
|2010-11-15&lt;br /&gt;
|Vincent Jouillat, sebt3 (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|x&lt;br /&gt;
|[http://sebt3.openpandora.org/beta/Zelda3T_US.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54633-zelda-kind-of/ Discussion] Hardware scaling version (software scaling works slow in one section)&lt;br /&gt;
|-&lt;br /&gt;
|Zelda Classic 2.11B18 0.3alpha&lt;br /&gt;
|2010-08-16&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,188 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Zelda OLB&lt;br /&gt;
|2010-11-10&lt;br /&gt;
|Vincent Jouillat, sebt3 (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|x&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ZeldaOLB_US.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54633-zelda-kind-of/ Discussion] Software scaling version&lt;br /&gt;
|-&lt;br /&gt;
|Zelda ROTH&lt;br /&gt;
|2010-11-10&lt;br /&gt;
|Vincent Jouillat, sebt3 (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|x&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ZeldaROTH_US.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54633-zelda-kind-of/ Discussion] Software scaling version&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game Engines==&lt;br /&gt;
&lt;br /&gt;
Each of these games requires the original data files to play.  They can typically be obtained from the original CD or floppy disc, though on occasion the game in question is freeware.  Sometimes, rather than an engine (like PrBoom), the original game itself is directly ported (like Gish) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec; text-align: center;&amp;quot;&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Original Game&lt;br /&gt;
!Engine Name (where applicable)&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Genre&lt;br /&gt;
!&amp;lt;span title=&amp;quot;Multiplayer&amp;quot;&amp;gt;MP&amp;lt;/span&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Command and Conquer: Red Alert&lt;br /&gt;
|OpenRedAlert ('''beta''')&lt;br /&gt;
|2011-01-26&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|RTS&lt;br /&gt;
|&lt;br /&gt;
|[http://maheld.heckel-web.pharmchem.uni-frankfurt.de/openredalert.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58123-openredalert/page__view__findpost__p__935817 Discussion]. Developer would like help.  Get the data files [http://www.commandandconquer.com/classic here.]&lt;br /&gt;
|-&lt;br /&gt;
|Commander Keen 1-3 (partial support for 4)&lt;br /&gt;
|CGenius&lt;br /&gt;
|2011-01-03&lt;br /&gt;
|CGenius team, Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,50 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58070-commander-genius-for-pandora-enhanced-keen-engine/ Discussion]  includes keen 1&lt;br /&gt;
|-&lt;br /&gt;
|Descent&lt;br /&gt;
|D1X-Rebirth&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,175 Archive]&lt;br /&gt;
|[http://www.dxx-rebirth.com/ Website]  Get the original shareware files [http://www.dxx-rebirth.com/download/dxx/content/descent-shareware.zip here.]&lt;br /&gt;
|-&lt;br /&gt;
|Descent 2&lt;br /&gt;
|D2X-Rebirth&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,177 Archive]&lt;br /&gt;
|[http://www.dxx-rebirth.com/ Website]  Get the original shareware files [http://www.dxx-rebirth.com/download/dxx/content/descent2-demo.zip here.]&lt;br /&gt;
|-&lt;br /&gt;
|Doom 1 and 2&lt;br /&gt;
|PrBoom&lt;br /&gt;
|2011-01-30&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://pickle.gp2x.de/prboom.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56700-prboom-with-picklelauncher-for-pandora/page__view__findpost__p__936645 Discussion] Enhanced Doom engine [http://prboom.sourceforge.net/ Website]  Fully compatible with [http://www.nongnu.org/freedoom/ Freedoom], a free clone that comes as a .WAD file . Uses [[PickleLauncher]]&lt;br /&gt;
|-&lt;br /&gt;
|Duke Nukem 3D&lt;br /&gt;
|eDuke32SDL&lt;br /&gt;
|2010-07-01&lt;br /&gt;
|eduke32 team&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/eduke32SDL.inf Apps]&lt;br /&gt;
|Get the original shareware files [http://liberatedgames.com/game.php?game_id=19 here]&lt;br /&gt;
|-&lt;br /&gt;
|Flashback&lt;br /&gt;
|Reminiscence v0.1.11&lt;br /&gt;
|2011-01-15&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://zx81.zx81.free.fr/public/pandora/reminiscence/reminiscence-v0.1.11-pnd.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55244-pandora-reminiscence-flashback-clone-for-pandora-v0110/ Discussion] needs non-free data&lt;br /&gt;
|-&lt;br /&gt;
|Gish ('''beta''')&lt;br /&gt;
|Gish&lt;br /&gt;
|2011-01-12&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://pickle.gp2x.de/gish.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58034-gish/page__view__findpost__p__933707 Discussion] A bit slow [https://github.com/megagun/gish free data untested]&lt;br /&gt;
|-&lt;br /&gt;
|Heretic&lt;br /&gt;
|HHeretic&lt;br /&gt;
|2010-05-23&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/Heretic.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,67 Archive]&lt;br /&gt;
|Get the original shareware files:link needed&lt;br /&gt;
|-&lt;br /&gt;
|Heroes of Might and Magic 2&lt;br /&gt;
|FHeroes&lt;br /&gt;
|2010-03-17&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Strategy&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/FHeroes2.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,44 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=47553 Discussion] needs non-free data&lt;br /&gt;
|-&lt;br /&gt;
|Hexen&lt;br /&gt;
|HHexen&lt;br /&gt;
|2010-05-23&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/Hexen.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,68 Archive]&lt;br /&gt;
|Get the original shareware files:link needed&lt;br /&gt;
|-&lt;br /&gt;
|Hexen 2&lt;br /&gt;
|Hexen 2: Hammer of Thyrion&lt;br /&gt;
|2010-06-05&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/Hexen2.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,66 Archive]&lt;br /&gt;
|Get the original shareware files:link needed&lt;br /&gt;
|-&lt;br /&gt;
|[http://en.wikipedia.org/wiki/Infinity_Engine Infinity Engine]&lt;br /&gt;
|GemRB 0.6.3&lt;br /&gt;
|2011-01-23&lt;br /&gt;
|JurnD (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,5,204 Archive]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/53848-has-anyone-done-anything-on-gemrb/page__view__findpost__p__888096 1] [http://www.gp32x.com/board/index.php?/topic/56677-gemrb/ 2] needs non free data&lt;br /&gt;
|-&lt;br /&gt;
|Jazz Jackrabbit&lt;br /&gt;
|OpenJazz svn116&lt;br /&gt;
|2010-07-04&lt;br /&gt;
|Alister, Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,35,55 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/Openjazz.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54974-openjazz-update/ Discussion]  Get the original shareware files [ftp://download.dosgamesarchive.com/jjrabbit.zip here.]&lt;br /&gt;
|-&lt;br /&gt;
|Ken's Labyrinth&lt;br /&gt;
|Ken's Labyrinth&lt;br /&gt;
|2010-08-03&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/ken.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,176 Archive]&lt;br /&gt;
|data included in pnd&lt;br /&gt;
|-&lt;br /&gt;
|Little Big Adventure 1 and 2&lt;br /&gt;
|Prequ ('''beta''')&lt;br /&gt;
|2011-01-31&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Action-adventure&lt;br /&gt;
|&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=520 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58483-prequ-engine-another-lba-engine/ Discussion]. Works better than Twin-E version. Needs [http://www.gp32x.com/board/index.php?/topic/58173-midi-installer/ Timidity MIDI Installer] needs non-free data&lt;br /&gt;
|-&lt;br /&gt;
|Lord of the Rings: The Fellowship of the Ring&lt;br /&gt;
|Lord of the Rings Game Engine&lt;br /&gt;
|2011-01-31&lt;br /&gt;
|Michal Benes, EvilDragon (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,294 Archive]&lt;br /&gt;
|Engine for the game by Interplay. Put the DOS game files in /pandora/appdata/lotr/ | data not free&lt;br /&gt;
|-&lt;br /&gt;
|Marathon 2, Marathon Infinity&lt;br /&gt;
|AlephOne Trilogy 0.23.1&lt;br /&gt;
|2010-10-11&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,143 Archive]&lt;br /&gt;
|[http://sourceforge.net/projects/marathon/ Website] [http://www.gp32x.com/board/index.php?/topic/55168-rise-of-the-triad-openlierox-alpehone/ Discussion] includes game files&lt;br /&gt;
|-&lt;br /&gt;
|Narcissu&lt;br /&gt;
|ONscripter&lt;br /&gt;
|2010-05-11&lt;br /&gt;
|Insani, EvilDragon (port)&lt;br /&gt;
|Visual Novel&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,37,58 Archive]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1768-narcissu/page__view__findpost__p__33096 includes ONScripter]&lt;br /&gt;
|-&lt;br /&gt;
|Quake&lt;br /&gt;
|ZQuake ('''beta''')&lt;br /&gt;
|2011-02-13&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://pickle.gp2x.de/zquake.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58651-quake-1-zquake-with-gles/page__pid__939012__st__0&amp;amp;#entry939012 Discussion]  Get the original shareware files [ftp://ftp.idsoftware.com/idstuff/quake/quake106.zip here.]&lt;br /&gt;
|-&lt;br /&gt;
|Quake 2&lt;br /&gt;
|IOQuake 2&lt;br /&gt;
|2010-06-05&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/IOquake2.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,64 Archive]&lt;br /&gt;
|Get the original shareware files [ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe here.]&lt;br /&gt;
|-&lt;br /&gt;
|Quake 3&lt;br /&gt;
|IOQuake 3&lt;br /&gt;
|2010-06-05&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/IOquake3.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,65 Archive]&lt;br /&gt;
|Get the original shareware files:link needed&lt;br /&gt;
|-&lt;br /&gt;
|Rise of the Triad&lt;br /&gt;
|Rise of the Triad&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,145 Archive]&lt;br /&gt;
|[http://www.3drealms.com/rott/ Website] [http://www.gp32x.com/board/index.php?/topic/55168-rise-of-the-triad-openlierox-alpehone/ Discussion]  Get the original shareware files: link needed&lt;br /&gt;
|-&lt;br /&gt;
|Sonic Robo Blast 2&lt;br /&gt;
|Sonic Robo Blast 2&lt;br /&gt;
|2010-09-21&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Platformer&lt;br /&gt;
|N+C&lt;br /&gt;
|[http://pickle.gp2x.de/srb2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56726-sonic-robo-blast-2-with-opengles/ Discussion] Put [http://www.srb2.org/download/ data files] in appdata/srb2&lt;br /&gt;
|-&lt;br /&gt;
|Star Control 2&lt;br /&gt;
|Pandora-Uqm&lt;br /&gt;
|2010-08-21&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|Adventure&lt;br /&gt;
|N+C&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/pandora-uqm-v0.6.2.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,194 Archive]&lt;br /&gt;
|The data files can be obtained for free [http://sc2.sourceforge.net/downloads.php here].&lt;br /&gt;
|-&lt;br /&gt;
|Star Control 2&lt;br /&gt;
|Ur-Quan Masters&lt;br /&gt;
|2010-06-19&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Adventure&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/uqmasters.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54936-ur-quan-masters-is-it-really-that-good Discussion] The data files can be obtained for free [http://sc2.sourceforge.net/downloads.php here].&lt;br /&gt;
|-&lt;br /&gt;
|{{HideableNotes|Text adventures from Magnetic Scrolls, Infocom, ZMachine, and Scott Adams.}}&lt;br /&gt;
|Kronos (Interpreter)&lt;br /&gt;
|2010-05-21&lt;br /&gt;
|Skeezix (port)&lt;br /&gt;
|Text Adventure&lt;br /&gt;
|x&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/kronos.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,62 Archive]&lt;br /&gt;
|free if [http://www.ifarchive.org/] ,[http://wurb.com/if/], [http://www.ifcomp.org/]&lt;br /&gt;
|- style=&amp;quot;background: #xxxxxx&amp;quot;&lt;br /&gt;
|Text adventure games&lt;br /&gt;
|[[Gargoyle 08-2009]]&lt;br /&gt;
|2010-08-23&lt;br /&gt;
|gargoyle, skeezix&lt;br /&gt;
|Text Adventure&lt;br /&gt;
|x&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/gargoyle_20100823.inf Apps]&lt;br /&gt;
| {{HideableNotes|Supports Adrift, Alan, APT, Glulx, Hugo, Level 9, Magnetic Scroll, TADS and Z-Code format games}} free if [http://www.ifarchive.org/] ,[http://wurb.com/if/], [http://www.ifcomp.org/]&lt;br /&gt;
|-&lt;br /&gt;
|Theme Hospital&lt;br /&gt;
|CorsixTH&lt;br /&gt;
|2011-02-16&lt;br /&gt;
|CorsixTH team, Wally (port)&lt;br /&gt;
|Simulation / Godgame&lt;br /&gt;
|&lt;br /&gt;
|[https://idisk.mac.com/catapultit//Public/CorsixTH-B5.zip Download]&lt;br /&gt;
|Discussion: [http://boards.openpandora.org/index.php?/topic/1734-corsix-th-open-theme-hospital-engine/ OP] [http://www.gp32x.com/board/index.php?/topic/58690-corsix-th-open-theme-hospital-engine/ GP32X]. Needs non-free data&lt;br /&gt;
|-&lt;br /&gt;
|Ultima VII&lt;br /&gt;
|Pandora-Exult&lt;br /&gt;
|2010-08-12&lt;br /&gt;
|zx-81 (port)&lt;br /&gt;
|RPG&lt;br /&gt;
|&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Game/exult-1.4.inf Apps] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,26,182 Archive]&lt;br /&gt;
|needs non-free data&lt;br /&gt;
|-&lt;br /&gt;
|[http://en.wikipedia.org/wiki/SCUMMVM#Games_supported_by_ScummVM Various]&lt;br /&gt;
|[[ScummVM]] 1.2.1&lt;br /&gt;
|2010-12-30&lt;br /&gt;
|DJWillis&lt;br /&gt;
|Adventure&lt;br /&gt;
|&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,20,295 Archive] [http://sourceforge.net/projects/scummvm/files/scummvm/1.2.1/scummvm-1.2.1-openpandora.zip/download Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56874-scummvm-120-preview-1-for-the-openpandora/ Discussion] [http://wiki.scummvm.org/index.php?title=OpenPandora Wiki]  [http://www.scummvm.org/downloads/ freeware]&lt;br /&gt;
|-&lt;br /&gt;
|Wolfenstein 3D/Spear of Destiny&lt;br /&gt;
|Wolf4SDL with [[PickleLauncher]]&lt;br /&gt;
|2010-10-09&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|FPS&lt;br /&gt;
|x&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,30,51 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56977-wolf4sdl-with-pickelauncher-for-pandora/ Discussion] [http://liberatedgames.com/game.php?game_id=17 shareware data]&lt;br /&gt;
|-&lt;br /&gt;
|Z-Machine Games&lt;br /&gt;
|[[Frotz]] v2.43&lt;br /&gt;
|2010-05-27&lt;br /&gt;
|SteveM (port)&lt;br /&gt;
|Adventure&lt;br /&gt;
|x&lt;br /&gt;
|[http://www.cosam.org/computers/pandora/frotz-2.43.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,20,82 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53717-frotz-pnd Discussion] {{HideableNotes|Interpreter for Infocom and other Z-machine games}} free if [http://www.ifarchive.org/] ,[http://wurb.com/if/], [http://www.ifcomp.org/]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;MP stands for &amp;quot;multiplayer&amp;quot;&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 355px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot; | About the MP column&lt;br /&gt;
|-&lt;br /&gt;
|x || There is no multiplayer&lt;br /&gt;
|-&lt;br /&gt;
|SS || Yes, by sharing a system&lt;br /&gt;
|-&lt;br /&gt;
|SSC || Yes, by sharing a system with an external controller attached.&lt;br /&gt;
|-&lt;br /&gt;
|Net || Yes, multiplayer over a network&lt;br /&gt;
|-&lt;br /&gt;
|N+S || Both Net and SS&lt;br /&gt;
|-&lt;br /&gt;
|N+C || Both Net and SSC&lt;br /&gt;
|-&lt;br /&gt;
|All || Net, SS and SSC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://sebt3.openpandora.org/pnd/ Releases by sebt3]&lt;br /&gt;
*[http://www.hermocom.com/en/downloads/openpandora/ Releases by Hermocom]&lt;br /&gt;
*[http://rebirthofxeen.com/files/pandora/ Releases by WizardStan]&lt;br /&gt;
*[http://www.stuckiegamez.co.uk/apps/pandora/ Releases by Stuckie]&lt;br /&gt;
&lt;br /&gt;
===Forums===&lt;br /&gt;
The following community forums are checked when updating this page:&lt;br /&gt;
*From GP32X: [http://www.gp32x.com/board/index.php?/forum/63-news-zone-pandora/ News Zone], [http://www.gp32x.com/board/index.php?/forum/71-beta-testing-pandora/ Beta Testing] and [http://www.gp32x.com/board/index.php?/forum/64-developers-corner-pandora/ Developer's Corner]&lt;br /&gt;
*From OP: [http://boards.openpandora.org/index.php?/forum/26-software-news/ Software News] and [http://boards.openpandora.org/index.php?/forum/10-beta-testing/ Beta Testing]&lt;br /&gt;
&lt;br /&gt;
[[Category:Games| ]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=User:Stuckie&amp;diff=6383</id>
		<title>User:Stuckie</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=User:Stuckie&amp;diff=6383"/>
		<updated>2011-02-24T03:32:28Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Added list of projects with links as necessary.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I do scary dodgy hacks ;)&lt;br /&gt;
&lt;br /&gt;
Homesite: [http://www.stuckiegamez.co.uk stuckieGAMEZ]&lt;br /&gt;
&lt;br /&gt;
= Scary Hacks =&lt;br /&gt;
== Extend Utils ==&lt;br /&gt;
[[Extend Utils]] - The Extend Utils suite which allows loading of loop files for swap, overlays and OS extensions.&amp;lt;br /&amp;gt;&lt;br /&gt;
== Debian on SD ==&lt;br /&gt;
[[Debian On SD]] - OS project to get Debian running on Pandora via SD card; maintaining all Debian and Pandora features.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Projects =&lt;br /&gt;
== GLESGAE ==&lt;br /&gt;
GLESGAE - GL ES Game Application Engine; an engine originally written for Pandora to aid in GL ES programming and porting to other capable devices.&amp;lt;br /&amp;gt;&lt;br /&gt;
Not released as yet.&lt;br /&gt;
&lt;br /&gt;
= Unmaintained Ports =&lt;br /&gt;
Unmaintained in the sense that, they've been released and work as far as I'm aware.. unless someone shouts at me otherwise, they'll stay that way!&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm also not directly keeping an eye on the original package for updates.&lt;br /&gt;
== MAXR ==&lt;br /&gt;
* Technically, this does work completely as intended as they only have multi-player running, and no single player.&lt;br /&gt;
* Might be tempted to upgrade it at some point if there's interest, and there's been an update since.&lt;br /&gt;
&lt;br /&gt;
== MilkyTracker ==&lt;br /&gt;
* There was a bug report that an HF5 beta had issues with it... will test again once HF5 is final.&lt;br /&gt;
&lt;br /&gt;
== SchismTracker ==&lt;br /&gt;
* Had no bug reports from it, I assume it's fine.&lt;br /&gt;
&lt;br /&gt;
== gMPC ==&lt;br /&gt;
* There's a much better port than the one I quickly put together.&lt;br /&gt;
&lt;br /&gt;
== gimp ==&lt;br /&gt;
* Very very quick and hacky port... really needs a rebuild properly.&lt;br /&gt;
&lt;br /&gt;
== Bennu ==&lt;br /&gt;
* Have had zero feedback on this at all.. no idea if it even works right as I don't use the language so couldn't test properly.&lt;br /&gt;
&lt;br /&gt;
= Package Site =&lt;br /&gt;
My packages can usually be found on http://www.stuckiegamez.co.uk/apps/pandora .. if linking to this, I'm &amp;quot;stuckie&amp;quot; not &amp;quot;stuckieGAMEZ&amp;quot; or any variation of!&lt;br /&gt;
&lt;br /&gt;
= Contact Details =&lt;br /&gt;
Can be found in irc mostly... PM me if you don't get a response in a timely fashion, and I'll contact you when I'm around.&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Software_projects&amp;diff=6382</id>
		<title>Software projects</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Software_projects&amp;diff=6382"/>
		<updated>2011-02-24T03:31:17Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Changed port author of GIMP to Stuckie - it is my dirty hacky port! read the discussion for proof and the fact it's on my site!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''These lists were last updated on 2011-02-19 to include the latest files from [http://apps.open-pandora.org/cgi-bin/viewarea.pl?Games Pandora Apps], the [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,9 File Archive], and the [[Software_projects#Forums|community forums]].''&lt;br /&gt;
&lt;br /&gt;
This is a list of '''all software projects''' for the Pandora ''excluding'' emulators (see: [[Emulator list]]), games (see: [[Games]]), and development tools (see: [[Development Tools]]). However, this list ''does'' include the development apps that can be used on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
See the [[Port Requests]] article for open-source projects which ''could'' be ported but have not been taken on by anyone yet.&lt;br /&gt;
for [[Unreleased]]&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
If you would like to add something, you could edit the wiki or [http://www.gp32x.com/board/index.php?/topic/54923-the-pandora-apps-thread/ post in this forum thread]. If different versions of a software were released, please make sure the &amp;quot;release date&amp;quot; is the most recent one. &lt;br /&gt;
&lt;br /&gt;
Please click on the little squares to sort by different categories (such as Release date, Type, etc.)&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[AbiWord]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (packaging)&lt;br /&gt;
|Office - word processor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/abiword.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__919843 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Alarm Clock ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,303 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Anki]] 1.2.4 ('''beta''')&lt;br /&gt;
|2011-01-25&lt;br /&gt;
|Drack (port)&lt;br /&gt;
|Office - memory aid&lt;br /&gt;
|[http://dl.dropbox.com/u/8938380/anki-1.2.4-drack1.pnd Download]&lt;br /&gt;
|Discussion [http://www.gp32x.com/board/index.php?/topic/56293-anki-friendly-intelligent-flashcards/ 1] [http://boards.openpandora.org/index.php?/topic/34-anki-friendly-intelligent-flashcards/ 2]&lt;br /&gt;
|-&lt;br /&gt;
|[[Arora]] (for [[Minimenu]])&lt;br /&gt;
|2010-05-26&lt;br /&gt;
|Skeezix (quick hack)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,69 Archive]&lt;br /&gt;
|Needed to run Arora from Minimenu&lt;br /&gt;
|-&lt;br /&gt;
|[[Audacious]] 2.4.3&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/audacious.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54792-audacious/page__view__findpost__p__937089 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[b7zip]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Background killer&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|Notaz&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/background_killer.inf Apps]&lt;br /&gt;
|Kill background tasks in minimenu. [http://www.gp32x.com/board/index.php?/topic/56008-zelda-classic-for-pandora/page__st__15__p__907940&amp;amp;#entry907940 Not needed] since Hotfix 3.&lt;br /&gt;
|-&lt;br /&gt;
|[[Banshee]]&lt;br /&gt;
|2010-10-23&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/banshee.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57144-portrequest-banshee/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Bournal]]&lt;br /&gt;
|2010-08-11&lt;br /&gt;
|&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,181 Archive]&lt;br /&gt;
|encrypted diary program&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]&lt;br /&gt;
|2010-09-04&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,90 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56474-chromium-4-with-ssl-and-chromium-snapshot/ Discussion]. SSL now works&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]-Dev v10.0.642.1&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,201 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58234-chromium-dev-snapshot-v10-0-642-1/ Discussion] [http://www.gp32x.com/board/index.php?/topic/57017-chromium-dev-updated/ (old)]. The latest (non-stable) snapshot.&lt;br /&gt;
|-&lt;br /&gt;
|[[Claunch]] ('''beta''')&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lamoxx&lt;br /&gt;
|System - app launcher&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/claunch_beta.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57040-claunch-minimal-flexible-rom-pickerapplication-launcher/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Claws Mail]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - mail client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/claw-mail.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,223 Archive]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920075 Discussion]. Hopefully doesn't save to NAND (testing needed).&lt;br /&gt;
|-&lt;br /&gt;
|[[Cmus]]&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|otherguy66 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,251 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57682-cmus-pnd-installer/page__gopid__928328&amp;amp;#entry928328 Discussion]. Installed to [[NAND]] (1mb). Text mode player&lt;br /&gt;
|-&lt;br /&gt;
|[[Code::blocks]]&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|sinoth (port)&lt;br /&gt;
|Development - IDE&lt;br /&gt;
|[http://sinoth.net/pandora/codeblocks.pnd.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54091-codeblocks-on-the-pandora/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|Community Codec Package&lt;br /&gt;
|2010-05-25&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/CodecPack.inf Apps] [http://openpandora.org/downloads/CodecPack.pnd Official site]&lt;br /&gt;
|Make sure you have this installed&lt;br /&gt;
|-&lt;br /&gt;
|[[Comix]]&lt;br /&gt;
|2010-06-30&lt;br /&gt;
|Pontus Ekberg&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/comix.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Conky]]&lt;br /&gt;
|2010-08-03&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Conky.pnd/ Download]&lt;br /&gt;
|System monitor. [http://www.gp32x.com/board/index.php?/topic/55775-conky Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DarCalc]]&lt;br /&gt;
|2010-08-28&lt;br /&gt;
|JP&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,196 Archive]&lt;br /&gt;
|See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Deadbeef]] 0.4.3&lt;br /&gt;
|2010-11-01&lt;br /&gt;
|CME (port), sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://root.shadow-node.net/public/cme/pnd/deadbeef.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55178-deadbeef-compiled-with-codesourcery-gcc-2010q1/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[dia]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - diagrams&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/dia.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56863-dia/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DrawSWF]] ('''beta''')&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Chrysipp (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.158 Download] &lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10105%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhilcfdbJF4gEtvmTIwMjO9EFqUQ-A Discussion (German)]. Must have Java.pnd installed. {{HideableNotes|A small drawing program. The drawing can be exported as a Flash animation, which then shows its gradual development.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Ekiga]] ('''beta''')&lt;br /&gt;
|2010-10-29&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ekiga.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/ Discussion]. Online phone &amp;amp; video calls. '''[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/page__view__findpost__p__924918 Doesn't work]'''{{HideableNotes| though it can be made to work through Debian, [[Extend Utils]]: [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Enna]] ('''beta''')&lt;br /&gt;
|2010-07-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media Player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/enna.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55113-enna/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Exaile]]&lt;br /&gt;
|2010-04-28&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,43 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Exaile.inf Apps]&lt;br /&gt;
|Needs Community Codec Pack to run&lt;br /&gt;
|-&lt;br /&gt;
|[[Extend Utils]]&lt;br /&gt;
|2010-06-22&lt;br /&gt;
|Stuckie&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ 1], [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/ 2]. Debian in an extend. Allows you to run over 29,000 programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[F3]]&lt;br /&gt;
|2010-10-17&lt;br /&gt;
|slaeshjag (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://stuffs.slaeshjag.org/F3.tar Download]&lt;br /&gt;
|Test for fake flash memory (like H2testw). [http://www.gp32x.com/board/index.php?/topic/57063-some-quick-tips-to-help-avoid-fake-sd-cardsflash-media/page__view__findpost__p__922187 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FBReader]] 0.12.10&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|zx81 (port)&lt;br /&gt;
|Office - eBook Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,168 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fbreader-0.12.10.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 4.0b3 ('''beta''')&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Mozilla Team, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,75 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Fennec40.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58514-fennec-4-0b3/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 3.6.3&lt;br /&gt;
|2010-05-30&lt;br /&gt;
|Mozilla Team, Iampanis (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fennec.inf Apps]&lt;br /&gt;
|mobile version of FireFox&lt;br /&gt;
|-&lt;br /&gt;
|[[Figaro's Password Manager 2]] ('''beta''')&lt;br /&gt;
|2010-11-30&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - passwords&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,254 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57714-figaros-password-manager-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]]&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Evildragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,91 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/FireFox.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 3.6.13&lt;br /&gt;
|2011-01-28&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-3.6.13-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56903-firefox-3-6-10/ Discussion (old)], [http://www.gp32x.com/board/index.php?/topic/58425-firefox-3-6-13/ news/discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 4.0B10 ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-4b10-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58489-firefox-4-beta-10/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FlipClock]] ('''beta''')&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|torpor (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58548-port-flipclock-for-pandora/ Discussion], also [http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/page__view__findpost__p__937668 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fotoxx]]&lt;br /&gt;
|2010-12-06&lt;br /&gt;
|Kornelix&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Graphics - photo editor &amp;amp; manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,261 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57777-fotoxx/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Freemind]]&lt;br /&gt;
|2010-11-21&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - mind mapping&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,4,240 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57605-freemind-a-mindmap-tool/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[GCalc]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,241 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57636-gcalc-graphic-calculator/ Discussion]. Needs java.pnd installed. See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Geany]] v0.19-1&lt;br /&gt;
|2010-09-16&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,14,205 Archive] [http://dl.dropbox.com/u/39448/pandora/geany.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55432-geany/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gedit]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gedit.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56862-gedit/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gerbv]]&lt;br /&gt;
|2010-09-14&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - EDA&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,202 Archive]&lt;br /&gt;
|viewer for Gerber RS-274X, Excellon drill, &amp;amp; CSV pick-and-place files&lt;br /&gt;
|-&lt;br /&gt;
|[[gFTP]] 2.0.18 ('''beta''')&lt;br /&gt;
|2010-07-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - FTP client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gftp.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54931-gftp/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GIMP]] v2.6 ('''beta''')&lt;br /&gt;
|2010-06-06&lt;br /&gt;
|Stuckie (quick hack)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/gimp-2.6.pnd Download]&lt;br /&gt;
|Read instructions [http://www.gp32x.com/board/index.php?/topic/54071-ubuntu-or-other-dist-alternative/page__p__868411&amp;amp;#entry868411 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gmu Music Player]] 0.7.2 &lt;br /&gt;
|2010-12-29&lt;br /&gt;
|wejp&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://wejp.k.vu/files/gmu-0.7.2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58009-gmu-music-player-0-7-2/ Discussion] [http://www.gp32x.com/board/index.php?/topic/55007-gmu-music-player-0-7-1-released/ (old)]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnomad 2]]&lt;br /&gt;
|2010-10-18&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music manager&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnomad2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57088-gnomad2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnome Music Player Client]] (GMPC) 0.20.0 ('''beta''')&lt;br /&gt;
|2010-08-01&lt;br /&gt;
|tsh (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[https://sites.google.com/site/tshpandorastuff/file-cabinet/gmpc0.20.0.pnd?attredirects=0&amp;amp;d=1 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55664-gmpc-beta/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnumeric]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - spreadsheet&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnumeric.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920072 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GoldenDict]] 0.9.0Svn&lt;br /&gt;
|2010-09-27&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,209 Archive] [http://www.rangelreale.com/pandora/goldendict.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56802-goldendict-0-9-0svn/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GParted]]&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|System - partition&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gparted.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56915-gparted/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|GQview&lt;br /&gt;
|2010-07-27&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/GQview.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55559-gqview-pnd-image-viewer-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Grafx2]]&lt;br /&gt;
|2010-12-30&lt;br /&gt;
|pulkomandy, yrizoud, mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,264 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58016-grafx2/ Discussion]. For pixel art.&lt;br /&gt;
|-&lt;br /&gt;
|[[Groove]]&lt;br /&gt;
|2010-07-19&lt;br /&gt;
|Elias Woods, bompo (port)&lt;br /&gt;
|Network - radio&lt;br /&gt;
|[http://dl.dropbox.com/u/39448/pandora/Groove.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55363-groove/ Discussion]. [http://en.wikipedia.org/wiki/Grooveshark Grooveshark] client. '''Warning''': {{HideableNotes|Requires installing dependencies with opkg. See discussion thread.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Gwaei]]&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Zachary Dovel&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,249 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57674-gwaei-port-japanese-english-dictionary/ Discussion]. Japanese-English.&lt;br /&gt;
|-&lt;br /&gt;
|[[HomeBank]] 4.3&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|Maxime Doyen, mcobit (port)&lt;br /&gt;
|Office - money manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,296 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58506-homebank/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Hotfix 4&lt;br /&gt;
|2010-08-31&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/HotFix4-Zaxxon.inf Apps] [http://openpandora.org/downloads/HotFix4-Zaxxon.pnd Official site]&lt;br /&gt;
|Make sure you have this installed&lt;br /&gt;
|-&lt;br /&gt;
|[[Inkscape]] ('''beta''')&lt;br /&gt;
|2010-10-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/inkscape.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56954-inkscape/ Discussion]. Currently very slow.&lt;br /&gt;
|-&lt;br /&gt;
|[[Java]] Pnd ('''beta''')&lt;br /&gt;
|2010-11-21&lt;br /&gt;
|WizardStan (port)&lt;br /&gt;
|System - dependency&lt;br /&gt;
|[http://rebirthofxeen.com/files/pandora/java.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57598-java-pnd/ Discussion]. Run Java apps.&lt;br /&gt;
|-&lt;br /&gt;
|[[jEdit]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,244 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57614-jedit-programmers-text-editor/ Discussion]. For programmers. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jChemPaint]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule drawing&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,242 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57633-jchempaint/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMol]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule viewing in 3D&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,243 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57618-jmol-3d-molecule-viewer/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMP3 Player]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|jaijuju&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.156 Download]&lt;br /&gt;
|[http://code.google.com/p/jmp3player/ Website]. Java.pnd required.&lt;br /&gt;
|-&lt;br /&gt;
|[[KCHMViewer]] 5.2&lt;br /&gt;
|2010-10-05&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - CHM Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,215 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56901-kcmviewer/ Discussion.] Windows help files reader.&lt;br /&gt;
|-&lt;br /&gt;
|[[KDiff 3]]&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Joachim Eibl&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,299 Archive] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1440-kdiff3-0995-pandora-3/ Discussion]. Merge 2 or 3 text input files or directories&lt;br /&gt;
|-&lt;br /&gt;
|[[Liferea]]&lt;br /&gt;
|2010-07-06&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - RSS Reader&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/liferea.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55089-liferea/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Linphone]] ('''beta''')&lt;br /&gt;
|2011-01-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/linphone.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58289-linphone Discussion]. Online phone calls.&lt;br /&gt;
|-&lt;br /&gt;
|[[Me TV]]&lt;br /&gt;
|2010-10-19&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - digital TV&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/metv.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56987-port-request-me-tv/page__p__921501&amp;amp;#entry921501 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Merkaartor]] 0.17.0&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/merkaartor.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56656-merkaartor-or-other-osm-editor/page__p__922345&amp;amp;#entry922345 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[MilkyTracker]]&lt;br /&gt;
|2010-06-23&lt;br /&gt;
|Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,102 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/milkytracker.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57612-remember-the-only-2-keyboard-buttons-at-once-limitation/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Minitube]] 1.3&lt;br /&gt;
|2011-01-13&lt;br /&gt;
|Flavio Tordini, sebt3 (port)&lt;br /&gt;
|Network - Youtube client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/?f=minitube.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/55952-minitube-1-1/ v1.1] [http://www.gp32x.com/board/index.php?/topic/58183-minitube-1-3/ v1.3]. Youtube browser/player&lt;br /&gt;
|-&lt;br /&gt;
|[[mtPaint]]&lt;br /&gt;
|2010-07-27&amp;lt;br/&amp;gt;2010-12-29&lt;br /&gt;
|Mark Tyler, daniel3000 (port 1), chris_c (port 2)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/mtPaint.pnd/ Download (port 1)] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,263 Archive (port 2)]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55561-mtpaint-pnd-available/ Discussion]. For painting &amp;amp; pixel art. Ported twice.&lt;br /&gt;
|-&lt;br /&gt;
|[[MyPaint]] ('''beta''')&lt;br /&gt;
|2011-02-19&lt;br /&gt;
|First (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://webusers.spa.umn.edu/~laurens/pnd/mypaint-0.9.0.pnd.gz Download]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1817-mypaint-port/ Discussion]. [http://mypaint.intilinux.com/ Website]. Has pressure sensitivity.&lt;br /&gt;
|-&lt;br /&gt;
|[[Ommpc]] v0.5.4&lt;br /&gt;
|2010-10-06&lt;br /&gt;
|Tim Temple&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,133 Archive]&lt;br /&gt;
|MPD client [http://www.gp32x.com/board/index.php?/topic/55039-ommpc-v0-5-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[OSM2Go]]&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osm2go.pnd Download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Osmo]] ('''beta''')&lt;br /&gt;
|2010-09-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - personal organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osmo.pnd Download]&lt;br /&gt;
|[http://clayo.org/osmo/ Website] [http://www.gp32x.com/board/index.php?/topic/56455-osmo/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[PanDebian]]&lt;br /&gt;
|2011-02-04&lt;br /&gt;
|Gregor&lt;br /&gt;
|System&lt;br /&gt;
|[http://codu.org/tmp/pandebian.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1474-pandebian/ Discussion]. [[Extend Utils]] alternative for Angstrom-Debian cooperation&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Fractals&lt;br /&gt;
|2010-08-26&lt;br /&gt;
|Or Green&lt;br /&gt;
|Graphics - fractals&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/PFractals.inf Apps]&lt;br /&gt;
|fractal generator. [http://www.gp32x.com/board/index.php?/topic/51402-mandelbrot-set-generator-for-pandora/page__st__75 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Pencil]] 0.4.4b ('''beta''')&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - animation&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pencil.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57362-pencil/ Discussion]. 2D animation &amp;amp; drawing.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pidgin]]&lt;br /&gt;
|2010-12-07&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - IM client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pidgin.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56898-pidgin/ Discussion]. This version no longer uses [[NAND]] to [http://www.gp32x.com/board/index.php?/topic/56898-pidgin/page__view__findpost__p__934658 store data].&lt;br /&gt;
|-&lt;br /&gt;
|[[PNDbuilder]]&lt;br /&gt;
|2011-02-08&lt;br /&gt;
|freedomdown (Ryan Dallaire)&lt;br /&gt;
|Development&lt;br /&gt;
|[http://freedomdown.squarespace.com/storage/pndb.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58587-pndbuilder/ Discussion]. Graphical PND maker.&lt;br /&gt;
|-&lt;br /&gt;
|PS3 Bluetooth Controller - Sixpair Utility&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|Jim Paris, Samson Yeung, AireTamStrm (port) &lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,4 Archive]&lt;br /&gt;
|Use a DualShock III Controller or SIXAXIS controller via USB&lt;br /&gt;
|-&lt;br /&gt;
|[[PSFreedom]]&lt;br /&gt;
|2010-09-23&lt;br /&gt;
|Notaz (port)&lt;br /&gt;
|Other&lt;br /&gt;
|[http://pandorapress.net/gruso/psfreedom.ko Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56752-psfreedom-for-pandora/ Discussion]. Allows homebrew on your PS3.&lt;br /&gt;
|-&lt;br /&gt;
|[[qOrganizer]]&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qorganizer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,233 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57359-qorganizer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Quick Change CPU Speed&lt;br /&gt;
|2010-06-20&lt;br /&gt;
|Pleng&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/CPUSpeeds.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54583-quick-change-cpu-speeds/ Discussion]. Add CPU speed presets to your menu.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remmina]]&lt;br /&gt;
|2010-06-21&lt;br /&gt;
|mindlord (port)&lt;br /&gt;
|Network - VNC/RDP/XDMCP client&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,99 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/remmina.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54610-remmina-0-7-5/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[RText]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Fifesoft, Chrysipp (port)&lt;br /&gt;
|Development - text editor&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.157 Download]&lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10106%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhivaNHspNg4XSb4aOpjskxivvIRXw Discussion (German)]. Must have Java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Mod Player]]&lt;br /&gt;
|2010-06-10&lt;br /&gt;
|?&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.79 Download]&lt;br /&gt;
|Player for MOD and XM.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Tracker]]&lt;br /&gt;
|2010-06-19&lt;br /&gt;
|Storlek, Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,89 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/schismtracker.inf Apps]&lt;br /&gt;
|Clone of Impulse Tracker&lt;br /&gt;
|-&lt;br /&gt;
|[[Scite]] 2.21&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|urjaman (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://urjaman.dyndns.info/scite221.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57116-scite-2-21-ported/ Discussion]. Scintilla-based syntax highlighting text editor&lt;br /&gt;
|-&lt;br /&gt;
|SD Card Speed Fix&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|mawler&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,88 Archive]&lt;br /&gt;
|improve SD writing speed, but risk data corruption if writing is interrupted&lt;br /&gt;
|-&lt;br /&gt;
|[[Seq24]] ('''beta''')&lt;br /&gt;
|2010-09-06&lt;br /&gt;
|Gruso (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://users.tpg.com.au/pw2007/seq24.beta1.pnd Download] &lt;br /&gt;
|MIDI sequencer. [http://www.gp32x.com/board/index.php?/topic/56517-seq24-midi-sequencer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SMPlayer]] 0.6.9-1&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|Ivanovic (port)&lt;br /&gt;
|Media Player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,114,298 Archive] &lt;br /&gt;
|MPlayer frontend. [http://www.gp32x.com/board/index.php?/topic/58511-smplayer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SUPA]] 0.1-1 ('''beta''')&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Simple Updater for Pandora Applications&amp;lt;/small&amp;gt; &lt;br /&gt;
|2010-07-04&lt;br /&gt;
|Bryce Leo&lt;br /&gt;
|System - Application Downloader/Updater&lt;br /&gt;
|[http://drive.and-a-half.com/SUPA.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55023-supa-simple-updater-for-pandora-applications/ Discussion]. No GUI yet.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synergy]]&lt;br /&gt;
|2010-10-09&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|Network - VNC client&lt;br /&gt;
|[http://www.mediafire.com/?npdbkibd5bm5ckb Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56943-synergy-clientserver-as-pnd/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[Timidity MIDI Installer]]&lt;br /&gt;
|2011-01-12&lt;br /&gt;
|sebt3&lt;br /&gt;
|Audio - MIDI&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/timidity_midi_installer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,273 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58173-midi-installer/ Discussion]. MIDI patches installer. {{HideableNotes|It will allow you to have music for games that use MIDI. There are 3 different sound-sample sets packing different levels of sound quality. Installs to [[NAND]], though you can put them on SD card and then it's less than 2k on NAND (2 2-line files).}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Transmission]]&lt;br /&gt;
|2010-09-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - BitTorrent client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/transmission.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,208 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56553-bit-torrent-client/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueCrypt]] ('''beta''')&lt;br /&gt;
|2011-02-12&amp;lt;br/&amp;gt;2010-07-18&lt;br /&gt;
|TJSomething (port)&amp;lt;br/&amp;gt;daniel3000 (old port)&lt;br /&gt;
|System - encryption&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,321 Archive] [http://www.hermocom.com/en/downloads/openpandora/TrueCrypt.pnd/ old version]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1763-truecrypt-port/ Discussion]. [http://www.gp32x.com/board/index.php?/topic/55347-truecrypt-pnd-ready-for-testing/ Discussion (old)].&lt;br /&gt;
|-&lt;br /&gt;
|[[Unace]]&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UnRar]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UPX]] (The Ultimate Packer for eXecutables)&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Viewnior 1.0&lt;br /&gt;
|2010-07-29&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Viewnior.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55618-viewnior-pnd-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Vim Gvim 7.2 ('''beta''')&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Discussion]. [http://www.vim.org/about.php About]. Not a PND.&lt;br /&gt;
|-&lt;br /&gt;
|[[VLC]] 1.1.0 ('''beta''')&lt;br /&gt;
|2010-10-12&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player (video &amp;amp; audio)&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/vlc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54922-vlc/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Wahcade]] Emulator Frontend b1 ('''beta''')&lt;br /&gt;
|2011-02-06&lt;br /&gt;
|Sigma (port)&lt;br /&gt;
|System - frontend&lt;br /&gt;
|[http://www.mediafire.com/?h8o33khvtcy3x8m Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1508-wahcade-frontend-beta1/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|WiFi '''Beta test'''&lt;br /&gt;
|2010-11-05&lt;br /&gt;
|EvilDragon&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.openpandora.org/downloads/WiFiBETA.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57364-wifi-betatest/ Discussion]. Might fix WiFi issues.&lt;br /&gt;
|-&lt;br /&gt;
|[[Xarchiver]] 0.5.2&lt;br /&gt;
|2010-12-04&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,259 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57748-xarchiver/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Xbindkeys&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/xbindkeys-1.8.3_prebuild.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57037-xbindkeys-precompiled/ Discussion]. Configure hotkeys&lt;br /&gt;
|-&lt;br /&gt;
|[[XBMC]] 10.0 ('''beta''')&lt;br /&gt;
|2011-01-11&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media Player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xbmc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57106-xbmc-media-center/ Discussion]. Functions as &amp;quot;entertainment hub&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|XFE 1.32.1&lt;br /&gt;
|2010-07-20&lt;br /&gt;
|Maxim Baranov, Roland Baudin, packaged by sebt3&lt;br /&gt;
|System - file manager, packager&amp;lt;br/&amp;gt;Graphics - image viewer&amp;lt;br/&amp;gt;Office - notepad&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,163 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Xournal]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xournal.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56864-xournal/ Discussion]. Can annotate PDFs.&lt;br /&gt;
|}&lt;br /&gt;
==Skins==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Basic Gray&lt;br /&gt;
|2010-11-25&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=506 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueFuture&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,239 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=434 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Executive&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,250 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928158 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Gray Is Sexy&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.liquidfists.com/files/grayissexy.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928315 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Midnight&lt;br /&gt;
|2010-06-17&lt;br /&gt;
|Trevsweb&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://trevsweb.com/pandainterface/midnight.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu With Toggle Detail Panel Support ('''beta''')&lt;br /&gt;
|2011-01-23&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/detail-toggle/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58327-beta%3B-minimenu-with-toggle-detail-panel-support/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-01-26&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110126.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110127.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110202.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-09&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110209.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/page__view__findpost__p__938340 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Newsprint&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/newsprint.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedDevil&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,248 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928099 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=433 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Toybox &amp;amp; Corporate (2 skins)&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=432 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Wasp&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,238 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
==Operating Systems==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Debian('''beta''')&lt;br /&gt;
|[http://debian.org] [http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/]&lt;br /&gt;
|working build&lt;br /&gt;
|Stuckie&lt;br /&gt;
|[[Debian On SD]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphic engines==&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[GLES]] ('''beta''')&lt;br /&gt;
|2010-09-02&lt;br /&gt;
|Farox (port)&lt;br /&gt;
|&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|WakeBreaker&lt;br /&gt;
|&lt;br /&gt;
|torpor&lt;br /&gt;
|3d&lt;br /&gt;
|[http://w1xer.at/pandora/]&lt;br /&gt;
|{{HideableNotes|Working C++ codebase to implement a 3D game using nothing more than OpenGLES 1.1 .. can even be built *on* the Pandora, with nothing more than the onboard compiler. WakeBreaker contains everything you need to get started writing a 3D game in C++ with OpenGL ES - no further libraries required. Its an excellent example of how to write a 3D game in plain, easy to understand C++ and can serve as a working base for your own developments, easily enough.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://sebt3.openpandora.org/pnd/ Releases by sebt3]&lt;br /&gt;
*[http://www.hermocom.com/en/downloads/openpandora/ Releases by Hermocom]&lt;br /&gt;
*[http://rebirthofxeen.com/files/pandora/ Releases by WizardStan]&lt;br /&gt;
*[http://www.stuckiegamez.co.uk/apps/pandora/ Releases by Stuckie]&lt;br /&gt;
*[http://www.pandorasource.de/download.php PandoraSource.de downloads] - German Pandora download site&lt;br /&gt;
*From GP32X: [http://www.gp32x.com/board/index.php?/forum/63-news-zone-pandora/ News Zone], [http://www.gp32x.com/board/index.php?/forum/71-beta-testing-pandora/ Beta Testing] and [http://www.gp32x.com/board/index.php?/forum/64-developers-corner-pandora/ Developer's Corner]&lt;br /&gt;
*From OP: [http://boards.openpandora.org/index.php?/forum/26-software-news/ Software News] and [http://boards.openpandora.org/index.php?/forum/10-beta-testing/ Beta Testing]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=6381</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=6381"/>
		<updated>2011-02-24T03:13:07Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Link clean up and general tidiness. Removed Ubuntu support - use Debian instead!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Extend Utils provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the SimpleDev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For those that prefer the &amp;quot;classic&amp;quot; version which doesn't have as much options available to it, you can grab that here:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/OldExtendUtils.pnd Classic Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Bug Reports =&lt;br /&gt;
In order for a bug report to be useful, I need the following information from you:&amp;lt;br /&amp;gt;&lt;br /&gt;
Output from &amp;quot;dmesg | tail&amp;quot;, &amp;quot;mount&amp;quot; and your preMount script.&amp;lt;br /&amp;gt;&lt;br /&gt;
A description of the error.&lt;br /&gt;
&lt;br /&gt;
Just PM me them on the GP32X boards, or post in the relevant threads - Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in New Extend Utils, but are available here as well as they're just loop files and can therefore be used with other things:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
The last Dev Extend is very very old and may not work on recent firmwares.&amp;lt;br /&amp;gt;&lt;br /&gt;
A newer one is in progress as of 24th Feb 2011.&lt;br /&gt;
&lt;br /&gt;
=== Old Releases ===&lt;br /&gt;
The current release of the Dev Extend is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.20thJune2010.zip Dev Extend - 20th June 2010]&lt;br /&gt;
&lt;br /&gt;
The original release is here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.18thJune2010.zip Dev Extend - 18th June 2010]&lt;br /&gt;
&lt;br /&gt;
Upgrade functionality is being worked on.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
New &amp;quot;Current&amp;quot; Release&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic-compressed.7z ~250mb Compressed Debian Sid 28th July 2010 with Synaptic]&lt;br /&gt;
&lt;br /&gt;
Alternatively, check the [[Debian On SD]] project for booting Debian directly from SD card.&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
None, yet.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
Ubuntu is now officially 100% not supported. Upstart is an arse.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available ( see Files above )&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts exist, and an &amp;quot;official&amp;quot; compressed version of Sid with Synaptic.&lt;br /&gt;
See Files above.&lt;br /&gt;
&lt;br /&gt;
See [[Debian On SD]] for a better solution ( Debian booting from SD ) for the moment.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu caused a great deal of stress and hacking about to get it to work in any shape or form - this is mostly due to Upstart.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eventually, only Jaunty was able to be loadable much.&amp;lt;br /&amp;gt;&lt;br /&gt;
With the recent progres with [[Debian On SD]] I think that Ubuntu is a lost cause, so I'm removing all Ubuntu files from my server as they were utterly hacky to begin with.&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, a Dev Extend hasn't been released for a while, and may currently BREAK some applications on the Pandora with the latest hot fix releases.. use with caution, or create an Overlay and install dev tools into that ( which is effectively all a Dev Extend is. )&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6378</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6378"/>
		<updated>2011-02-24T02:20:04Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Forgot to add default user details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD&amp;amp;action=submit#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.1.tar.gz &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.1.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
Default user details for the full build are:&amp;lt;br /&amp;gt;&lt;br /&gt;
username: '''pandora'''&amp;lt;br /&amp;gt;&lt;br /&gt;
password: '''debian'''&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
* 1.0 - First release; libts issues, libpnd issues, overly fat with stuff.&lt;br /&gt;
* 1.0.1 - Documented release; libts issues persist, libpnd issues fixed, slimmed down to ~830mb.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/skel/.profile'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Add the following to the bottom&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Need to figure out why .xinitrc isn't even being looked at for some reason.... this works for now though.&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
Currently, there's a few issues with the touchscreen - it'll cause X to go mad and chew through 100% CPU as soon as you touch it.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, it's still usable so we'll add in the libraries and configure it anyway.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
Some programs may look for /dev/input/touchscreen0 .. so we'll set that up too.&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's an evtouch library.. haven't looked at that yet but it may work better?&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Don't really have any bluetooth devices to test.. though I could try tethering my phone by bluetooth...&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
That's essentially the kernel setup... we'll cover the boot script later.&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
There's quite a number of RC scripts kicking about.. we'll nick most of them from Angstrom again and deal with them one state at a time.&lt;br /&gt;
&lt;br /&gt;
===== rc0.d =====&lt;br /&gt;
 sudo cp /etc/rc0.d/K05led-config /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K31pandora-state /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
&lt;br /&gt;
===== rc1.d =====&lt;br /&gt;
 sudo cp /etc/rc1.d/K05led-config /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K31pandora-state /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
&lt;br /&gt;
===== rc2.d =====&lt;br /&gt;
 sudo cp /etc/rc2.d/S05led-config /media/mmcblk0p1/etc/rc2.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc3.d =====&lt;br /&gt;
 sudo cp /etc/rc3.d/S05led-config /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc4.d =====&lt;br /&gt;
 sudo cp /etc/rc4.d/S05led-config /media/mmcblk0p1/etc/rc4.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc5.d =====&lt;br /&gt;
 sudo cp /etc/rc5.d/S05led-config /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc6.d =====&lt;br /&gt;
 sudo cp /etc/rc6.d/K05led-config /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K31pandora-state /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
&lt;br /&gt;
===== rcS.d =====&lt;br /&gt;
 sudo cp /etc/rcS.d/S39pandora-state /media/mmcblk0p1/etc/rcS.d/&lt;br /&gt;
&lt;br /&gt;
You were expecting led-config again, weren't you!&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now..&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
Angstrom also uses a netdev group... not sure what creates that or what it's for... ignoring for now as it doesn't exist on stock Debian.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install! )&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The original 1.0 release included Synaptic.. but it's a heavy bugger and perhaps not everyone really feels the need for it, so I didn't keep it for 1.0.1&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PND don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't automatically display on menu/desktop, why?! ==&lt;br /&gt;
Not sure about this.. kicking pndnotifyd seems to trigger it properly, but why it's not doing it automatically, I'm not so sure...&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6377</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6377"/>
		<updated>2011-02-24T02:07:44Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Updated links for 1.0.1 .. libts issues persist... also finished permission issues and everything else.. this is the guide for what I did for the 1.0.1 release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD&amp;amp;action=submit#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-minimal-1.0.1.tar.gz &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.1.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
* 1.0 - First release; libts issues, libpnd issues, overly fat with stuff.&lt;br /&gt;
* 1.0.1 - Documented release; libts issues persist, libpnd issues fixed, slimmed down to ~830mb.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/skel/.profile'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Add the following to the bottom&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Need to figure out why .xinitrc isn't even being looked at for some reason.... this works for now though.&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
Currently, there's a few issues with the touchscreen - it'll cause X to go mad and chew through 100% CPU as soon as you touch it.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, it's still usable so we'll add in the libraries and configure it anyway.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
Some programs may look for /dev/input/touchscreen0 .. so we'll set that up too.&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's an evtouch library.. haven't looked at that yet but it may work better?&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Don't really have any bluetooth devices to test.. though I could try tethering my phone by bluetooth...&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
That's essentially the kernel setup... we'll cover the boot script later.&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
There's quite a number of RC scripts kicking about.. we'll nick most of them from Angstrom again and deal with them one state at a time.&lt;br /&gt;
&lt;br /&gt;
===== rc0.d =====&lt;br /&gt;
 sudo cp /etc/rc0.d/K05led-config /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K31pandora-state /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
&lt;br /&gt;
===== rc1.d =====&lt;br /&gt;
 sudo cp /etc/rc1.d/K05led-config /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K31pandora-state /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
&lt;br /&gt;
===== rc2.d =====&lt;br /&gt;
 sudo cp /etc/rc2.d/S05led-config /media/mmcblk0p1/etc/rc2.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc3.d =====&lt;br /&gt;
 sudo cp /etc/rc3.d/S05led-config /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc4.d =====&lt;br /&gt;
 sudo cp /etc/rc4.d/S05led-config /media/mmcblk0p1/etc/rc4.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc5.d =====&lt;br /&gt;
 sudo cp /etc/rc5.d/S05led-config /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc6.d =====&lt;br /&gt;
 sudo cp /etc/rc6.d/K05led-config /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K31pandora-state /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
&lt;br /&gt;
===== rcS.d =====&lt;br /&gt;
 sudo cp /etc/rcS.d/S39pandora-state /media/mmcblk0p1/etc/rcS.d/&lt;br /&gt;
&lt;br /&gt;
You were expecting led-config again, weren't you!&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now..&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown -R &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the wheel group, which we are about to create:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''groupadd wheel'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
There's also few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G wheel &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you could've done all this in the one line with adduser, but I'd rather keep it all separate so that if we end up with extra groups, we all know how to add them.&lt;br /&gt;
&lt;br /&gt;
Angstrom also uses a netdev group... not sure what creates that or what it's for... ignoring for now as it doesn't exist on stock Debian.&lt;br /&gt;
&lt;br /&gt;
There's a bunch of sudoers rules that are hidden as well that we need to steal ( I completely missed these twice - my thanks to sebt3 and DJWillis for pointing me to them! I thought the #includedir line was commented out due to the # ... *facepalm* )&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/sudoers.d/* /media/mmcblk0p1/etc/sudoers.d/'''''&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&amp;lt;br /&amp;gt;&lt;br /&gt;
While root ( that's what sudo su does ) we shall finish setting up anything that didn't take during our chroot session in Angstrom ( bluetooth usually )&amp;lt;br/&amp;gt;&lt;br /&gt;
'''''apt-get -f install'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''exit''''' - jump back to our user so we don't accidentally mess things up&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
The following should probably be stuffed into deb files for easier maintainability:&amp;lt;br /&amp;gt;&lt;br /&gt;
* libpnd&lt;br /&gt;
* pandora specific scripts&lt;br /&gt;
* SGX drivers&lt;br /&gt;
* kernel&lt;br /&gt;
* modules and firmware&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic ( see below on how to install! )&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
Networking should work effectively the same as on Angstrom, but here's a run down of what to do anyway:&lt;br /&gt;
* Click the LXDE menu up.&lt;br /&gt;
* Click System Tools -&amp;gt; Toggle Wifi&lt;br /&gt;
* Click the Network Manager app between the process bar and the clock.&lt;br /&gt;
* Click your network - or select &amp;quot;Connect to Hidden Wireless Network&amp;quot; if it's not there and fill out the details.&lt;br /&gt;
* Fill out the keyring for your passwords to go into - so you only need to remember the one ;)&lt;br /&gt;
* The Network Manager icon should spin and then give you a strength bar as normal once connected.&lt;br /&gt;
&lt;br /&gt;
== Synaptic ==&lt;br /&gt;
The original 1.0 release included Synaptic.. but it's a heavy bugger and perhaps not everyone really feels the need for it, so I didn't keep it for 1.0.1&amp;lt;br /&amp;gt;&lt;br /&gt;
To get it back, it's simply a case of doing:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get update''''' - if you haven't done so for a while ( as in, days, not hours )&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo apt-get install synaptic'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Then wait for a while as it downloads and installs.&lt;br /&gt;
&lt;br /&gt;
You'll find Synaptic under System Tools once it's done.&lt;br /&gt;
&lt;br /&gt;
== My PND don't work, why?! ==&lt;br /&gt;
Generally, it'll be because of library differences.. I'm still trying to figure out the best way to deal with this, but you've got the Debian armel repository at your disposal, so you should be fine for a while!&lt;br /&gt;
&lt;br /&gt;
== My PNDs don't automatically display on menu/desktop, why?! ==&lt;br /&gt;
Not sure about this.. kicking pndnotifyd seems to trigger it properly, but why it's not doing it automatically, I'm not so sure...&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6337</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6337"/>
		<updated>2011-02-23T03:45:29Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Some cleanup, and final bits and pieces left to add to get to the 1.0.1 release.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
''' PLEASE NOTE THAT THIS IS NOT FINISHED AND IS WORK IN PROGRESS.. ONCE THIS LINE HAS BEEN REMOVED, IT WILL BE &amp;quot;COMPLETE&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD&amp;amp;action=submit#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-debian6.0-minimal.tar.gz &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/skel/.profile'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Add the following to the bottom&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Need to figure out why .xinitrc isn't even being looked at for some reason.... this works for now though.&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
Currently, there's a few issues with the touchscreen - it'll cause X to go mad and chew through 100% CPU as soon as you touch it.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, it's still usable so we'll add in the libraries and configure it anyway.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's an evtouch library.. haven't looked at that yet but it may work better?&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
While we don't necessarily need Network Manager, it's a damn sight more easier to use than battering iwconfig et al from the Terminal:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install network-manager-gnome'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This'll take a long time as it pulls in quite a lot of stuff...&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Don't really have any bluetooth devices to test.. though I could try tethering my phone by bluetooth...&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
That's essentially the kernel setup... we'll cover the boot script later.&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
There's quite a number of RC scripts kicking about.. we'll nick most of them from Angstrom again and deal with them one state at a time.&lt;br /&gt;
&lt;br /&gt;
===== rc0.d =====&lt;br /&gt;
 sudo cp /etc/rc0.d/K05led-config /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K31pandora-state /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
&lt;br /&gt;
===== rc1.d =====&lt;br /&gt;
 sudo cp /etc/rc1.d/K05led-config /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K31pandora-state /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
&lt;br /&gt;
===== rc2.d =====&lt;br /&gt;
 sudo cp /etc/rc2.d/S05led-config /media/mmcblk0p1/etc/rc2.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc3.d =====&lt;br /&gt;
 sudo cp /etc/rc3.d/S05led-config /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc4.d =====&lt;br /&gt;
 sudo cp /etc/rc4.d/S05led-config /media/mmcblk0p1/etc/rc4.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc5.d =====&lt;br /&gt;
 sudo cp /etc/rc5.d/S05led-config /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc6.d =====&lt;br /&gt;
 sudo cp /etc/rc6.d/K05led-config /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K31pandora-state /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
&lt;br /&gt;
===== rcS.d =====&lt;br /&gt;
 sudo cp /etc/rcS.d/S39pandora-state /media/mmcblk0p1/etc/rcS.d/&lt;br /&gt;
&lt;br /&gt;
You were expecting led-config again, weren't you!&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/leds /media/mmcblk0p1/etc/default'''''&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/default/usb-gadget /media/mmcblk0p1/etc/default'''''&lt;br /&gt;
&lt;br /&gt;
And some more stuff to install in Debian:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libnotify-bin'''''&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now..&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
''Debian'' '''''rm -rf /usr/pandora/mmenu''''' - these are just PNDs that call the programs installed in Angstrom from MiniMenu. We don't have these programs installed on Debian so, they're useless to us.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the sudo group ( it's wheel on Angstrom. ) Actually, there's a few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G sudo &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angstrom also uses a netdev group... not sure what creates that or what it's for... ignoring for now.&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic.&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6336</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6336"/>
		<updated>2011-02-23T03:21:57Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Lots more updates.. effectively following this should get it to boot.. there's a few niggles left but working on them.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
''' PLEASE NOTE THAT THIS IS NOT FINISHED AND IS WORK IN PROGRESS.. ONCE THIS LINE HAS BEEN REMOVED, IT WILL BE &amp;quot;COMPLETE&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD&amp;amp;action=submit#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-debian6.0-minimal.tar.gz &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/skel/.profile'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
Add the following to the bottom&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&amp;lt;br /&amp;gt;&lt;br /&gt;
Need to figure out why .xinitrc isn't even being looked at for some reason.... this works for now though.&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
Currently, there's a few issues with the touchscreen - it'll cause X to go mad and chew through 100% CPU as soon as you touch it.&amp;lt;br /&amp;gt;&lt;br /&gt;
However, it's still usable so we'll add in the libraries and configure it anyway.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install libxcb-dri2-0 xserver-xorg-input-tslib libts-bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/profile.d/tslib.sh'''''&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 TSLIB_TSDEVICE=/dev/input/event5&lt;br /&gt;
 TSLIB_CONFFILE=/etc/ts.conf&lt;br /&gt;
 export TSLIB_TSDEVICE TSLIB_CONFFILE&lt;br /&gt;
&lt;br /&gt;
We'll do the rest of it on First Boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's an evtouch library.. haven't looked at that yet but it may work better?&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The wl1251-init script uses busybox. While you could edit the script and remove the dependency on busybox, it's probably better to just install busybox so that there are less changes to deal with - seeing as it's only about 600kB.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install busybox'''''&lt;br /&gt;
&lt;br /&gt;
-- add information on networkmanager&lt;br /&gt;
&lt;br /&gt;
The rest come in the Kernel install below, and the PND install too.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Don't really have any bluetooth devices to test.. though I could try tethering my phone by bluetooth...&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel *should* be easy... grabbing a fresh set would've been advisable, but this doesn't seem to come with everything so we'll steal from our running system again.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/modules/2.6.27.46-omap1 /media/mmcblk0p1/lib/modules'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /lib/firmware /media/mmcblk0p1/lib/firmare'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /boot/uImage /media/mmcblk0p1/boot/uImage'''''&lt;br /&gt;
&lt;br /&gt;
That's essentially the kernel setup... we'll cover the boot script later.&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
There's quite a number of RC scripts kicking about.. we'll nick most of them from Angstrom again and deal with them one state at a time.&lt;br /&gt;
&lt;br /&gt;
===== rc0.d =====&lt;br /&gt;
 sudo cp /etc/rc0.d/K05led-config /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K31pandora-state /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
&lt;br /&gt;
===== rc1.d =====&lt;br /&gt;
 sudo cp /etc/rc1.d/K05led-config /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K31pandora-state /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
&lt;br /&gt;
===== rc2.d =====&lt;br /&gt;
 sudo cp /etc/rc2.d/S05led-config /media/mmcblk0p1/etc/rc2.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc3.d =====&lt;br /&gt;
 sudo cp /etc/rc3.d/S05led-config /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc4.d =====&lt;br /&gt;
 sudo cp /etc/rc4.d/S05led-config /media/mmcblk0p1/etc/rc4.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc5.d =====&lt;br /&gt;
 sudo cp /etc/rc5.d/S05led-config /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc6.d =====&lt;br /&gt;
 sudo cp /etc/rc6.d/K05led-config /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K31pandora-state /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
&lt;br /&gt;
===== rcS.d =====&lt;br /&gt;
 sudo cp /etc/rcS.d/S39pandora-state /media/mmcblk0p1/etc/rcS.d/&lt;br /&gt;
&lt;br /&gt;
You were expecting led-config again, weren't you!&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts and Things====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/usb-gadget /media/mmcblk0p1/usr/bin'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/profile.d/op_env.sh /media/mmcblk0p1/etc/profile.d''''' - effectively just tells SDL to use tslib driver&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/bin/pnd* /media/mmcblk0p1/usr/bin''''' - there are a few pnd binaries, these include pnd_info, pnd_run, pndevmapperd and pndnotifyd.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /usr/lib/libpnd.so.1.0.1 /media/mmcblk0p1/usr/lib''''' - obviously nothing'll work without the pnd libraries!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a bunch of scripts and PNDs hiding in /usr/pandora.. we may as well grab them over as well.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /usr/pandora /media/mmcblk0p1/usr'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We need to do a symlink to the library properly now.. so, Debian...&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''ln -s /usr/lib/libpnd.so.1.0.1 /usr/lib/libpnd.so.1'''''&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
''Debian'' ''''''adduser &amp;lt;username&amp;gt;''''' - obviously, replace &amp;lt;username&amp;gt; with what you want; for example ''adduser pandora''.&lt;br /&gt;
&lt;br /&gt;
One interesting thing I've noticed happens, is sometimes it'll happily create your user... then not give you full permissions to your own folder.. so let's beat it a bit.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chown &amp;lt;username&amp;gt;:&amp;lt;username&amp;gt; /home/&amp;lt;username&amp;gt;''''' - replacing &amp;lt;username&amp;gt; with your actual username; for example ''chown pandora:pandora /home/pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll probably want to use sudo, which will require you to be in the sudo group ( it's wheel on Angstrom. ) Actually, there's a few groups you'd want to be in, so we'll do that now.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G sudo &amp;lt;username&amp;gt;''''' - you know the drill now... example; ''usermod -a -G wheel pandora''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G adm &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G audio &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G video &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G plugdev &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''usermod -a -G users &amp;lt;username&amp;gt;'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angstrom also uses a netdev group... not sure what creates that or what it's for... ignoring for now.&lt;br /&gt;
&lt;br /&gt;
Finally, /tmp can sometimes go mad so we shall fix that just now too.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''chmod a+w /tmp'''''&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ext2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== First Boot ===&lt;br /&gt;
&lt;br /&gt;
First Boot should bring you up to GDM in all it's splendour. But Wait! The touchscreen! IT IS MADNESS!&amp;lt;br /&amp;gt;&lt;br /&gt;
If you've a USB keyboard, you can be one step ahead and do CTRL+ALT+F1 to jump to a terminal, but we're going to assume just the Pandora so we'll carry on and login.&lt;br /&gt;
&lt;br /&gt;
Once LXDE has finished loading up, press FN+ALT+F2 and type &amp;quot;lxterminal&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo su'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export  TSLIB_TSDEVICE=/dev/input/event5'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''export TSLIB_CONFFILE=/etc/ts.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ts_calibrate'''''&lt;br /&gt;
&lt;br /&gt;
Touchscreen should behave itself now.&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic.&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6261</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6261"/>
		<updated>2011-02-21T23:42:52Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Massive update of information.. still not finished ( PND support needs adding, as does touch screen and other little bits and pieces here and there )&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
''' PLEASE NOTE THAT THIS IS NOT FINISHED AND IS WORK IN PROGRESS.. ONCE THIS LINE HAS BEEN REMOVED, IT WILL BE &amp;quot;COMPLETE&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD&amp;amp;action=submit#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-debian6.0-minimal.tar.gz &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
This may well take an age, so go do something else in the meantime.&amp;lt;br /&amp;gt;&lt;br /&gt;
You may also want a login manager.. your choices are amongst XDM, GDM, KDM and SLIM to name a few. KDM is perhaps a bit heavy, whereas GDM works fairly well even though it's rather heavy too. SLIM is what you use on Pandora anyway, and XDM is rather basic but usable all the same. GDM is automatically pulled in via LXDE anyway, so we may as well just use that for now.&lt;br /&gt;
&lt;br /&gt;
Once it's done, we'll start tackling the Drivers.&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel and Misc Bits and Pieces&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
=== X Display Driver ===&lt;br /&gt;
Debian has a NEON-optimised omapfb driver. We shall use this, and pinch some configuration gubbins from Angstrom.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install xserver-xorg-video-omap3'''''&lt;br /&gt;
&lt;br /&gt;
We now need to create an xorg.conf .. though it'll be rather minimal as we only really want to overload what graphics device setup it has, so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''nano /etc/X11/xorg.conf'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dbe&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;glx&amp;quot;&lt;br /&gt;
 	Disable	&amp;quot;dri&amp;quot;&lt;br /&gt;
 	Load	&amp;quot;dri2&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
 	Identifier	&amp;quot;DefaultLayout&amp;quot;&lt;br /&gt;
 	Screen		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Screen0&amp;quot;&lt;br /&gt;
 	Device			&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Monitor			&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 	DefaultDepth	16&lt;br /&gt;
 	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
 		Depth	16&lt;br /&gt;
 		Modes	&amp;quot;800x480&amp;quot;&lt;br /&gt;
 	EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;Monitor0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
 	Identifier		&amp;quot;OMAPFB&amp;quot;&lt;br /&gt;
 	Driver			&amp;quot;omapfb&amp;quot;&lt;br /&gt;
 	Option			&amp;quot;fb&amp;quot;		&amp;quot;/dev/fb0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Most of this is pinched from the Angstrom xorg.conf minus the fb Option at the bottom, as our framebuffer has a different device node.&lt;br /&gt;
&lt;br /&gt;
That should be all you need for basic X though.&lt;br /&gt;
&lt;br /&gt;
=== SGX Drivers ===&lt;br /&gt;
Most of this has been pinched from http://elinux.org/BeagleBoardDebian#SGX_Video_Acceleration - why rewrite the wheel?&amp;lt;br /&amp;gt;&lt;br /&gt;
This mostly works apart from a few caveats, so I shall repeat it here for future reference and to keep all information in one place, and I've uploaded the resulting tarballs for convenience.&lt;br /&gt;
&lt;br /&gt;
You can either follow the above guide - substituting the BeagleBoard for the Pandora, or use the following preconfigured packages.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_4_00_00_01_libs.tar.gz''''' ~20MB Libraries themselves&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''wget -c http://www.stuckiegamez.co.uk/apps/pandora/Debian/GFX_Linux_SDK.tar.gz''''' ~220MB Demos and SDK gubbins&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, you don't really need that fat 220MB GFX_Linux_SDK tarball unless you really want it, or want to test the libraries are in place.&amp;lt;br /&amp;gt;&lt;br /&gt;
I'll cover installing both anyway...&lt;br /&gt;
&lt;br /&gt;
==== Libraries ====&lt;br /&gt;
'''''tar -zxvf GFX_4_00_00_01_libs.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''chmod +x ./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''./install-SGX.sh'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''rm /devmem2_0.0-0ubuntu1_armel.deb''''' - this is particularly useless to us... and why it dumps it at root, I don't know!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That package contains ES2, ES3 and ES5 libraries.. we're only really interested in ES2 ( haven't tried if ES3 or ES5 would even work! ) so:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /usr/lib'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ln -s ES2.0/* .'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not hugely clean, but it works. For the brave, you could try ES3 or ES5 but.. you're on your own!&lt;br /&gt;
&lt;br /&gt;
==== Demos/SDK ====&lt;br /&gt;
'''''cd /tmp'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''tar -zxvf OGLES2.tar.gz'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can't run anything yet ( well, you might since you've chrooted in via Angstrom ) so we'll leave them in /tmp for the moment - or move them elsewhere - such as /opt if you're worried about Debian wiping out /tmp on boot.&lt;br /&gt;
&lt;br /&gt;
=== Keymap ===&lt;br /&gt;
&lt;br /&gt;
The keymap is fun and comes in two parts - the mapping extension, and an xmodmap script.&amp;lt;br /&amp;gt;&lt;br /&gt;
We shall steal them from Angstrom.. so open up another Terminal.&amp;lt;br /&amp;gt;&lt;br /&gt;
As of now, I shall prefix Angstrom commands with ''Angstrom'' and Debian commands with ''Debian'' so you know which Terminal to type them in.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/keymap-extension-2.6.map /media/mmcblk0p1/etc''''' - this does assume you've got your SD card mounted in slot one, and with one ext2 partition.. adjust as necessary.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/skel/.pndXmodmap /media/mmcblk0p1/etc/skel''''' - as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /etc/skel/.xinitrc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
 xmodmap ~/.pndXmodmap&lt;br /&gt;
 whoami &amp;gt; /tmp/currentuser&lt;br /&gt;
 killall -1 pndnotifyd &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Should probably copy more over but, this'll do for now.&lt;br /&gt;
&lt;br /&gt;
=== Nubs ===&lt;br /&gt;
The nubs just require some more config stuff to be copied over, and a few rc scripts to be setup right.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp -R /etc/pandora /media/mmcblk0p1/etc'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
This also copies over configurations for the LCD backlight, some pmenu and mmenu stuff, and some PND configuration bits.&lt;br /&gt;
&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pandora-state /media/mmcblk0p1/etc/init.d''''' - pandora-state restores nubs and backlight settings, as well as saves them on exit.&lt;br /&gt;
&lt;br /&gt;
Configuration utils come in with the PND installation below.&lt;br /&gt;
&lt;br /&gt;
=== Touchscreen ===&lt;br /&gt;
tslib setup... though need to check if evdev will do it better as it seems to torment X at 100% CPU when the touchscreen is used just now...&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
Wifi is fun... most of it will come in the kernel and modules/firmware pack when we get to it, but there's some ancillary scripts and things that lay in wait to catch you off guard!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/wl1251-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/50-compat_firmware.rules /media/mmcblk0p1/lib/udev/rules.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /lib/udev/rules.d/compat_firmware.sh /media/mmcblk0p1/lib/udev/rules.d'''''&lt;br /&gt;
&lt;br /&gt;
The rest come in the Kernel install below, and the PND install too.&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Don't really have any bluetooth devices to test.. though I could try tethering my phone by bluetooth...&lt;br /&gt;
&lt;br /&gt;
=== Kernel and Misc Bits and Pieces ===&lt;br /&gt;
The kernel is easy... I advise grabbing a clean set from openpandora.org .. so we shall do that just now:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''cd /'''''&lt;br /&gt;
''Debian'' '''''wget -c http://openpandora.org/firmware/images/modules-2.6.27-pandora+r24+git4bc490f3aa30d331d624faf2816851211a05f0b7-r24-omap3-pandora.tgz''''' - module and firmware pack.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''wget -c http://openpandora.org/firmware/images/uImage-2.6.27-pandora+r24+git4bc490f3aa30d331d624faf2816851211a05f0b7-r24-omap3-pandora.bin''''' - kernel itself.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''mv uImage* /boot/uImage''''' - yea, typing THAT long thing out again was going to happen!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''tar -zxvpf modules*.tgz''''' - again, no typing the giant filename!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''rm modules*.tgz''''' - bye bye giant scary named tarball!&lt;br /&gt;
&lt;br /&gt;
That's essentially the kernel setup... we'll cover the boot script later.&lt;br /&gt;
&lt;br /&gt;
==== RC Scripts ====&lt;br /&gt;
There's quite a number of RC scripts kicking about.. we'll nick most of them from Angstrom again and deal with them one state at a time.&lt;br /&gt;
&lt;br /&gt;
===== rc0.d =====&lt;br /&gt;
 sudo cp /etc/rc0.d/K05led-config /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K31pandora-state /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
 sudo cp /etc/rc0.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc0.d/&lt;br /&gt;
&lt;br /&gt;
===== rc1.d =====&lt;br /&gt;
 sudo cp /etc/rc1.d/K05led-config /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K31pandora-state /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
 sudo cp /etc/rc1.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc1.d/&lt;br /&gt;
&lt;br /&gt;
===== rc2.d =====&lt;br /&gt;
 sudo cp /etc/rc2.d/S05led-config /media/mmcblk0p1/etc/rc2.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc3.d =====&lt;br /&gt;
 sudo cp /etc/rc3.d/S05led-config /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
 sudo cp /etc/rc3.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc3.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc4.d =====&lt;br /&gt;
 sudo cp /etc/rc4.d/S05led-config /media/mmcblk0p1/etc/rc4.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc5.d =====&lt;br /&gt;
 sudo cp /etc/rc5.d/S05led-config /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndevmapperd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
 sudo cp /etc/rc5.d/S30pndnotifyd-init /media/mmcblk0p1/etc/rc5.d/&lt;br /&gt;
&lt;br /&gt;
oprun-init scripts live here too, but you're probably not going to want them!&lt;br /&gt;
&lt;br /&gt;
===== rc6.d =====&lt;br /&gt;
 sudo cp /etc/rc6.d/K05led-config /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K31pandora-state /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndevmapperd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
 sudo cp /etc/rc6.d/K40pndnotifyd-init /media/mmcblk0p1/etc/rc6.d/&lt;br /&gt;
&lt;br /&gt;
===== rcS.d =====&lt;br /&gt;
 sudo cp /etc/rcS.d/S39pandora-state /media/mmcblk0p1/etc/rcS.d/&lt;br /&gt;
&lt;br /&gt;
You were expecting led-config again, weren't you!&lt;br /&gt;
&lt;br /&gt;
==== Battery Monitor ====&lt;br /&gt;
You'll likely want to know how much battery power you have!&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''apt-get install apmd'''''&lt;br /&gt;
&lt;br /&gt;
==== Misc Init Scripts ====&lt;br /&gt;
There are a few random init scripts we need for things:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/led-config /media/mmcblk0p1/etc/init.d''''' - configure the LEDs properly.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/usb-gadget /media/mmcblk0p1/etc/init.d''''' - for initializing the usb gadget device - g_cdc for USB networking, for instance.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PNDs ===&lt;br /&gt;
There are some init scripts you need for the PNDs to work. These are:&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndevmapperd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
''Angstrom'' '''''sudo cp /etc/init.d/pndnotifyd-init /media/mmcblk0p1/etc/init.d'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== auto/boot.txt ===&lt;br /&gt;
We need either an autoboot.txt or a boot.txt now or we won't be able to boot up Debian.&amp;lt;br /&amp;gt;&lt;br /&gt;
There's no difference between either, other than autoboot will cause the Pandora to automatically boot from SD if it finds it, whereas boot requires holding the right shoulder button as usual.&amp;lt;br /&amp;gt;&lt;br /&gt;
''Debian'' '''''nano /autoboot.txt''''' - again, you could use boot.txt instead and press the right shoulder button during boot.&amp;lt;br /&amp;gt;&lt;br /&gt;
 setenv bootargs debug root=/dev/mmcblk0p1 rw rootdelay=2 console=ttyS0,115200n8 vram=6272K omapfb.vram=0:3000K&lt;br /&gt;
 ex2load mmc 0:1 0x80300000 /boot/uImage&lt;br /&gt;
 bootm 0x80300000&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
=== Cleanup ===&lt;br /&gt;
Potential clean-ups that should occur is packaging up the Pandora specific libraries and scripts into .deb files for maintenance purposes if nothing else. We can then either try and get them fed back into Debian, or provide our own Debian repo for Pandora.&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic.&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6077</id>
		<title>Debian On SD</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Debian_On_SD&amp;diff=6077"/>
		<updated>2011-02-20T16:06:06Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Initial Page for Debian on SD project... this isn't finished but will include full documentation on how to roll your own, as well as maintenance and help.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian On SD =&lt;br /&gt;
&lt;br /&gt;
''' PLEASE NOTE THAT THIS IS NOT FINISHED AND IS WORK IN PROGRESS.. ONCE THIS LINE HAS BEEN REMOVED, IT WILL BE &amp;quot;COMPLETE&amp;quot; '''&lt;br /&gt;
&lt;br /&gt;
This is split into three main sections - Building from Scratch, Maintenance and Upgrades, Common Things To Do.&lt;br /&gt;
&lt;br /&gt;
* Building From Scratch lets you customise everything from the outset, and lets you create your very own tailor-made distribution, rather than a pre-created one.&lt;br /&gt;
It does require a bit of Linux knowledge before diving in.. so if unsure, ask!&lt;br /&gt;
&lt;br /&gt;
* Maintenance and Upgrades covers standard Debian maintenance if you're not usually a Debian user.&lt;br /&gt;
It'll also ( in the future ) cover how to upgrade your pre-built distribution with new drivers as the official OS gets updated.&lt;br /&gt;
&lt;br /&gt;
* Common/Fun Things To Do will give you ideas on what to try in your new Debian installation. &lt;br /&gt;
Remember, this is a full desktop OS you now have squeezed into your hands, and feel free to share your cool ideas!&lt;br /&gt;
&lt;br /&gt;
If you don't want to build from scratch, you have two choices;&lt;br /&gt;
* Grab a Minimal Install and continue from [http://pandorawiki.org/index.php?title=Debian_On_SD&amp;amp;action=submit#Desktop_Environment Desktop Environment]&lt;br /&gt;
* Grab a full build.&lt;br /&gt;
&lt;br /&gt;
The latest minimal is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-debian6.0-minimal.tar.gz &amp;lt;br /&amp;gt;&lt;br /&gt;
The latest full build is available here: http://www.stuckiegamez.co.uk/apps/pandora/Debian/pandora-squeeze-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Remember to untar with permissions ( include '''p''' in your arguments to tar ) on to your ext2 formatted SD card.&lt;br /&gt;
&lt;br /&gt;
= Building From Scratch =&lt;br /&gt;
This isn't for the feint of heart.. if you don't understand something - stop! Ask or read up on it before continuing. While I haven't mangled my Pandora or PC in any way from doing this, it's still possible to make a mess, so be careful!&lt;br /&gt;
&lt;br /&gt;
This is split into many parts.. it's advised to go through this in order.&lt;br /&gt;
&lt;br /&gt;
* Getting a Minimal Install from Scratch&lt;br /&gt;
* Desktop Environment&lt;br /&gt;
* Device Drivers and PNDs&lt;br /&gt;
* Users and Permissions&lt;br /&gt;
* Reboot and Troubleshooting&lt;br /&gt;
&lt;br /&gt;
== Getting a Minimal Install from Scratch ==&lt;br /&gt;
&lt;br /&gt;
There are two options here:&lt;br /&gt;
* Linux PC&lt;br /&gt;
* On Pandora&lt;br /&gt;
&lt;br /&gt;
=== Linux PC ===&lt;br /&gt;
On a Linux PC, run debootstrap to grab the version you want. We shall be using Squeeze today:&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo debootstrap --arch armel --foreign squeeze /tmp/pandora-debian ftp://ftp.uk.debian.org/debian'''''&lt;br /&gt;
Grab a large SD card, and repartition it to have one large ext2 partition and format as normal.&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy all the files from /tmp/pandora-debian over to your new SD card partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Put it in your Pandora.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo chroot /media/mmcblk0p1''''' -- assuming it's in your first slot.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''/debootstrap/deboostrap --second-stage'''''&amp;lt;br /&amp;gt;&lt;br /&gt;
... this takes a while...&lt;br /&gt;
&lt;br /&gt;
=== Pandora ===&lt;br /&gt;
Alternatively, you can run cdebootstrap on the Pandora itself... this bypasses the need of doing the second-stage madness.&amp;lt;br /&amp;gt;&lt;br /&gt;
Grab it from here: http://packages.debian.org/sid/cdebootstrap-static and select the armel package.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download it to /tmp preferably, but your home folder will do, or anywhere you like. For now, I shall assume you downloaded it to /tmp&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cd /tmp'''''  -- Again, if you downloaded elsewhere, change to that directory instead.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''ar xv cdebootstrap*.deb''''' -- We're using the archive tool to extract with verbosity our cdebootstrap package. &amp;lt;br /&amp;gt;&lt;br /&gt;
'''''sudo tar -zxvf data.tar.gz -C /'''''  -- Now we're using tar to extract, with gzip support, again with verbosity, the file data.tar.gz, changing the Current directory to / so that it extracts systemwide on our NAND. We're running this command sudo so we have write permissions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now we just run cdebootstrap-static with a few parameters, and wait.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''cdebootstrap-static --allow-unauthenticated -f minimal squeeze /media/mmcblk1p1''''' -- What we're doing here, is we're allowing &amp;quot;unauthenticated&amp;quot; packages to be installed. As we don't, or probably don't, have the gnupg keychain stuff configured, all packaged will be &amp;quot;unauthenticated&amp;quot; regardless of whether they are or not. We're telling it we also want a minimal install of the squeeze release, and to install to where we have the mount point of Partition 1 of the SD card in Slot 1 - which you should have already partitioned and formatted as ext2! &amp;lt;br /&amp;gt;&lt;br /&gt;
This takes a while... perhaps longer than doing the first stage on the PC and second-stage on Pandora.&lt;br /&gt;
&lt;br /&gt;
== Desktop Environment ==&lt;br /&gt;
&lt;br /&gt;
Now you have Debian, the world is yours for the taking!&lt;br /&gt;
Or something like that...&lt;br /&gt;
&lt;br /&gt;
Debian comes with a wide variety of desktop environments and window managers; from XFCE as you use on Angstrom by default, to KDE, GNOME, LXDE, Fluxbox, Enlightenment, etc..&amp;lt;br /&amp;gt;&lt;br /&gt;
Now's the time to choose one of them to install.. be aware that the bigger they are, the longer they'll take to install and the more resources they will eat up while in use.. as a rough guide from heavy to light:&amp;lt;br /&amp;gt;&lt;br /&gt;
* KDE&lt;br /&gt;
* GNOME&lt;br /&gt;
* Enlightenment&lt;br /&gt;
* XFCE&lt;br /&gt;
* LXDE&lt;br /&gt;
* Fluxbox&lt;br /&gt;
&lt;br /&gt;
Having recently tested KDE myself, it doesn't quite seem to work properly, so I'd avoid that for the moment... especially as it takes about ten hours to install!&lt;br /&gt;
&lt;br /&gt;
We shall install LXDE as it's a bit more light weight than XFCE and still provides a reasonable mainstream environment. While I do prefer Fluxbox overall, it's a bit of a paradigm shift to use from your standard desktop machine.&lt;br /&gt;
&lt;br /&gt;
If you haven't already, chroot into your environment.&lt;br /&gt;
You should already be root, so we'll get on with the installing.&lt;br /&gt;
&lt;br /&gt;
'''''apt-get install lxde'''''&lt;br /&gt;
&lt;br /&gt;
== Device Drivers and PNDs ==&lt;br /&gt;
&lt;br /&gt;
We shall tackle these one at a time, as there's quite a few of them.&lt;br /&gt;
&lt;br /&gt;
* X Display Driver&lt;br /&gt;
* SGX Drivers&lt;br /&gt;
* Keymap&lt;br /&gt;
* Nubs&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Wifi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Kernel&lt;br /&gt;
* PNDs&lt;br /&gt;
&lt;br /&gt;
== Users and Permissions ==&lt;br /&gt;
&lt;br /&gt;
You may be wondering why Users haven't been done till the very end.. we've edited the /etc/skel setup which will be used to create your user details.&lt;br /&gt;
&lt;br /&gt;
If you have already jumped the gun and created a user previously, all changes we've done to /etc/skel will need to be mirrored in your home folder!&lt;br /&gt;
&lt;br /&gt;
== Reboot and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
All that's really left now is to reboot and catch any issues that may crop up!&lt;br /&gt;
&lt;br /&gt;
= Maintenance and Upgrades =&lt;br /&gt;
&lt;br /&gt;
Maintenance on Debian is very easy.. it's just a case of running '''''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade''''' from a console, or using Synaptic.&lt;br /&gt;
&lt;br /&gt;
= Common/Fun Things To Do =&lt;br /&gt;
&lt;br /&gt;
There's a wealth of power at your fingertips with Debian, so place your fun things to do here!&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] [[Category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Software_projects&amp;diff=5958</id>
		<title>Software projects</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Software_projects&amp;diff=5958"/>
		<updated>2011-02-19T20:50:08Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: changing StuckieGamez to Stuckie and adding Debian OS details.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''These lists were last updated on 2011-02-18 to include the latest files from [http://apps.open-pandora.org/cgi-bin/viewarea.pl?Games Pandora Apps], the [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,9 File Archive], and the [[Software_projects#Forums|community forums]].''&lt;br /&gt;
&lt;br /&gt;
This is a list of '''all software projects''' for the Pandora ''excluding'' emulators (see: [[Emulator list]]), games (see: [[Games]]), and development tools (see: [[Development Tools]]). However, this list ''does'' include the development apps that can be used on the Pandora itself.&lt;br /&gt;
&lt;br /&gt;
See the [[Port Requests]] article for open-source projects which ''could'' be ported but have not been taken on by anyone yet.&lt;br /&gt;
&lt;br /&gt;
==Released software==&lt;br /&gt;
If you would like to add something, you could edit the wiki or [http://www.gp32x.com/board/index.php?/topic/54923-the-pandora-apps-thread/ post in this forum thread]. If different versions of a software were released, please make sure the &amp;quot;release date&amp;quot; is the most recent one. &lt;br /&gt;
&lt;br /&gt;
Please click on the little squares to sort by different categories (such as Release date, Type, etc.)&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[AbiWord]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (packaging)&lt;br /&gt;
|Office - word processor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/abiword.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__919843 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Alarm Clock ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,303 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Anki]] 1.2.4 ('''beta''')&lt;br /&gt;
|2011-01-25&lt;br /&gt;
|Drack (port)&lt;br /&gt;
|Office - memory aid&lt;br /&gt;
|[http://dl.dropbox.com/u/8938380/anki-1.2.4-drack1.pnd Download]&lt;br /&gt;
|Discussion [http://www.gp32x.com/board/index.php?/topic/56293-anki-friendly-intelligent-flashcards/ 1] [http://boards.openpandora.org/index.php?/topic/34-anki-friendly-intelligent-flashcards/ 2]&lt;br /&gt;
|-&lt;br /&gt;
|[[Arora]] (for [[Minimenu]])&lt;br /&gt;
|2010-05-26&lt;br /&gt;
|Skeezix (quick hack)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,69 Archive]&lt;br /&gt;
|Needed to run Arora from Minimenu&lt;br /&gt;
|-&lt;br /&gt;
|[[Audacious]] 2.4.3&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/audacious.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54792-audacious/page__view__findpost__p__937089 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[b7zip]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Background killer&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|Notaz&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/background_killer.inf Apps]&lt;br /&gt;
|Kill background tasks in minimenu. [http://www.gp32x.com/board/index.php?/topic/56008-zelda-classic-for-pandora/page__st__15__p__907940&amp;amp;#entry907940 Not needed] since Hotfix 3.&lt;br /&gt;
|-&lt;br /&gt;
|[[Banshee]]&lt;br /&gt;
|2010-10-23&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/banshee.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57144-portrequest-banshee/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Bournal]]&lt;br /&gt;
|2010-08-11&lt;br /&gt;
|&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,181 Archive]&lt;br /&gt;
|encrypted diary program&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]&lt;br /&gt;
|2010-09-04&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,90 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56474-chromium-4-with-ssl-and-chromium-snapshot/ Discussion]. SSL now works&lt;br /&gt;
|-&lt;br /&gt;
|[[Chromium]]-Dev v10.0.642.1&lt;br /&gt;
|2011-01-16&lt;br /&gt;
|The Chromium Authors, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,201 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58234-chromium-dev-snapshot-v10-0-642-1/ Discussion] [http://www.gp32x.com/board/index.php?/topic/57017-chromium-dev-updated/ (old)]. The latest (non-stable) snapshot.&lt;br /&gt;
|-&lt;br /&gt;
|[[Claunch]] ('''beta''')&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lamoxx&lt;br /&gt;
|System - app launcher&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/claunch_beta.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57040-claunch-minimal-flexible-rom-pickerapplication-launcher/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Claws Mail]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - mail client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/claw-mail.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,223 Archive]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920075 Discussion]. Hopefully doesn't save to NAND (testing needed).&lt;br /&gt;
|-&lt;br /&gt;
|[[Cmus]]&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|otherguy66 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,251 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57682-cmus-pnd-installer/page__gopid__928328&amp;amp;#entry928328 Discussion]. Installed to [[NAND]] (1mb). Text mode player&lt;br /&gt;
|-&lt;br /&gt;
|[[Code::blocks]]&lt;br /&gt;
|2010-06-07&lt;br /&gt;
|sinoth (port)&lt;br /&gt;
|Development - IDE&lt;br /&gt;
|[http://sinoth.net/pandora/codeblocks.pnd.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54091-codeblocks-on-the-pandora/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|Community Codec Package&lt;br /&gt;
|2010-05-25&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/CodecPack.inf Apps] [http://openpandora.org/downloads/CodecPack.pnd Official site]&lt;br /&gt;
|Make sure you have this installed&lt;br /&gt;
|-&lt;br /&gt;
|[[Comix]]&lt;br /&gt;
|2010-06-30&lt;br /&gt;
|Pontus Ekberg&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/comix.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Conky]]&lt;br /&gt;
|2010-08-03&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Conky.pnd/ Download]&lt;br /&gt;
|System monitor. [http://www.gp32x.com/board/index.php?/topic/55775-conky Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DarCalc]]&lt;br /&gt;
|2010-08-28&lt;br /&gt;
|JP&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,196 Archive]&lt;br /&gt;
|See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Deadbeef]] 0.4.3&lt;br /&gt;
|2010-11-01&lt;br /&gt;
|CME (port), sebt3 (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://root.shadow-node.net/public/cme/pnd/deadbeef.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55178-deadbeef-compiled-with-codesourcery-gcc-2010q1/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[dia]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - diagrams&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/dia.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56863-dia/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[DrawSWF]] ('''beta''')&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Chrysipp (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.158 Download] &lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10105%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhilcfdbJF4gEtvmTIwMjO9EFqUQ-A Discussion (German)]. Must have Java.pnd installed. {{HideableNotes|A small drawing program. The drawing can be exported as a Flash animation, which then shows its gradual development.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Ekiga]] ('''beta''')&lt;br /&gt;
|2010-10-29&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/ekiga.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/ Discussion]. Online phone &amp;amp; video calls. '''[http://www.gp32x.com/board/index.php?/topic/57263-ekiga/page__view__findpost__p__924918 Doesn't work]'''{{HideableNotes| though it can be made to work through Debian, [[Extend Utils]]: [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Enna]] ('''beta''')&lt;br /&gt;
|2010-07-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media Player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/enna.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55113-enna/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Exaile]]&lt;br /&gt;
|2010-04-28&lt;br /&gt;
|Pickle (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,43 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Exaile.inf Apps]&lt;br /&gt;
|Needs Community Codec Pack to run&lt;br /&gt;
|-&lt;br /&gt;
|[[Extend Utils]]&lt;br /&gt;
|2010-06-22&lt;br /&gt;
|Stuckie&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ 1], [http://www.gp32x.com/board/index.php?/topic/56462-pandora-phone-openoffice-amsn-yes-d/ 2]. Debian in an extend. Allows you to run over 29,000 programs.&lt;br /&gt;
|-&lt;br /&gt;
|[[F3]]&lt;br /&gt;
|2010-10-17&lt;br /&gt;
|slaeshjag (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://stuffs.slaeshjag.org/F3.tar Download]&lt;br /&gt;
|Test for fake flash memory (like H2testw). [http://www.gp32x.com/board/index.php?/topic/57063-some-quick-tips-to-help-avoid-fake-sd-cardsflash-media/page__view__findpost__p__922187 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FBReader]] 0.12.10&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|zx81 (port)&lt;br /&gt;
|Office - eBook Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,168 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fbreader-0.12.10.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 4.0b3 ('''beta''')&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Mozilla Team, EvilDragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,75 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/Fennec40.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58514-fennec-4-0b3/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fennec]] 3.6.3&lt;br /&gt;
|2010-05-30&lt;br /&gt;
|Mozilla Team, Iampanis (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/fennec.inf Apps]&lt;br /&gt;
|mobile version of FireFox&lt;br /&gt;
|-&lt;br /&gt;
|[[Figaro's Password Manager 2]] ('''beta''')&lt;br /&gt;
|2010-11-30&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - passwords&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,254 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57714-figaros-password-manager-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]]&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Evildragon (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,91 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/FireFox.inf Apps]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 3.6.13&lt;br /&gt;
|2011-01-28&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-3.6.13-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56903-firefox-3-6-10/ Discussion (old)], [http://www.gp32x.com/board/index.php?/topic/58425-firefox-3-6-13/ news/discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Firefox]] 4.0B10 ('''beta''')&lt;br /&gt;
|2011-02-01&lt;br /&gt;
|Mozilla team, hdonk (port)&lt;br /&gt;
|Network - web browser&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/firefox-4b10-0.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58489-firefox-4-beta-10/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[FlipClock]] ('''beta''')&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|torpor (port)&lt;br /&gt;
|Office&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/alarmclock.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58548-port-flipclock-for-pandora/ Discussion], also [http://www.gp32x.com/board/index.php?/topic/58479-alarm-clock-app/page__view__findpost__p__937668 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Fotoxx]]&lt;br /&gt;
|2010-12-06&lt;br /&gt;
|Kornelix&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Graphics - photo editor &amp;amp; manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,261 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57777-fotoxx/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Freemind]]&lt;br /&gt;
|2010-11-21&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - mind mapping&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,4,240 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57605-freemind-a-mindmap-tool/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[GCalc]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - calculator&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,241 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57636-gcalc-graphic-calculator/ Discussion]. Needs java.pnd installed. See also the calculator emulators [[Emulator list|here]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Geany]] v0.19-1&lt;br /&gt;
|2010-09-16&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,14,205 Archive] [http://dl.dropbox.com/u/39448/pandora/geany.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55432-geany/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gedit]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gedit.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56862-gedit/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[gerbv]]&lt;br /&gt;
|2010-09-14&lt;br /&gt;
|bompo (port)&lt;br /&gt;
|Office - EDA&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,202 Archive]&lt;br /&gt;
|viewer for Gerber RS-274X, Excellon drill, &amp;amp; CSV pick-and-place files&lt;br /&gt;
|-&lt;br /&gt;
|[[gFTP]] 2.0.18 ('''beta''')&lt;br /&gt;
|2010-07-01&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - FTP client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gftp.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54931-gftp/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GIMP]] v2.6 ('''beta''')&lt;br /&gt;
|2010-06-06&lt;br /&gt;
|daniel3000 (quick hack)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.stuckiegamez.co.uk/apps/pandora/gimp-2.6.pnd Download]&lt;br /&gt;
|Read instructions [http://www.gp32x.com/board/index.php?/topic/54071-ubuntu-or-other-dist-alternative/page__p__868411&amp;amp;#entry868411 here]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gmu Music Player]] 0.7.2 &lt;br /&gt;
|2010-12-29&lt;br /&gt;
|wejp&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://wejp.k.vu/files/gmu-0.7.2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58009-gmu-music-player-0-7-2/ Discussion] [http://www.gp32x.com/board/index.php?/topic/55007-gmu-music-player-0-7-1-released/ (old)]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnomad 2]]&lt;br /&gt;
|2010-10-18&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Audio - music manager&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnomad2.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57088-gnomad2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnome Music Player Client]] (GMPC) 0.20.0 ('''beta''')&lt;br /&gt;
|2010-08-01&lt;br /&gt;
|tsh (port)&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[https://sites.google.com/site/tshpandorastuff/file-cabinet/gmpc0.20.0.pnd?attredirects=0&amp;amp;d=1 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55664-gmpc-beta/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Gnumeric]]&lt;br /&gt;
|2011-01-17&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - spreadsheet&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gnumeric.pnd Download]&lt;br /&gt;
|Stand-alone PND. [http://www.gp32x.com/board/index.php?/topic/56810-html-viewer-for-claws-mail/page__view__findpost__p__920072 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GoldenDict]] 0.9.0Svn&lt;br /&gt;
|2010-09-27&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,8,209 Archive] [http://www.rangelreale.com/pandora/goldendict.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56802-goldendict-0-9-0svn/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[GParted]]&lt;br /&gt;
|2011-02-05&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|System - partition&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/gparted.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56915-gparted/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|GQview&lt;br /&gt;
|2010-07-27&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/GQview.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55559-gqview-pnd-image-viewer-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Grafx2]]&lt;br /&gt;
|2010-12-30&lt;br /&gt;
|pulkomandy, yrizoud, mcobit (port)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,264 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58016-grafx2/ Discussion]. For pixel art.&lt;br /&gt;
|-&lt;br /&gt;
|[[Groove]]&lt;br /&gt;
|2010-07-19&lt;br /&gt;
|Elias Woods, bompo (port)&lt;br /&gt;
|Network - radio&lt;br /&gt;
|[http://dl.dropbox.com/u/39448/pandora/Groove.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55363-groove/ Discussion]. [http://en.wikipedia.org/wiki/Grooveshark Grooveshark] client. '''Warning''': {{HideableNotes|Requires installing dependencies with opkg. See discussion thread.}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Gwaei]]&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Zachary Dovel&amp;lt;br/&amp;gt;mcobit (port)&lt;br /&gt;
|Office - dictionary&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,249 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57674-gwaei-port-japanese-english-dictionary/ Discussion]. Japanese-English.&lt;br /&gt;
|-&lt;br /&gt;
|[[HomeBank]] 4.3&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|Maxime Doyen, mcobit (port)&lt;br /&gt;
|Office - money manager&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,296 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58506-homebank/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Hotfix 4&lt;br /&gt;
|2010-08-31&lt;br /&gt;
|Pandora team&lt;br /&gt;
|System&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/HotFix4-Zaxxon.inf Apps] [http://openpandora.org/downloads/HotFix4-Zaxxon.pnd Official site]&lt;br /&gt;
|Make sure you have this installed&lt;br /&gt;
|-&lt;br /&gt;
|[[Inkscape]] ('''beta''')&lt;br /&gt;
|2010-10-08&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - vector drawing&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/inkscape.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56954-inkscape/ Discussion]. Currently very slow.&lt;br /&gt;
|-&lt;br /&gt;
|[[Java]] Pnd ('''beta''')&lt;br /&gt;
|2010-11-21&lt;br /&gt;
|WizardStan (port)&lt;br /&gt;
|System - dependency&lt;br /&gt;
|[http://rebirthofxeen.com/files/pandora/java.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57598-java-pnd/ Discussion]. Run Java apps.&lt;br /&gt;
|-&lt;br /&gt;
|[[jEdit]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,244 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57614-jedit-programmers-text-editor/ Discussion]. For programmers. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jChemPaint]]&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule drawing&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,242 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57633-jchempaint/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMol]]&lt;br /&gt;
|2010-11-22&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|Graphics - molecule viewing in 3D&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,243 Archive] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57618-jmol-3d-molecule-viewer/ Discussion]. Needs java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[jMP3 Player]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|jaijuju&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.156 Download]&lt;br /&gt;
|[http://code.google.com/p/jmp3player/ Website]. Java.pnd required.&lt;br /&gt;
|-&lt;br /&gt;
|[[KCHMViewer]] 5.2&lt;br /&gt;
|2010-10-05&lt;br /&gt;
|Hitnrun (port)&lt;br /&gt;
|Office - CHM Reader&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,215 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56901-kcmviewer/ Discussion.] Windows help files reader.&lt;br /&gt;
|-&lt;br /&gt;
|[[KDiff 3]]&lt;br /&gt;
|2011-02-03&lt;br /&gt;
|Joachim Eibl&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,299 Archive] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1440-kdiff3-0995-pandora-3/ Discussion]. Merge 2 or 3 text input files or directories&lt;br /&gt;
|-&lt;br /&gt;
|[[Liferea]]&lt;br /&gt;
|2010-07-06&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - RSS Reader&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/liferea.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55089-liferea/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Linphone]] ('''beta''')&lt;br /&gt;
|2011-01-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - VOIP&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/linphone.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58289-linphone Discussion]. Online phone calls.&lt;br /&gt;
|-&lt;br /&gt;
|[[Me TV]]&lt;br /&gt;
|2010-10-19&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - digital TV&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/metv.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56987-port-request-me-tv/page__p__921501&amp;amp;#entry921501 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Merkaartor]] 0.17.0&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/merkaartor.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56656-merkaartor-or-other-osm-editor/page__p__922345&amp;amp;#entry922345 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[MilkyTracker]]&lt;br /&gt;
|2010-06-23&lt;br /&gt;
|Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,102 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/milkytracker.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57612-remember-the-only-2-keyboard-buttons-at-once-limitation/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Minitube]] 1.3&lt;br /&gt;
|2011-01-13&lt;br /&gt;
|Flavio Tordini, sebt3 (port)&lt;br /&gt;
|Network - Youtube client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/?f=minitube.pnd Download]&lt;br /&gt;
|Discussion: [http://www.gp32x.com/board/index.php?/topic/55952-minitube-1-1/ v1.1] [http://www.gp32x.com/board/index.php?/topic/58183-minitube-1-3/ v1.3]. Youtube browser/player&lt;br /&gt;
|-&lt;br /&gt;
|[[mtPaint]]&lt;br /&gt;
|2010-07-27&amp;lt;br/&amp;gt;2010-12-29&lt;br /&gt;
|Mark Tyler, daniel3000 (port 1), chris_c (port 2)&lt;br /&gt;
|Graphics - image editor&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/mtPaint.pnd/ Download (port 1)] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,263 Archive (port 2)]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55561-mtpaint-pnd-available/ Discussion]. For painting &amp;amp; pixel art. Ported twice.&lt;br /&gt;
|-&lt;br /&gt;
|[[Ommpc]] v0.5.4&lt;br /&gt;
|2010-10-06&lt;br /&gt;
|Tim Temple&lt;br /&gt;
|Audio - music player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,133 Archive]&lt;br /&gt;
|MPD client [http://www.gp32x.com/board/index.php?/topic/55039-ommpc-v0-5-2/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[OSM2Go]]&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - openstreetmap editor&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osm2go.pnd Download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Osmo]] ('''beta''')&lt;br /&gt;
|2010-09-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - personal organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/osmo.pnd Download]&lt;br /&gt;
|[http://clayo.org/osmo/ Website] [http://www.gp32x.com/board/index.php?/topic/56455-osmo/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[PanDebian]]&lt;br /&gt;
|2011-02-04&lt;br /&gt;
|Gregor&lt;br /&gt;
|System&lt;br /&gt;
|[http://codu.org/tmp/pandebian.pnd Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1474-pandebian/ Discussion]. [[Extend Utils]] alternative for Angstrom-Debian cooperation&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Fractals&lt;br /&gt;
|2010-08-26&lt;br /&gt;
|Or Green&lt;br /&gt;
|Graphics - fractals&lt;br /&gt;
|[http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Other/PFractals.inf Apps]&lt;br /&gt;
|fractal generator. [http://www.gp32x.com/board/index.php?/topic/51402-mandelbrot-set-generator-for-pandora/page__st__75 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Pencil]] 0.4.4b ('''beta''')&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Graphics - animation&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pencil.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57362-pencil/ Discussion]. 2D animation &amp;amp; drawing.&lt;br /&gt;
|-&lt;br /&gt;
|[[Pidgin]]&lt;br /&gt;
|2010-12-07&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - IM client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/pidgin.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56898-pidgin/ Discussion]. This version no longer uses [[NAND]] to [http://www.gp32x.com/board/index.php?/topic/56898-pidgin/page__view__findpost__p__934658 store data].&lt;br /&gt;
|-&lt;br /&gt;
|[[PNDbuilder]]&lt;br /&gt;
|2011-02-08&lt;br /&gt;
|freedomdown (Ryan Dallaire)&lt;br /&gt;
|Development&lt;br /&gt;
|[http://freedomdown.squarespace.com/storage/pndb.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58587-pndbuilder/ Discussion]. Graphical PND maker.&lt;br /&gt;
|-&lt;br /&gt;
|PS3 Bluetooth Controller - Sixpair Utility&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|Jim Paris, Samson Yeung, AireTamStrm (port) &lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,4 Archive]&lt;br /&gt;
|Use a DualShock III Controller or SIXAXIS controller via USB&lt;br /&gt;
|-&lt;br /&gt;
|[[PSFreedom]]&lt;br /&gt;
|2010-09-23&lt;br /&gt;
|Notaz (port)&lt;br /&gt;
|Other&lt;br /&gt;
|[http://pandorapress.net/gruso/psfreedom.ko Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56752-psfreedom-for-pandora/ Discussion]. Allows homebrew on your PS3.&lt;br /&gt;
|-&lt;br /&gt;
|[[qOrganizer]]&lt;br /&gt;
|2010-11-04&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - organizer&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/qorganizer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,113,233 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57359-qorganizer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Quick Change CPU Speed&lt;br /&gt;
|2010-06-20&lt;br /&gt;
|Pleng&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/CPUSpeeds.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54583-quick-change-cpu-speeds/ Discussion]. Add CPU speed presets to your menu.&lt;br /&gt;
|-&lt;br /&gt;
|[[Remmina]]&lt;br /&gt;
|2010-06-21&lt;br /&gt;
|mindlord (port)&lt;br /&gt;
|Network - VNC/RDP/XDMCP client&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,99 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/remmina.inf Apps]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54610-remmina-0-7-5/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[RText]]&lt;br /&gt;
|2010-07-10&lt;br /&gt;
|Fifesoft, Chrysipp (port)&lt;br /&gt;
|Development - text editor&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.157 Download]&lt;br /&gt;
|[http://translate.googleusercontent.com/translate_c?hl=en&amp;amp;ie=UTF-8&amp;amp;sl=auto&amp;amp;tl=en&amp;amp;u=http://forum.gp2x.de/viewtopic.php%3Ff%3D59%26t%3D10106%26sid%3D5788c986948f651167f85a989309482d&amp;amp;prev=_t&amp;amp;rurl=translate.google.com&amp;amp;usg=ALkJrhivaNHspNg4XSb4aOpjskxivvIRXw Discussion (German)]. Must have Java.pnd installed.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Mod Player]]&lt;br /&gt;
|2010-06-10&lt;br /&gt;
|?&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://www.pandorasource.de/download.php?view.79 Download]&lt;br /&gt;
|Player for MOD and XM.&lt;br /&gt;
|-&lt;br /&gt;
|[[Schism Tracker]]&lt;br /&gt;
|2010-06-19&lt;br /&gt;
|Storlek, Stuckie (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,6,89 Archive] [http://apps.open-pandora.org/cgi-bin/viewapp.pl?/Application/schismtracker.inf Apps]&lt;br /&gt;
|Clone of Impulse Tracker&lt;br /&gt;
|-&lt;br /&gt;
|[[Scite]] 2.21&lt;br /&gt;
|2010-10-20&lt;br /&gt;
|urjaman (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://urjaman.dyndns.info/scite221.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57116-scite-2-21-ported/ Discussion]. Scintilla-based syntax highlighting text editor&lt;br /&gt;
|-&lt;br /&gt;
|SD Card Speed Fix&lt;br /&gt;
|2010-06-13&lt;br /&gt;
|mawler&lt;br /&gt;
|System&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,88 Archive]&lt;br /&gt;
|improve SD writing speed, but risk data corruption if writing is interrupted&lt;br /&gt;
|-&lt;br /&gt;
|[[Seq24]] ('''beta''')&lt;br /&gt;
|2010-09-06&lt;br /&gt;
|Gruso (port)&lt;br /&gt;
|Audio - music tracker&lt;br /&gt;
|[http://users.tpg.com.au/pw2007/seq24.beta1.pnd Download] &lt;br /&gt;
|MIDI sequencer. [http://www.gp32x.com/board/index.php?/topic/56517-seq24-midi-sequencer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SMPlayer]] 0.6.9-1&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|Ivanovic (port)&lt;br /&gt;
|Media Player&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,114,298 Archive] &lt;br /&gt;
|MPlayer frontend. [http://www.gp32x.com/board/index.php?/topic/58511-smplayer/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[SUPA]] 0.1-1 ('''beta''')&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Simple Updater for Pandora Applications&amp;lt;/small&amp;gt; &lt;br /&gt;
|2010-07-04&lt;br /&gt;
|Bryce Leo&lt;br /&gt;
|System - Application Downloader/Updater&lt;br /&gt;
|[http://drive.and-a-half.com/SUPA.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55023-supa-simple-updater-for-pandora-applications/ Discussion]. No GUI yet.&lt;br /&gt;
|-&lt;br /&gt;
|[[Synergy]]&lt;br /&gt;
|2010-10-09&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|Network - VNC client&lt;br /&gt;
|[http://www.mediafire.com/?npdbkibd5bm5ckb Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56943-synergy-clientserver-as-pnd/ Discussion]. Control your PC from your Pandora.&lt;br /&gt;
|-&lt;br /&gt;
|[[Timidity MIDI Installer]]&lt;br /&gt;
|2011-01-12&lt;br /&gt;
|sebt3&lt;br /&gt;
|Audio - MIDI&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/timidity_midi_installer.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,273 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58173-midi-installer/ Discussion]. MIDI patches installer. {{HideableNotes|It will allow you to have music for games that use MIDI. There are 3 different sound-sample sets packing different levels of sound quality. Installs to [[NAND]], though you can put them on SD card and then it's less than 2k on NAND (2 2-line files).}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Transmission]]&lt;br /&gt;
|2010-09-24&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Network - BitTorrent client&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/transmission.pnd Download] [http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,112,208 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56553-bit-torrent-client/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueCrypt]] ('''beta''')&lt;br /&gt;
|2011-02-12&amp;lt;br/&amp;gt;2010-07-18&lt;br /&gt;
|TJSomething (port)&amp;lt;br/&amp;gt;daniel3000 (old port)&lt;br /&gt;
|System - encryption&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,321 Archive] [http://www.hermocom.com/en/downloads/openpandora/TrueCrypt.pnd/ old version]&lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1763-truecrypt-port/ Discussion]. [http://www.gp32x.com/board/index.php?/topic/55347-truecrypt-pnd-ready-for-testing/ Discussion (old)].&lt;br /&gt;
|-&lt;br /&gt;
|[[Unace]]&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UnRar]]&lt;br /&gt;
|2010-08-06&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|[[UPX]] (The Ultimate Packer for eXecutables)&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55761-decompressors/ Discussion]. Not a PND. {{HideableNotes|Once installed, adds functionality to Pandora's built-in archiving gui (squeeze)|}}&lt;br /&gt;
|-&lt;br /&gt;
|Viewnior 1.0&lt;br /&gt;
|2010-07-29&lt;br /&gt;
|daniel3000 (port)&lt;br /&gt;
|Graphics - image viewer&lt;br /&gt;
|[http://www.hermocom.com/en/downloads/openpandora/Viewnior.pnd/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55618-viewnior-pnd-available/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Vim Gvim 7.2 ('''beta''')&lt;br /&gt;
|2010-08-08&lt;br /&gt;
|joseluisjazz (port)&lt;br /&gt;
|Office - text editor&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/55813-vim-gvim-7-2/ Discussion]. [http://www.vim.org/about.php About]. Not a PND.&lt;br /&gt;
|-&lt;br /&gt;
|[[VLC]] 1.1.0 ('''beta''')&lt;br /&gt;
|2010-10-12&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media player (video &amp;amp; audio)&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/vlc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/54922-vlc/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|[[Wahcade]] Emulator Frontend b1 ('''beta''')&lt;br /&gt;
|2011-02-06&lt;br /&gt;
|Sigma (port)&lt;br /&gt;
|System - frontend&lt;br /&gt;
|[http://www.mediafire.com/?h8o33khvtcy3x8m Download] &lt;br /&gt;
|[http://boards.openpandora.org/index.php?/topic/1508-wahcade-frontend-beta1/ Discussion].&lt;br /&gt;
|-&lt;br /&gt;
|WiFi '''Beta test'''&lt;br /&gt;
|2010-11-05&lt;br /&gt;
|EvilDragon&lt;br /&gt;
|System&lt;br /&gt;
|[http://www.openpandora.org/downloads/WiFiBETA.pnd Download] &lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57364-wifi-betatest/ Discussion]. Might fix WiFi issues.&lt;br /&gt;
|-&lt;br /&gt;
|[[Xarchiver]] 0.5.2&lt;br /&gt;
|2010-12-04&lt;br /&gt;
|mcobit (port)&lt;br /&gt;
|System - file archiver&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,115,259 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57748-xarchiver/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Xbindkeys&lt;br /&gt;
|2010-10-14&lt;br /&gt;
|Lomaxx (port)&lt;br /&gt;
|System&lt;br /&gt;
|[http://userpages.uni-koblenz.de/~bbrink/tmp/xbindkeys-1.8.3_prebuild.tar.gz Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57037-xbindkeys-precompiled/ Discussion]. Configure hotkeys&lt;br /&gt;
|-&lt;br /&gt;
|[[XBMC]] 10.0 ('''beta''')&lt;br /&gt;
|2011-01-11&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Media Player&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xbmc.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/57106-xbmc-media-center/ Discussion]. Functions as &amp;quot;entertainment hub&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|XFE 1.32.1&lt;br /&gt;
|2010-07-20&lt;br /&gt;
|Maxim Baranov, Roland Baudin, packaged by sebt3&lt;br /&gt;
|System - file manager, packager&amp;lt;br/&amp;gt;Graphics - image viewer&amp;lt;br/&amp;gt;Office - notepad&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,163 Archive]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Xournal]]&lt;br /&gt;
|2010-10-03&lt;br /&gt;
|sebt3 (port)&lt;br /&gt;
|Office - journal&lt;br /&gt;
|[http://sebt3.openpandora.org/pnd/xournal.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56864-xournal/ Discussion]. Can annotate PDFs.&lt;br /&gt;
|}&lt;br /&gt;
===Operating systems &amp;amp; skins===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Basic Gray&lt;br /&gt;
|2010-11-25&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=506 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueFuture&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,239 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|BlueWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=434 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Executive&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,250 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928158 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Gray Is Sexy&lt;br /&gt;
|2010-11-27&lt;br /&gt;
|milkshake&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.liquidfists.com/files/grayissexy.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928315 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Midnight&lt;br /&gt;
|2010-06-17&lt;br /&gt;
|Trevsweb&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://trevsweb.com/pandainterface/midnight.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu With Toggle Detail Panel Support ('''beta''')&lt;br /&gt;
|2011-01-23&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/detail-toggle/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58327-beta%3B-minimenu-with-toggle-detail-panel-support/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-01-26&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110126.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-01-27&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110127.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-02&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110202.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Minimenu Beta Installer ('''beta''')&lt;br /&gt;
|2011-02-09&lt;br /&gt;
|skeezix&lt;br /&gt;
|OS&lt;br /&gt;
|[http://www.codejedi.com/pandora/minimenu/mmenu_beta_installer_20110209.pnd Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58377-minimenu-preview-beta-for-you-to-try/page__view__findpost__p__938340 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Newsprint&lt;br /&gt;
|2010-07-26&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.strappysolutions.com/demos/pandora/newsprint.zip Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__876021 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedDevil&lt;br /&gt;
|2010-11-26&lt;br /&gt;
|Sarlix&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,248 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/page__view__findpost__p__928099 Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|RedWash&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=433 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Toybox &amp;amp; Corporate (2 skins)&lt;br /&gt;
|2010-06-14&lt;br /&gt;
|Pleng&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?app=core&amp;amp;module=attach&amp;amp;section=attach&amp;amp;attach_id=432 Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|-&lt;br /&gt;
|Wasp&lt;br /&gt;
|2010-11-23&lt;br /&gt;
|Farox&lt;br /&gt;
|Minimenu skin&lt;br /&gt;
|[http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,67,238 Archive]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/53990-skinning-minimenu/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphic engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Release date&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(YYYY-MM-DD)&amp;lt;/small&amp;gt;&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Type&lt;br /&gt;
!Download&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[[GLES]] ('''beta''')&lt;br /&gt;
|2010-09-02&lt;br /&gt;
|Farox (port)&lt;br /&gt;
|&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Download]&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/56453-little-gles-pandora-test/ Discussion]&lt;br /&gt;
|}&lt;br /&gt;
===Demos/technical demos===&lt;br /&gt;
&lt;br /&gt;
==Unreleased software (&amp;quot;Projects Under Development&amp;quot;)==&lt;br /&gt;
''Note: this section may be out of date and in need of an update.''&lt;br /&gt;
&lt;br /&gt;
===Operating Systems===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Android Omap&lt;br /&gt;
|[http://elinux.org/Android_on_OMAP]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AROS Arm&lt;br /&gt;
|[http://projects.powerdeveloper.org/project/imx515/735]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Debian&lt;br /&gt;
|[http://debian.org] [http://www.gp32x.com/board/index.php?/topic/57097-debian-on-an-sd-card/]&lt;br /&gt;
|working build&lt;br /&gt;
|Stuckie&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|FreeBSD&lt;br /&gt;
|[http://wiki.freebsd.org/FreeBSD/arm/OMAP]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fedora ARM&lt;br /&gt;
|[http://fedoraproject.org/wiki/Architectures/ARM]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Gentoo Linux&lt;br /&gt;
|[http://neuvoo.org] [http://vminko.org/gentoo_manuals/pandora]&lt;br /&gt;
|Working build, not completed&lt;br /&gt;
|javaJake, Viridior, vminko&lt;br /&gt;
|IRC: (FreeNode) #gentoo-pandora&lt;br /&gt;
|-&lt;br /&gt;
|HaikuOS&lt;br /&gt;
|[http://www.haiku-os.org]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ohhie GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/58320-video-ohhie-gui/]&lt;br /&gt;
|working build&lt;br /&gt;
|Pleng&lt;br /&gt;
|Last update: Jan. 2011&lt;br /&gt;
|-&lt;br /&gt;
|RISC&amp;amp;nbsp;OS&lt;br /&gt;
|[[RISC OS|Link]]&lt;br /&gt;
|wip&lt;br /&gt;
|Uwe Kall, Jeffrey Lee + others&lt;br /&gt;
|BeagleBoard port available for download and testing.&lt;br /&gt;
|-&lt;br /&gt;
|Ubuntu ARM&lt;br /&gt;
|[http://www.ubuntu.com/products/whatisubuntu/arm]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Xoo on ubuntu&lt;br /&gt;
|[[Xoo on ubuntu|Link]]&lt;br /&gt;
|wip&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game Engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|OLA.G.E&lt;br /&gt;
|[http://sourceforge.net/projects/olage/]&lt;br /&gt;
|Wip&lt;br /&gt;
|neilae&lt;br /&gt;
|Game Engine with Authoring Tool for multiplatforms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphic Engines===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|GLES2D&lt;br /&gt;
|&lt;br /&gt;
|Wip&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|OpenGL ES 2D library&lt;br /&gt;
|-&lt;br /&gt;
|GL-WES-v2.0&lt;br /&gt;
|[http://code.google.com/p/gl-wes-v2/] &lt;br /&gt;
|Working Build&lt;br /&gt;
|Adventus&lt;br /&gt;
|Opensource OpenGL 2.0 driver built on OpenGL ES 2.0&lt;br /&gt;
|-&lt;br /&gt;
|Irrlicht&lt;br /&gt;
|[http://irrlicht.sourceforge.net/] [http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32538&amp;amp;start=45]&lt;br /&gt;
|working build&lt;br /&gt;
|Hybrid&lt;br /&gt;
|3D game engine&lt;br /&gt;
|-&lt;br /&gt;
|NSS Engine&lt;br /&gt;
|[http://www.nosiestastudios.com/wiki/] [http://www.youtube.com/user/Prompt84]&lt;br /&gt;
|&lt;br /&gt;
|No Siesta Studios&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OGRE Engine&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=46706] [http://www.youtube.com/watch?v=LDtUE5PIhV0]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3D real-time renderer&lt;br /&gt;
|-&lt;br /&gt;
|Otaco Glost Engine&lt;br /&gt;
|[http://www.youtube.com/user/otacogloost], [http://www.gp32x.com/board/index.php?/topic/48393-i-did-stuff/page__p__736650&amp;amp;#entry736650]&lt;br /&gt;
|working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Quad-Ren 2D&lt;br /&gt;
|[http://quad-ren.sourceforge.net/index.php]&lt;br /&gt;
|Working&lt;br /&gt;
|Hessiess&lt;br /&gt;
|Version 0.5 &lt;br /&gt;
|-&lt;br /&gt;
|SDL GLES&lt;br /&gt;
|[http://github.com/Cpasjuste/sdl-1.2.13_gles/tree]&lt;br /&gt;
|working&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|XreaL&lt;br /&gt;
|[http://xreal.sourceforge.net/xrealwiki/]&lt;br /&gt;
|&lt;br /&gt;
|Pickle&lt;br /&gt;
|No longer being worked on. [http://www.gp32x.com/board/index.php?/topic/55173-xreal-patch-question/]&lt;br /&gt;
|-&lt;br /&gt;
|Stratagus&lt;br /&gt;
|[http://stratagus.sourceforge.net/]&lt;br /&gt;
|working build&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|RTS Engine&lt;br /&gt;
|-&lt;br /&gt;
|WakeBreaker&lt;br /&gt;
|[http://w1xer.at/pandora/]&lt;br /&gt;
|working codebase - can be compiled onboard&lt;br /&gt;
|torpor&lt;br /&gt;
|Working C++ codebase to implement a 3D game using nothing more than OpenGLES 1.1 .. can even be built *on* the Pandora, with nothing more than the onboard compiler. WakeBreaker contains everything you need to get started writing a 3D game in C++ with OpenGL ES - no further libraries required. Its an excellent example of how to write a 3D game in plain, easy to understand C++ and can serve as a working base for your own developments, easily enough.&lt;br /&gt;
|}&lt;br /&gt;
===Other programs===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Inside The Box&lt;br /&gt;
|[http://www.openpandora.pl broken] [http://www.youtube.com/watch?v=uLMmJBDEs2E broken]&lt;br /&gt;
|wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|Pandora e-zine&lt;br /&gt;
|-&lt;br /&gt;
|Math-NEON&lt;br /&gt;
|[http://code.google.com/p/math-neon/]&lt;br /&gt;
|Wip&lt;br /&gt;
|Adventus&lt;br /&gt;
|cmath like library optimized for ARM NEON coprocessor&lt;br /&gt;
|-&lt;br /&gt;
|MythTVPlayer&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/52882-mythtvplayer/]&lt;br /&gt;
|Working build&lt;br /&gt;
|Pickle&lt;br /&gt;
|Media Center + TV/DV recording&lt;br /&gt;
|-&lt;br /&gt;
|Pandaphone&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/48327-pandaphone/]&lt;br /&gt;
|&lt;br /&gt;
|jb0yx&lt;br /&gt;
|project to incorporate the Open Pandora handheld device with cell phone technology&lt;br /&gt;
|-&lt;br /&gt;
|Pandora Sync Suite&lt;br /&gt;
|[http://www.openpandora.pl broken]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|Pangea GUI&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?showtopic=45631&amp;amp;hl=pangea]&lt;br /&gt;
|WIP&lt;br /&gt;
|efegea&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|Panorama&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/51076-panorama/]&lt;br /&gt;
|abandoned &lt;br /&gt;
|dflemstr&lt;br /&gt;
|Gmenu alternative&lt;br /&gt;
|-&lt;br /&gt;
|PDM&lt;br /&gt;
|[http://github.com/Cpasjuste/pdm/tree]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Light desktop manager for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PGui&lt;br /&gt;
|[http://github.com/Cpasjuste/pgui/tree]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Standard emulator fronted for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PMenu&lt;br /&gt;
|[http://mydedibox.fr/_stuff/pandora/]&lt;br /&gt;
|&lt;br /&gt;
|Cpasjuste&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|PND Builder for windows&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/47088-pnd-builder-for-windows/]&lt;br /&gt;
|Working build&lt;br /&gt;
|StreaK&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Qemu&lt;br /&gt;
|[http://wiki.qemu.org/]&lt;br /&gt;
|testing build&lt;br /&gt;
|Fabrice Bellard&lt;br /&gt;
|open source machine emulator and virtualizer&lt;br /&gt;
|-&lt;br /&gt;
|Scale&lt;br /&gt;
|[http://www.youtube.com/user/Zoxc64]&lt;br /&gt;
|wip&lt;br /&gt;
|Zoxc64&lt;br /&gt;
|Minimal Menu for Pandora&lt;br /&gt;
|-&lt;br /&gt;
|Simple Dev Studio for Pandora&lt;br /&gt;
|[http://www.openpandora.pl broken]&lt;br /&gt;
|Wip&lt;br /&gt;
|StreaK&lt;br /&gt;
|for Windows 9x/NT&lt;br /&gt;
|-&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|[[TINXL]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Application stack for multiplayer internet games&lt;br /&gt;
|-&lt;br /&gt;
|ZiB Emulator Frontend&lt;br /&gt;
|[http://www.gp32x.com/board/index.php?/topic/44952-pandora-emulator-frontend/]&lt;br /&gt;
|Author waiting for pandora&lt;br /&gt;
|Aimless_E&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===Demos / Technical Demos for OpenPandora===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
!Project Name&lt;br /&gt;
!Link&lt;br /&gt;
!Status&lt;br /&gt;
!Author/Port Author&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Cell Shading&lt;br /&gt;
|[http://www.youtube.com/watch?v=cpAj0jHglGw]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Demo with MP3 Playback&lt;br /&gt;
|[http://www.youtube.com/watch?v=hkx18kruRJs]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|OpenGL Skull Demo&lt;br /&gt;
|[http://www.youtube.com/watch?v=qG7EDaZpyOo]&lt;br /&gt;
|working build&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WaveDemo&lt;br /&gt;
|[http://www.youtube.com/watch?v=4wgEHFCq9Lo]&lt;br /&gt;
|Working&lt;br /&gt;
|Otaco&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://sebt3.openpandora.org/pnd/ Releases by sebt3]&lt;br /&gt;
*[http://www.hermocom.com/en/downloads/openpandora/ Releases by Hermocom]&lt;br /&gt;
*[http://rebirthofxeen.com/files/pandora/ Releases by WizardStan]&lt;br /&gt;
*[http://www.stuckiegamez.co.uk/apps/pandora/ Releases by Stuckie]&lt;br /&gt;
*[http://www.pandorasource.de/download.php PandoraSource.de downloads] - German Pandora download site&lt;br /&gt;
&lt;br /&gt;
===Forums===&lt;br /&gt;
The following community forums are checked when updating this page:&lt;br /&gt;
*From GP32X: [http://www.gp32x.com/board/index.php?/forum/63-news-zone-pandora/ News Zone], [http://www.gp32x.com/board/index.php?/forum/71-beta-testing-pandora/ Beta Testing] and [http://www.gp32x.com/board/index.php?/forum/64-developers-corner-pandora/ Developer's Corner]&lt;br /&gt;
*From OP: [http://boards.openpandora.org/index.php?/forum/26-software-news/ Software News] and [http://boards.openpandora.org/index.php?/forum/10-beta-testing/ Beta Testing]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3438</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3438"/>
		<updated>2010-08-30T15:15:16Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Pruning of dead links, help for submitting bug reports, some cleanup here and there&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Extend Utils provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the SimpleDev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Bug Reports =&lt;br /&gt;
In order for a bug report to be useful, I need the following information from you:&amp;lt;br /&amp;gt;&lt;br /&gt;
Output from &amp;quot;dmesg | tail&amp;quot;, &amp;quot;mount&amp;quot; and your preMount script.&amp;lt;br /&amp;gt;&lt;br /&gt;
A description of the error.&lt;br /&gt;
&lt;br /&gt;
Just PM me them on the GP32X boards, or post in the relevant threads - Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in Extend Utils, but are available here as well:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
The current release of the Dev Extend is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.20thJune2010.zip Dev Extend - 20th June 2010]&lt;br /&gt;
&lt;br /&gt;
The original release is here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.18thJune2010.zip Dev Extend - 18th June 2010]&lt;br /&gt;
&lt;br /&gt;
Upgrade functionality is being worked on.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
New &amp;quot;Current&amp;quot; Release&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic-compressed.7z ~250mb Compressed Debian Sid 28th July 2010 with Synaptic]&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
None, yet.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
==== Jaunty ====&lt;br /&gt;
The Jaunty Release is the most complete and working version of Ubuntu in an Extend. It requires a special mount script to use it.&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntu-arm-jaunty-desktop-3.5G.7z Uncompressed 3.5Gb Extend of Ubuntu 9.04 - Jaunty Jackalope]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntuExtend.pnd Custom Ubuntu Extend Mount Script]&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available ( see Files above )&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts exist, and an &amp;quot;official&amp;quot; compressed version of Sid with Synaptic.&lt;br /&gt;
See Files above.&lt;br /&gt;
&lt;br /&gt;
Work on Debian is currently active...ish.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu development is on hold.&lt;br /&gt;
&lt;br /&gt;
A first release is available, that requires a slightly customised mount script.&lt;br /&gt;
See Files above for download details.&lt;br /&gt;
&lt;br /&gt;
Ubuntu can be started via the '' Start Ubuntu '' option in the System Menu. Then just follow the on-screen prompts.&lt;br /&gt;
&lt;br /&gt;
=== F.A.Q ===&lt;br /&gt;
Q: How do I login?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: The default user is &amp;quot;ubuntu&amp;quot; with password &amp;quot;pandora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Q: Can I create a new user?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: Yes, but you'll have to do it manually from the Terminal, or start the DBus service ( see below. )&lt;br /&gt;
&lt;br /&gt;
Q: Can I upgrade to Karmic or Lucid?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: I'd highly advise against this due to the usual System V init system being replace by Upstart, which isn't too happy about being wrapped in a chroot.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
Ubuntu seems to be very dependent upon it's system services being operational. This unfortunately causes us problems as we're jumping in via a chroot, rather than booting the system normally, so Ubuntu's services haven't started; though Angstrom's have.&lt;br /&gt;
&lt;br /&gt;
It is possible to get Ubuntu's services to start by calling ''''' sudo /etc/init.d/dbus start ''''' however, this knocks out Angstrom's services, and in particular, HAL - the Hardware Abstraction Layer - which currently detects the presence of a chroot and refuses to work inside our environment. This is bad as if we log out of Ubuntu, we've lost access to all input devices, unless we have switched back to Angstrom and restarted dbus in it's environment.&lt;br /&gt;
&lt;br /&gt;
Update: Hal can be kept active by following this routine...&lt;br /&gt;
* Start Ubuntu as normal, but don't click the final Ok for GDM to start.&lt;br /&gt;
* Open a Terminal&lt;br /&gt;
* ''''' sudo chroot /tmp/osextend '''''&lt;br /&gt;
* Open another Terminal/Tab ... this'll be Angstrom, whereas your original is Ubuntu.&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus-1 stop ''''' (Angstrom)&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus start ''''' (Ubuntu)&lt;br /&gt;
* ''''' sudo hald --daemon=no --verbose=yes ''''' (Angstrom)&lt;br /&gt;
* Wait till HAL has finished, then click OK.&lt;br /&gt;
&lt;br /&gt;
This gets us slightly further, but still seems to stop Ubuntu's admin services somewhere, as you still cannot use the GUI-based Administration tools. You do however, seem to have access to WiFi and Bluetooth as their icons now appear in the system tray.&lt;br /&gt;
D-Pad control now seems knocked out as well.&lt;br /&gt;
&lt;br /&gt;
Touchscreen support currently does not work. The TSLib has been installed, and the xorg-input-tslib is also available, however it doesn't seem to be picked up.&lt;br /&gt;
&lt;br /&gt;
Due to Ubuntu's services not being active, most GUI-driven Administration utilities do not appear to work. Either perform the manual command line work, or start services as above.&lt;br /&gt;
&lt;br /&gt;
If Angstrom's X is quit ( IE: you log out of XFCE, ) although a speed up is gained, you've lost access to WiFi. I haven't yet checked if starting services inside Ubuntu would allow the setting up of the WiFi from inside the OS Extend.&lt;br /&gt;
&lt;br /&gt;
The CTRL+ALT+F# keys for changing virtual terminals work on a USB keyboard in Ubuntu, but not on the Pandora's keyboard; neither work in Angstrom.. as such, you have to perform ''''' sudo chvt # ''''' replacing # with 2 for Ubuntu, and 7 for Angstrom.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 9.04 - Jaunty Jackalope, is currently the last version of Ubuntu to work &amp;quot;properly&amp;quot; in a chroot due to later versions changing the init deamon from the standard System V to Upstart.&lt;br /&gt;
&lt;br /&gt;
=== Further Work ===&lt;br /&gt;
Ubuntu has been put on hold for the time being.&lt;br /&gt;
&lt;br /&gt;
I also need to have a further look into getting Karmic or Lucid running properly.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [https://wiki.ubuntu.com/ARM/RootfsFromScratch Ubuntu ARM From Scratch/RootStock]&lt;br /&gt;
* [http://dedors.wordpress.com/2008/12/10/run-kde4-in-chroot-gentoodebianubuntu-howto/ Running KDE4 in chroot] - pay particular attention to the dbus/hal manipulation.&lt;br /&gt;
* [http://www.gentoo-wiki.info/HOWTO_startx_in_a_chroot Start X in chroot]&lt;br /&gt;
* [https://answers.launchpad.net/ubuntu/+source/gnome-system-tools/+question/32334 Console-Kit issues] - what we get on Ubuntu&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, a Dev Extend hasn't been released for a while, and may currently BREAK some applications on the Pandora with the latest hot fix releases.. use with caution, or create an Overlay and install dev tools into that ( which is effectively all a Dev Extend is. )&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3282</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3282"/>
		<updated>2010-07-28T22:58:55Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Forgot to add the Empty Extends&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Extend Utils provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the SimpleDev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Empty Extends ==&lt;br /&gt;
The following files are pre-formatted ext2 files. These are included in Extend Utils, but are available here as well:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/256MBExtend.zip 256MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/512MBExtend.zip 512MB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/1GBExtend.zip 1GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/2GBExtend.zip 2GB Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/4GBExtend.zip 4GB Extend]&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
The current release of the Dev Extend is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.20thJune2010.zip Dev Extend - 20th June 2010]&lt;br /&gt;
&lt;br /&gt;
The original release is here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.18thJune2010.zip Dev Extend - 18th June 2010]&lt;br /&gt;
&lt;br /&gt;
Upgrade functionality is being worked on.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
New &amp;quot;Current&amp;quot; Release&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic-compressed.7z ~250mb Compressed Debian Sid 28th July 2010 with Synaptic]&lt;br /&gt;
&lt;br /&gt;
The following will be DEPRECATED by 1st August - grab them while you can if you need them.&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-lenny.512MbExtend.zip Uncompressed 512Mb Extend of Lenny]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid.1GbExtend.zip Uncompressed 1Gb Extend of Sid]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.1GbExtend.zip Uncompressed 1Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.2GbExtend.zip Uncompressed 2Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.4GbExtend.zip Uncompressed 4Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
None, yet.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
==== Jaunty ====&lt;br /&gt;
The Jaunty Release is the most complete and working version of Ubuntu in an Extend. It requires a special mount script to use it.&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntu-arm-jaunty-desktop-3.5G.7z Uncompressed 3.5Gb Extend of Ubuntu 9.04 - Jaunty Jackalope]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntuExtend.pnd Custom Ubuntu Extend Mount Script]&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Other variants of Ubuntu, which will be DEPRECATED by 1st August include:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/ubuntu-karmic-arm.1GbExtend.zip Ubuntu Karmic - 1Gb Uncompressed Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/ubuntu-karmic-arm.2GbExtend.zip Ubuntu Karmic - 2Gb Uncompressed Extend]&lt;br /&gt;
&lt;br /&gt;
Note that Karmic is a bit of a pest as it uses Upstart, so services are almost guaranteed not to work.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available ( see Files above )&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts exist, and an &amp;quot;official&amp;quot; compressed version of Sid with Synaptic.&lt;br /&gt;
See Files above.&lt;br /&gt;
&lt;br /&gt;
Work on Debian is currently active...ish.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu development is on hold.&lt;br /&gt;
&lt;br /&gt;
A first release is available, that requires a slightly customised mount script.&lt;br /&gt;
See Files above for download details.&lt;br /&gt;
&lt;br /&gt;
Ubuntu can be started via the '' Start Ubuntu '' option in the System Menu. Then just follow the on-screen prompts.&lt;br /&gt;
&lt;br /&gt;
=== F.A.Q ===&lt;br /&gt;
Q: How do I login?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: The default user is &amp;quot;ubuntu&amp;quot; with password &amp;quot;pandora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Q: Can I create a new user?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: Yes, but you'll have to do it manually from the Terminal, or start the DBus service ( see below. )&lt;br /&gt;
&lt;br /&gt;
Q: Can I upgrade to Karmic or Lucid?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: I'd highly advise against this due to the usual System V init system being replace by Upstart, which isn't too happy about being wrapped in a chroot.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
Ubuntu seems to be very dependent upon it's system services being operational. This unfortunately causes us problems as we're jumping in via a chroot, rather than booting the system normally, so Ubuntu's services haven't started; though Angstrom's have.&lt;br /&gt;
&lt;br /&gt;
It is possible to get Ubuntu's services to start by calling ''''' sudo /etc/init.d/dbus start ''''' however, this knocks out Angstrom's services, and in particular, HAL - the Hardware Abstraction Layer - which currently detects the presence of a chroot and refuses to work inside our environment. This is bad as if we log out of Ubuntu, we've lost access to all input devices, unless we have switched back to Angstrom and restarted dbus in it's environment.&lt;br /&gt;
&lt;br /&gt;
Update: Hal can be kept active by following this routine...&lt;br /&gt;
* Start Ubuntu as normal, but don't click the final Ok for GDM to start.&lt;br /&gt;
* Open a Terminal&lt;br /&gt;
* ''''' sudo chroot /tmp/osextend '''''&lt;br /&gt;
* Open another Terminal/Tab ... this'll be Angstrom, whereas your original is Ubuntu.&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus-1 stop ''''' (Angstrom)&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus start ''''' (Ubuntu)&lt;br /&gt;
* ''''' sudo hald --daemon=no --verbose=yes ''''' (Angstrom)&lt;br /&gt;
* Wait till HAL has finished, then click OK.&lt;br /&gt;
&lt;br /&gt;
This gets us slightly further, but still seems to stop Ubuntu's admin services somewhere, as you still cannot use the GUI-based Administration tools. You do however, seem to have access to WiFi and Bluetooth as their icons now appear in the system tray.&lt;br /&gt;
D-Pad control now seems knocked out as well.&lt;br /&gt;
&lt;br /&gt;
Touchscreen support currently does not work. The TSLib has been installed, and the xorg-input-tslib is also available, however it doesn't seem to be picked up.&lt;br /&gt;
&lt;br /&gt;
Due to Ubuntu's services not being active, most GUI-driven Administration utilities do not appear to work. Either perform the manual command line work, or start services as above.&lt;br /&gt;
&lt;br /&gt;
If Angstrom's X is quit ( IE: you log out of XFCE, ) although a speed up is gained, you've lost access to WiFi. I haven't yet checked if starting services inside Ubuntu would allow the setting up of the WiFi from inside the OS Extend.&lt;br /&gt;
&lt;br /&gt;
The CTRL+ALT+F# keys for changing virtual terminals work on a USB keyboard in Ubuntu, but not on the Pandora's keyboard; neither work in Angstrom.. as such, you have to perform ''''' sudo chvt # ''''' replacing # with 2 for Ubuntu, and 7 for Angstrom.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 9.04 - Jaunty Jackalope, is currently the last version of Ubuntu to work &amp;quot;properly&amp;quot; in a chroot due to later versions changing the init deamon from the standard System V to Upstart.&lt;br /&gt;
&lt;br /&gt;
=== Further Work ===&lt;br /&gt;
Ubuntu has been put on hold for the time being.&lt;br /&gt;
&lt;br /&gt;
I also need to have a further look into getting Karmic or Lucid running properly.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [https://wiki.ubuntu.com/ARM/RootfsFromScratch Ubuntu ARM From Scratch/RootStock]&lt;br /&gt;
* [http://dedors.wordpress.com/2008/12/10/run-kde4-in-chroot-gentoodebianubuntu-howto/ Running KDE4 in chroot] - pay particular attention to the dbus/hal manipulation.&lt;br /&gt;
* [http://www.gentoo-wiki.info/HOWTO_startx_in_a_chroot Start X in chroot]&lt;br /&gt;
* [https://answers.launchpad.net/ubuntu/+source/gnome-system-tools/+question/32334 Console-Kit issues] - what we get on Ubuntu&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3281</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3281"/>
		<updated>2010-07-28T22:55:54Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Restructured all download links to a special section for easy tracking.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Extend Utils provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
= Available Files =&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the SimpleDev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
== Dev Extends ==&lt;br /&gt;
The current release of the Dev Extend is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.20thJune2010.zip Dev Extend - 20th June 2010]&lt;br /&gt;
&lt;br /&gt;
The original release is here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/Dev.Extend.18thJune2010.zip Dev Extend - 18th June 2010]&lt;br /&gt;
&lt;br /&gt;
Upgrade functionality is being worked on.&lt;br /&gt;
&lt;br /&gt;
== OS Extends ==&lt;br /&gt;
=== Arch Linux ===&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
New &amp;quot;Current&amp;quot; Release&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic-compressed.7z ~250mb Compressed Debian Sid 28th July 2010 with Synaptic]&lt;br /&gt;
&lt;br /&gt;
The following will be DEPRECATED by 1st August - grab them while you can if you need them.&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-lenny.512MbExtend.zip Uncompressed 512Mb Extend of Lenny]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid.1GbExtend.zip Uncompressed 1Gb Extend of Sid]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.1GbExtend.zip Uncompressed 1Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.2GbExtend.zip Uncompressed 2Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.4GbExtend.zip Uncompressed 4Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
None, yet.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
==== Jaunty ====&lt;br /&gt;
The Jaunty Release is the most complete and working version of Ubuntu in an Extend. It requires a special mount script to use it.&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntu-arm-jaunty-desktop-3.5G.7z Uncompressed 3.5Gb Extend of Ubuntu 9.04 - Jaunty Jackalope]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntuExtend.pnd Custom Ubuntu Extend Mount Script]&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
Other variants of Ubuntu, which will be DEPRECATED by 1st August include:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/ubuntu-karmic-arm.1GbExtend.zip Ubuntu Karmic - 1Gb Uncompressed Extend]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/ubuntu-karmic-arm.2GbExtend.zip Ubuntu Karmic - 2Gb Uncompressed Extend]&lt;br /&gt;
&lt;br /&gt;
Note that Karmic is a bit of a pest as it uses Upstart, so services are almost guaranteed not to work.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available ( see Files above )&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts exist, and an &amp;quot;official&amp;quot; compressed version of Sid with Synaptic.&lt;br /&gt;
See Files above.&lt;br /&gt;
&lt;br /&gt;
Work on Debian is currently active...ish.&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu development is on hold.&lt;br /&gt;
&lt;br /&gt;
A first release is available, that requires a slightly customised mount script.&lt;br /&gt;
See Files above for download details.&lt;br /&gt;
&lt;br /&gt;
Ubuntu can be started via the '' Start Ubuntu '' option in the System Menu. Then just follow the on-screen prompts.&lt;br /&gt;
&lt;br /&gt;
=== F.A.Q ===&lt;br /&gt;
Q: How do I login?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: The default user is &amp;quot;ubuntu&amp;quot; with password &amp;quot;pandora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Q: Can I create a new user?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: Yes, but you'll have to do it manually from the Terminal, or start the DBus service ( see below. )&lt;br /&gt;
&lt;br /&gt;
Q: Can I upgrade to Karmic or Lucid?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: I'd highly advise against this due to the usual System V init system being replace by Upstart, which isn't too happy about being wrapped in a chroot.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
Ubuntu seems to be very dependent upon it's system services being operational. This unfortunately causes us problems as we're jumping in via a chroot, rather than booting the system normally, so Ubuntu's services haven't started; though Angstrom's have.&lt;br /&gt;
&lt;br /&gt;
It is possible to get Ubuntu's services to start by calling ''''' sudo /etc/init.d/dbus start ''''' however, this knocks out Angstrom's services, and in particular, HAL - the Hardware Abstraction Layer - which currently detects the presence of a chroot and refuses to work inside our environment. This is bad as if we log out of Ubuntu, we've lost access to all input devices, unless we have switched back to Angstrom and restarted dbus in it's environment.&lt;br /&gt;
&lt;br /&gt;
Update: Hal can be kept active by following this routine...&lt;br /&gt;
* Start Ubuntu as normal, but don't click the final Ok for GDM to start.&lt;br /&gt;
* Open a Terminal&lt;br /&gt;
* ''''' sudo chroot /tmp/osextend '''''&lt;br /&gt;
* Open another Terminal/Tab ... this'll be Angstrom, whereas your original is Ubuntu.&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus-1 stop ''''' (Angstrom)&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus start ''''' (Ubuntu)&lt;br /&gt;
* ''''' sudo hald --daemon=no --verbose=yes ''''' (Angstrom)&lt;br /&gt;
* Wait till HAL has finished, then click OK.&lt;br /&gt;
&lt;br /&gt;
This gets us slightly further, but still seems to stop Ubuntu's admin services somewhere, as you still cannot use the GUI-based Administration tools. You do however, seem to have access to WiFi and Bluetooth as their icons now appear in the system tray.&lt;br /&gt;
D-Pad control now seems knocked out as well.&lt;br /&gt;
&lt;br /&gt;
Touchscreen support currently does not work. The TSLib has been installed, and the xorg-input-tslib is also available, however it doesn't seem to be picked up.&lt;br /&gt;
&lt;br /&gt;
Due to Ubuntu's services not being active, most GUI-driven Administration utilities do not appear to work. Either perform the manual command line work, or start services as above.&lt;br /&gt;
&lt;br /&gt;
If Angstrom's X is quit ( IE: you log out of XFCE, ) although a speed up is gained, you've lost access to WiFi. I haven't yet checked if starting services inside Ubuntu would allow the setting up of the WiFi from inside the OS Extend.&lt;br /&gt;
&lt;br /&gt;
The CTRL+ALT+F# keys for changing virtual terminals work on a USB keyboard in Ubuntu, but not on the Pandora's keyboard; neither work in Angstrom.. as such, you have to perform ''''' sudo chvt # ''''' replacing # with 2 for Ubuntu, and 7 for Angstrom.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 9.04 - Jaunty Jackalope, is currently the last version of Ubuntu to work &amp;quot;properly&amp;quot; in a chroot due to later versions changing the init deamon from the standard System V to Upstart.&lt;br /&gt;
&lt;br /&gt;
=== Further Work ===&lt;br /&gt;
Ubuntu has been put on hold for the time being.&lt;br /&gt;
&lt;br /&gt;
I also need to have a further look into getting Karmic or Lucid running properly.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [https://wiki.ubuntu.com/ARM/RootfsFromScratch Ubuntu ARM From Scratch/RootStock]&lt;br /&gt;
* [http://dedors.wordpress.com/2008/12/10/run-kde4-in-chroot-gentoodebianubuntu-howto/ Running KDE4 in chroot] - pay particular attention to the dbus/hal manipulation.&lt;br /&gt;
* [http://www.gentoo-wiki.info/HOWTO_startx_in_a_chroot Start X in chroot]&lt;br /&gt;
* [https://answers.launchpad.net/ubuntu/+source/gnome-system-tools/+question/32334 Console-Kit issues] - what we get on Ubuntu&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
	<entry>
		<id>https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3042</id>
		<title>Extend Utils</title>
		<link rel="alternate" type="text/html" href="https://pandorawiki.org/index.php?title=Extend_Utils&amp;diff=3042"/>
		<updated>2010-07-17T21:58:22Z</updated>

		<summary type="html">&lt;p&gt;Stuckie: Lots of documentation on the new Extend Utils suite.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
Extend Utils provide a variety of tools to manipulate Extend, Overlay and Swap files. These are generally loop-back files stored on SD card for various purposes which include, but is not limited to:&lt;br /&gt;
* OS Extends - running another distribution on top of Angstrom in a chroot environment.&lt;br /&gt;
* Dev Extends - a method of providing dev tool support without installing directly to NAND.&lt;br /&gt;
* File system Overlays - redirect writes from NAND to a file on an SD card.&lt;br /&gt;
* Swap - use a swap file on SD card to provide additional memory for the Pandora when needed.&lt;br /&gt;
&lt;br /&gt;
This page used to only document OS Extends... it will now document all facets of the Extend Utils.&lt;br /&gt;
&lt;br /&gt;
Extend Utils have been written by Stuckie and while very much work-in-progress, the scripts are very useful in day to day tasks.&lt;br /&gt;
&lt;br /&gt;
The Extend Utils suite is updated regularly, and will always be available here, as part of the SimpleDev system:&lt;br /&gt;
[http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/extendutils.pnd Extend Utils]&lt;br /&gt;
&lt;br /&gt;
For support, please direct questions to the relevant threads on the forum - see Links at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils Help =&lt;br /&gt;
Extend Utils ( version 1.0a ) now facilitates the creation of &amp;quot;PreMount&amp;quot; scripts. For users of previous Extend Utils script sets, these separate scripts are essentially a PreMount script - the Ubuntu specific variant being a prime example.&lt;br /&gt;
&lt;br /&gt;
This allows us to create customised mounting procedures - such as being able to mount multiple Extends and Overlays at once; for example, a compressed Base OS Extend with perhaps an Overlay on top to &amp;quot;catch&amp;quot; installed programs.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as is always the case with more customization, the complexity has shot up. This guide will help you to create a PreMount script given four common scenarios: a Swap mount, a Home or Root Overlay, an OS Extend and a Dev Extend.&lt;br /&gt;
&lt;br /&gt;
== Creating a Swap PreMount ==&lt;br /&gt;
Perhaps the simplest PreMount script is a Swap Mount. For this, I shall assume you have not created a .swap file.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Extend/Overlay/Swap.&lt;br /&gt;
* Select New Swap File.&lt;br /&gt;
* Select 256MB - this uses one of the pre-created zipped Extend files, whereas Custom will create a new one on the card.&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Swap Mount Script.&lt;br /&gt;
* Find your Swap File you just created.&lt;br /&gt;
* Select a location for your Pre-Mount script to be saved to.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. you have swap mounted.&lt;br /&gt;
&lt;br /&gt;
Obviously, now that the script is saved, you only need to repeat the last two steps, or just run the script direct from the Terminal.&lt;br /&gt;
&lt;br /&gt;
== Creating a Root or Home Overlay PreMount ==&lt;br /&gt;
Again, I shall assume that you do not have any pre-made .overlay files.&lt;br /&gt;
* Start up Extend Utils.&lt;br /&gt;
* Select New Overlay.&lt;br /&gt;
* Select New Overlay File.&lt;br /&gt;
* Select 1GB - or whatever you like.. again be aware that Custom may very well chew through your SD card as it DD's direct to it!&lt;br /&gt;
* Save the file anywhere you like.&lt;br /&gt;
* It will extract the appropriate zip to where you selected.&lt;br /&gt;
* Back at the Main Menu, select New Pre-Mount.&lt;br /&gt;
* Select New Overlay Mount Script.&lt;br /&gt;
* Select either Standard Home Overlay or Standard Root Overlay.&lt;br /&gt;
* Find your Overlay that you created.&lt;br /&gt;
* Select where you want to save the Pre-Mount script.&lt;br /&gt;
* Finally, back at the Main Menu, you can select Mount Existing Pre-Mount.&lt;br /&gt;
* Find where your Pre-Mount script was saved to, and that's it.. either the majority of / or your /home is bound to the overlay.&lt;br /&gt;
&lt;br /&gt;
== Creating an OS Extend PreMount ==&lt;br /&gt;
Generally, these will have been pre-made downloads, or you'll have created a chroot environment and wrapped it in an extend already.&lt;br /&gt;
It's also important to note that there are essentially TWO types of OS Extends - compressed and uncompressed. Compressed OS Extends should be affixed with compressed; base-debian-sid-compressed.extend for example, which donates it's a base install of debian sid, in a compressed extend. Compressed extends can only be mounted as read-only, and will likely fail if you try to mount them read-write. This means they require an Overlay in order to be much use. As such, I will describe a &amp;quot;classic&amp;quot; uncompressed OS Extend procedure, and a &amp;quot;modern&amp;quot; compressed OS Extend procedure.&lt;br /&gt;
&lt;br /&gt;
=== Compressed OS Extends ===&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
This is where you need to start paying attention as to what you're doing.&lt;br /&gt;
For our purposes, we want a basic configuration for say a Base Debian Sid Extend, and one Overlay.&lt;br /&gt;
The Base Debian Sid Extend we would have downloaded already, and the Overlay we should have created as well.&lt;br /&gt;
&lt;br /&gt;
* Move the slider to select 1 Read-Only Extend.&lt;br /&gt;
* Select our base-debian-sid-compressed.extend ( assuming you've downloaded it, and it's been released! )&lt;br /&gt;
* We don't want any Read-Write Extends, so Cancel or select 0.&lt;br /&gt;
* We do want an Overlay, so select 1 Read-Write Overlay.&lt;br /&gt;
* Choose the Overlay you want to use.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend or Overlay you've chosen.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
 &lt;br /&gt;
Again, we need to pay attention as to what we want here.&lt;br /&gt;
For our purposes, we just want a Terminal, so that we can call apt-get and install whatever we feel like, and run it from the shell to interact with the program in Angstrom.&lt;br /&gt;
You can, of course, re-do this procedure later after having installed a window manager and desktop manager ( IE: something like Fluxbox and GDM ) so that you can jump fully into Debian if you so wish.&lt;br /&gt;
&lt;br /&gt;
* Select the Terminal option.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, you should have a Terminal open inside your OS Extend, where all writes go to your Overlay.&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed/Classic OS Extends ===&lt;br /&gt;
These ones are much easier to deal with, and are generally what have been released up till now.&lt;br /&gt;
These don't require an Overlay ( though you can still use one if you like. )&lt;br /&gt;
The procedure for setting up a mount script for one of these runs as follows:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select OS Extend.&lt;br /&gt;
&lt;br /&gt;
As said, we don't need an Overlay, and Uncompressed/Classic Extends can be mounted Read-Write without any issues.&lt;br /&gt;
Therefore, we only need to select 1 Read-Write Extend, and 0 everything else.&lt;br /&gt;
&lt;br /&gt;
* We don't want any Read-Only Extends, so Cancel or select 0.&lt;br /&gt;
* We don want a Read-Write Extend...so move the slider to 1 and find your Extend file.&lt;br /&gt;
* Again, we don't want an Overlay, so select 0 or Cancel it.&lt;br /&gt;
* Now you must name the mount point. This can be anything you like, but it must be unique and not the name of the Extend.&lt;br /&gt;
* You'll then be asked where you want to save the PreMount script.&lt;br /&gt;
&lt;br /&gt;
Now we need to know roughly what's in our Extend.. to be safe, we can just choose a Terminal as that's guaranteed to work. If, however, you know that GDM is installed and setup ( I'll ensure that any of my Extends that are, are documented in saying so ) then you can choose the GDM option.&lt;br /&gt;
&lt;br /&gt;
* We'll assume we've got GDM present, so select GDM.&lt;br /&gt;
* You'll now be sent back to the Main Menu, where you can now select Mount Existing Pre-Mount.&lt;br /&gt;
* Select your Pre-Mount Script you've just created.&lt;br /&gt;
* After the gksudo checks, GDM will start up alongside Angstrom and ask you to login. You should have a login/password already - either from you manually setting it up, or the default that whoever set the .Extend up performed.&lt;br /&gt;
&lt;br /&gt;
== Creating a Dev Extend Pre-Mount ==&lt;br /&gt;
Dev Extends are essentially Root Extends these days.. however that's not to say there won't eventually be packs so that there's a base Dev Extend with just the bare essentials, then addons for GTK, QT, wxWidgets, etc.. so having them classed as an Extend seems like the best option.&lt;br /&gt;
&lt;br /&gt;
The current Dev Extends are created exactly like the Uncompressed/Classic OS Extends, but for completeness sakes:&lt;br /&gt;
* Start Extend Utils.&lt;br /&gt;
* Select New Pre-Mount.&lt;br /&gt;
* Select New Extend Mount.&lt;br /&gt;
* Select Dev Extend.&lt;br /&gt;
* Select 0 Read-Only Extends.&lt;br /&gt;
* Select 1 Read-Write Extend.&lt;br /&gt;
* Find your Dev Extend.&lt;br /&gt;
* Select 0 Read-Write Overlays.&lt;br /&gt;
* Come up with a mount point.&lt;br /&gt;
* Save your Pre-Mount somewhere.&lt;br /&gt;
* You may now load it up through the Mount Existing Pre-Mount script if you so wish.&lt;br /&gt;
&lt;br /&gt;
= OS Extends =&lt;br /&gt;
OS Extend is a method of running another distribution on top of Angstrom. This is currently very much a hacky WORK IN PROGRESS method of doing so, and this page describes what it does, how to get started, and any major pitfalls in using it.&lt;br /&gt;
&lt;br /&gt;
Currently, I've been successful in getting Debian, Ubuntu and Arch running to varying degrees. This page will be split up into these distributions so you should be able to jump to the correct section for any oddities that I've uncovered, and any workarounds presented.&lt;br /&gt;
&lt;br /&gt;
Essentially, what I'm doing is using a loop back file, formatted as Ext2, and performing a first stage install within it for Arm. This is called by either debootstrap, rootstock, or whichever system the target distribution uses. These &amp;quot;Extend&amp;quot; files are then copied over to SD card/Memory Stick/etc... and chrooted into.&lt;br /&gt;
&lt;br /&gt;
However, this brings some very important caveats:&lt;br /&gt;
* System Services don't always tend to work, and starting them can clobber Angstrom's services ( see the HAL/DBus issues in Ubuntu below. ) &lt;br /&gt;
* Limited resources when running TWO XServers and TWO Desktop Managers does start to show, but the fact that it's still running fairly well is a testament to how powerful the Pandora actually is.&lt;br /&gt;
* Logging out of XFCE will speed up the chrooted environment, but tends to shut down NetworkManager with it, disabling WiFi for the environment unless it knows how to handle it.&lt;br /&gt;
&lt;br /&gt;
Hopefully, these can be dealt with in due time.&lt;br /&gt;
&lt;br /&gt;
That said, there are benefits of using a system such as this:&lt;br /&gt;
* It's (almost) the exact same distribution as you'd be installing on SD Card, so why not test it out first before sacrificing an SD card fully?&lt;br /&gt;
* Perhaps you only have the one SD card? It may be a gigantic SD card but partitioning scares you, so this allows you to try a chosen distribution first without messing about!&lt;br /&gt;
* Some distributions have a HUGE library of packages ready and waiting to be played with.. why not see which ones you'd like ported over to Angstrom natively?&lt;br /&gt;
* We can be sneaky and take advantage of all Pandora specific updates to Angstrom, and have our Extended OS install reap the benefits rather than having to wait for someone to port it over ( kernel drivers, for example. )&lt;br /&gt;
* Why not show off just how powerful the Pandora actually is - you are running TWO X Servers and TWO Desktop Managers at once!&lt;br /&gt;
* Development between multiple distributions can be done much more easily, as you could bind your development distribution, and check driver support in Angstrom.&lt;br /&gt;
* And my absolute favourite - it's a fun hack!&lt;br /&gt;
&lt;br /&gt;
So, there is good reason to try and pursue a system such as this, if perhaps not generally geared to &amp;quot;End User Consumption.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Arch OS Extend ==&lt;br /&gt;
A proof of concept is available here: [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/archmobile.1GbExtend.zip 1Gb Arch Extend]&lt;br /&gt;
&lt;br /&gt;
Not much work has been taking in furthering the install as of this time.&lt;br /&gt;
&lt;br /&gt;
== Android OS Extend ==&lt;br /&gt;
This might be tricky due to dalvik.. doesn't seem to be any fast way of &amp;quot;borrowing&amp;quot; an existing rootfs, will have to just try compiling manually for the Pandora.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* http://elinux.org/Android_on_OMAP&lt;br /&gt;
* http://omappedia.org/wiki/Android_Getting_Started&lt;br /&gt;
&lt;br /&gt;
== Debian OS Extend ==&lt;br /&gt;
Debian was the first distribution to work in this environment.&lt;br /&gt;
&lt;br /&gt;
Various proof of concepts currently exist:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-lenny.512MbExtend.zip 512Mb Extend of Lenny]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid.1GbExtend.zip 1Gb Extend of Sid]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.1GbExtend.zip 1Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.2GbExtend.zip 2Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/SimpleDev/debian-sid-synaptic.4GbExtend.zip 4Gb Extend of Sid with Synaptic pre-installed]&lt;br /&gt;
&lt;br /&gt;
Work on Debian has currently active...ish.&lt;br /&gt;
&lt;br /&gt;
If you get &amp;quot;cannot open display: :0.0&amp;quot; this is a regression in the script for xhost support, please run the following in an Angstrom terminal:&lt;br /&gt;
xhost local:localhost&lt;br /&gt;
&lt;br /&gt;
Sorry about that!&lt;br /&gt;
&lt;br /&gt;
== Ubuntu OS Extend ==&lt;br /&gt;
Ubuntu development is on hold.&lt;br /&gt;
&lt;br /&gt;
A first release is available here:&lt;br /&gt;
* [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntu-arm-jaunty-desktop-3.5G.7z 3.5Gb Extend of Ubuntu 9.04 - Jaunty Jackalope] - note this is a 7zip archive due to it's size; there aren't many empty blocks in this for zip to compress.&lt;br /&gt;
&lt;br /&gt;
Ubuntu OS Extend currently uses a slightly tailored version of Extend Utils, available here: [http://www.stuckiegamez.co.uk/apps/pandora/UbuntuExtend/ubuntuExtend.pnd Ubuntu Extend]&lt;br /&gt;
&lt;br /&gt;
Ubuntu can be started via the '' Start Ubuntu '' option in the System Menu. Then just follow the on-screen prompts.&lt;br /&gt;
&lt;br /&gt;
=== F.A.Q ===&lt;br /&gt;
Q: How do I login?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: The default user is &amp;quot;ubuntu&amp;quot; with password &amp;quot;pandora&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Q: Can I create a new user?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: Yes, but you'll have to do it manually from the Terminal, or start the DBus service ( see below. )&lt;br /&gt;
&lt;br /&gt;
Q: Can I upgrade to Karmic or Lucid?&amp;lt;br /&amp;gt;&lt;br /&gt;
A: I'd highly advise against this due to the usual System V init system being replace by Upstart, which isn't too happy about being wrapped in a chroot.&lt;br /&gt;
&lt;br /&gt;
=== Issues ===&lt;br /&gt;
Ubuntu seems to be very dependent upon it's system services being operational. This unfortunately causes us problems as we're jumping in via a chroot, rather than booting the system normally, so Ubuntu's services haven't started; though Angstrom's have.&lt;br /&gt;
&lt;br /&gt;
It is possible to get Ubuntu's services to start by calling ''''' sudo /etc/init.d/dbus start ''''' however, this knocks out Angstrom's services, and in particular, HAL - the Hardware Abstraction Layer - which currently detects the presence of a chroot and refuses to work inside our environment. This is bad as if we log out of Ubuntu, we've lost access to all input devices, unless we have switched back to Angstrom and restarted dbus in it's environment.&lt;br /&gt;
&lt;br /&gt;
Update: Hal can be kept active by following this routine...&lt;br /&gt;
* Start Ubuntu as normal, but don't click the final Ok for GDM to start.&lt;br /&gt;
* Open a Terminal&lt;br /&gt;
* ''''' sudo chroot /tmp/osextend '''''&lt;br /&gt;
* Open another Terminal/Tab ... this'll be Angstrom, whereas your original is Ubuntu.&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus-1 stop ''''' (Angstrom)&lt;br /&gt;
* ''''' sudo /etc/init.d/dbus start ''''' (Ubuntu)&lt;br /&gt;
* ''''' sudo hald --daemon=no --verbose=yes ''''' (Angstrom)&lt;br /&gt;
* Wait till HAL has finished, then click OK.&lt;br /&gt;
&lt;br /&gt;
This gets us slightly further, but still seems to stop Ubuntu's admin services somewhere, as you still cannot use the GUI-based Administration tools. You do however, seem to have access to WiFi and Bluetooth as their icons now appear in the system tray.&lt;br /&gt;
D-Pad control now seems knocked out as well.&lt;br /&gt;
&lt;br /&gt;
Touchscreen support currently does not work. The TSLib has been installed, and the xorg-input-tslib is also available, however it doesn't seem to be picked up.&lt;br /&gt;
&lt;br /&gt;
Due to Ubuntu's services not being active, most GUI-driven Administration utilities do not appear to work. Either perform the manual command line work, or start services as above.&lt;br /&gt;
&lt;br /&gt;
If Angstrom's X is quit ( IE: you log out of XFCE, ) although a speed up is gained, you've lost access to WiFi. I haven't yet checked if starting services inside Ubuntu would allow the setting up of the WiFi from inside the OS Extend.&lt;br /&gt;
&lt;br /&gt;
The CTRL+ALT+F# keys for changing virtual terminals work on a USB keyboard in Ubuntu, but not on the Pandora's keyboard; neither work in Angstrom.. as such, you have to perform ''''' sudo chvt # ''''' replacing # with 2 for Ubuntu, and 7 for Angstrom.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 9.04 - Jaunty Jackalope, is currently the last version of Ubuntu to work &amp;quot;properly&amp;quot; in a chroot due to later versions changing the init deamon from the standard System V to Upstart.&lt;br /&gt;
&lt;br /&gt;
=== Further Work ===&lt;br /&gt;
Ubuntu has been put on hold for the time being.&lt;br /&gt;
&lt;br /&gt;
I also need to have a further look into getting Karmic or Lucid running properly.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
* [https://wiki.ubuntu.com/ARM/RootfsFromScratch Ubuntu ARM From Scratch/RootStock]&lt;br /&gt;
* [http://dedors.wordpress.com/2008/12/10/run-kde4-in-chroot-gentoodebianubuntu-howto/ Running KDE4 in chroot] - pay particular attention to the dbus/hal manipulation.&lt;br /&gt;
* [http://www.gentoo-wiki.info/HOWTO_startx_in_a_chroot Start X in chroot]&lt;br /&gt;
* [https://answers.launchpad.net/ubuntu/+source/gnome-system-tools/+question/32334 Console-Kit issues] - what we get on Ubuntu&lt;br /&gt;
&lt;br /&gt;
= Dev Extend =&lt;br /&gt;
A Dev Extend is a special kind of Overlay which only binds enough of the file system to allow development tools to work. As such, most information on Overlays - particularly Root Overlays - match Dev Extends.&lt;br /&gt;
&lt;br /&gt;
Dev Extends are routinely updated and match Stuckie's current development environment.&lt;br /&gt;
Support for updating between revisions is planned, but not currently implemented.&lt;br /&gt;
&lt;br /&gt;
= Overlays =&lt;br /&gt;
Overlays allow the base system to be kept unmodified, and all changes to be propagated to the Overlay file. This is immensely useful for development work where you can install a development environment &amp;quot;normally&amp;quot; and compile what is needed, then unbind the overlay and run it on a &amp;quot;vanilla&amp;quot; install, to see if any libraries are missing.&lt;br /&gt;
&lt;br /&gt;
Stuckie's general development environment uses a Dev Extend and an Overlay - so that all compiled code sits in the Home Overlay, and the development environment is in the Dev Extend. This allows any programs that have not been configured fully to keep clear of the NAND when running, should they create config files in the user's Home directory, as well as separating the compiled programs from the development environment for easier testing on the &amp;quot;vanilla&amp;quot; state.&lt;br /&gt;
&lt;br /&gt;
Overlays essentially come in two flavours - Home and Root - where the latter covers everything written to / and the former only covering /home, however an Overlay could be made for any combination of directories.&lt;br /&gt;
&lt;br /&gt;
= Extend Utils GUI =&lt;br /&gt;
On the forums, SomeGuy99 has suggested the creation of a GUI-based app to wrap around the Extend Utils suite. This would greatly simplify what is going on by being able to provide on-screen help, as well as tying the many scripts into one app and not cluttering up the System menu any further.&lt;br /&gt;
&lt;br /&gt;
This also needs to be a cross-platform application, if only for the creation of Extend files. As such, it needs a cross-platform widget toolkit; preferably a light-weight one to run on Pandora as well. Currently, this looks to be [http://www.fltk.org/ FLTK]&lt;br /&gt;
&lt;br /&gt;
For the time being, the Extend Utils has been rewritten ( version 1.0a ) to further use Zenity and create customised mount scripts, in preparation for the work on the FLTK-based GUI.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54651-debian-in-an-extend/ Original OS Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54508-simple-dev-pnd/ Original Dev Extend Thread]&lt;br /&gt;
* [http://www.gp32x.com/board/index.php?/topic/54064-advanced-filesystem-hackery/ Original Overlay Thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Stuckie</name></author>
		
	</entry>
</feed>