Porting Debian Packages


todd

Member
Joined
Sep 5, 2008
Messages
187
In a nearby thread Stuckie has done some great work making the debian repo's easily accessible for the rest of us. Download an extend file, run his .pnd, et voila. I can apt-get install 'til my heart's content.

Only it's not content yet. :p

When I run an application inside my debian extend/chroot, that means (according to my understanding):
  • it's running natively on the Pandora's hardware
  • it's running directly on my Angstrom/Zaxxon/Hotfix'd kernel
  • it's using libraries from the debian extend

I have three questions:

Question 1:
What do I need to do to snag a binary from the debian package and wrap it up in a .pnd to use without mounting the extend? Debian does a nice job of describing which libraries it needs. Is it a matter of browsing those libraries, deciding which ones are already included on my Pandora and which need to be included in the .pnd? I haven't looked into the .pnd's too closely yet, but I thought I remembered the intention that they would wrap up everything an app needed that wasn't on the base Pandora install.

Question 2:
Or is this a fool's game and I should just install a build chain and try to build the app from source? (Yikes! That sounds like work! :ph34r: )

Question 3:
How much do I lose by running in the debian extend? It's not emulation: is there really any slow-down? I'm not even (I don't believe) running gnome or anything: my app's are connecting through to the Zaxxon web-server. It just means having an extra 3.5Gb used up on an SD card: not a huge deal. It also means I can continue apt-get'ing other stuff at will. Any idea how much extra memory is being consumed by running app's in the extend instead of building them to run natively in Zaxxon?

My example du jour is KeypassX. A nice, handy app. Runs great under the debian extend.

--Todd
 
Last edited by a moderator:
todd said:
Question 1:
What do I need to do to snag a binary from the debian package and wrap it up in a .pnd to use without mounting the extend? Debian does a nice job of describing which libraries it needs. Is it a matter of browsing those libraries, deciding which ones are already included on my Pandora and which need to be included in the .pnd? I haven't looked into the .pnd's too closely yet, but I thought I remembered the intention that they would wrap up everything an app needed that wasn't on the base Pandora install.

I done this myself :)
You can simply copy everything over and run it. You might need to include missing libraries, but apart from that, the binary runs.
You might also need to export home so it doesn't save onto the NAND.

That's basically all you need to do.
 
Last edited:
todd said:
In a nearby thread Stuckie has done some great work making the debian repo's easily accessible for the rest of us. Download an extend file, run his .pnd, et voila. I can apt-get install 'til my heart's content.

Woo, a satisfied customer! FRAME HIM!

todd said:
When I run an application inside my debian extend/chroot, that means (according to my understanding):
  • it's running natively on the Pandora's hardware
  • it's running directly on my Angstrom/Zaxxon/Hotfix'd kernel
  • it's using libraries from the debian extend

Yep, that's exactly what's going on.

todd said:
Question 1:
What do I need to do to snag a binary from the debian package and wrap it up in a .pnd to use without mounting the extend? Debian does a nice job of describing which libraries it needs. Is it a matter of browsing those libraries, deciding which ones are already included on my Pandora and which need to be included in the .pnd? I haven't looked into the .pnd's too closely yet, but I thought I remembered the intention that they would wrap up everything an app needed that wasn't on the base Pandora install.

This is where my demented system comes in pretty handy, actually.. as you could go further and shove an overlay on the top of this to catch whatever you install, which if you start from as bare a system as possible, will pull in all libraries it'll need, write it to the overlay you've put on, and there's (essentially) your PND.

It'll possibly need a bit more tweaking than that (scripts to set up environment variables, and so on..) but that's mostly all there is to it.

todd said:
Question 2:
Or is this a fool's game and I should just install a build chain and try to build the app from source? (Yikes! That sounds like work! :ph34r: )
Only if you want to extend the app with Pandora specific features.. everything in that Debian is binary compatible :)

todd said:
Question 3:
How much do I lose by running in the debian extend? It's not emulation: is there really any slow-down? I'm not even (I don't believe) running gnome or anything: my app's are connecting through to the Zaxxon web-server. It just means having an extra 3.5Gb used up on an SD card: not a huge deal. It also means I can continue apt-get'ing other stuff at will. Any idea how much extra memory is being consumed by running app's in the extend instead of building them to run natively in Zaxxon?
As this isn't virtualisation, you shouldn't lose _any_ performance at all.. you're not emulating another platform - it's the exact same. You're also not really going through any abstraction layer either, this is core Linux functionality we're (ab)using here. When you sign in on an FTP, it effectively does the same thing; chroots you to your home folder so you cannot escape and can only "run" stuff from within your jail, or whatever has been bound to your area.
You'd only notice slowdown if you start up X within the chroot alongside the current Angstrom's X server - but that should be fairly obvious ;)
That said, your SD card speed does become an issue, of course.. but that should be negligible.

I'm working on a somewhat slimmed down and extendable version of it all just now.. it's taking a bit longer as there's more to it that I need to get right .. but essentially it'd allow you to click ( point? ) your way through to binding Debian with an Overlay to catch whatever you install, to make PND making a bit easier :) Or just to fiddle about in another distribution!
 
Last edited by a moderator:
Back
Top