[Guide] Debian Kit & Limbo PC Emulator (QEMU x86) for Dual-booting Linux on Android

Search This thread

Almazick

Senior Member
Jun 12, 2009
161
28
I'll take LNMP and figure out the clean install in my own time; I figure we've been doing the install dance long enough, it's time to get the 3/4G networking figured out :)

Update 7 pm- Lil Debi is chugging away on what looks to be a good install :D not sure how to replicate the errors I had before but if all goes well I may be up and running your script again tonight.

Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey

Sometimes Lil Debi gets stuck on install and you have to reboot your phone. I'll be up for the next few hours, gotta get some work done so you can reply and I can answer asap. Sounds good but I'm about to upload the image for you. Do you still need it? By any chance do you have Google instant messanger? My username is Almazick
 
Last edited:

S0AndS0

Senior Member
May 7, 2012
269
77
Sometimes Lil Debi gets stuck on install and you have to reboot your phone. I'll be up for the next few hours, gotta get some work done so you can reply and I can answer asap. Sounds good but I'm about to upload the image for you. Do you still need it? By any chance do you have Google instant messanger? My username is Almazick

Heh, yeah I was noticing. Thankfully the third time round I teased out a working install. I'll be off tomorrow from normal work duties so I'll be posting updates as regularly as I can, cool I'll be asking as I have questions, so far though it seems fairly strait forward aside from where things didn't seem to work last time :) Sure a modified image that has everything ready to rock and roll will make debugging a bit easier; from what I understand I can just unmount the one I've got running and move it somewhere else or mount from a different directory once I've downloaded your image file and so long as I remember to unmount between switches I should be good :D I'm not sure, I have "hangouts" from google... think it's the same contact info as my google+ profile, go ahead and try to hit me up and it should notify me...
Oh and update to the working install I got up and running with 'Lil Dibi' app
~ running "stable" arm Hard Float
~ 1024MB sized image file
~ only one error during install and that was during the last "apt-get update -fy" part so it mounts and unmounts fine.
~~ next up, I'll be running (line by line) the script that ya set up and testing over 3G and 4G
 

Almazick

Senior Member
Jun 12, 2009
161
28
Heh, yeah I was noticing. Thankfully the third time round I teased out a working install. I'll be off tomorrow from normal work duties so I'll be posting updates as regularly as I can, cool I'll be asking as I have questions, so far though it seems fairly strait forward aside from where things didn't seem to work last time :) Sure a modified image that has everything ready to rock and roll will make debugging a bit easier; from what I understand I can just unmount the one I've got running and move it somewhere else or mount from a different directory once I've downloaded your image file and so long as I remember to unmount between switches I should be good :D I'm not sure, I have "hangouts" from google... think it's the same contact info as my google+ profile, go ahead and try to hit me up and it should notify me...
Oh and update to the working install I got up and running with 'Lil Dibi' app
~ running "stable" arm Hard Float
~ 1024MB sized image file
~ only one error during install and that was during the last "apt-get update -fy" part so it mounts and unmounts fine.
~~ next up, I'll be running (line by line) the script that ya set up and testing over 3G and 4G

Yep, you are correct. You can make as many folders with debian.img and point to them from preferences lil debi menu. Hangout is the same as google instant messanger. They just changed the name. I just sent invitation to S0AndS0 at gmail.com I guess that's your email. 1024 image is not enough. You need to make it around 2gb
 

S0AndS0

Senior Member
May 7, 2012
269
77
Yep, you are correct. You can make as many folders with debian.img and point to them from preferences lil debi menu. Hangout is the same as google instant messanger. They just changed the name. I just sent invitation to S0AndS0 at gmail.com I guess that's your email. 1024 image is not enough. You need to make it around 2gb
Cool, looked like it would be nice like that, perhaps latter I'll boot up QEMU and Debian Kit at the same time and see if they can all run off the same device at the same time... could be slow but could be interesting for other testing.
Oh that'll be interesting for that person I'm found there by using "strangerthanbland" sorry bout that "S0AndS0" is a younger user name :silly:
Wups I'll be upping that on the next go around, thankfully though I now know one of my devices (Epic 4G SPH-D700) is compatible with the same app as what you're using I'll be testing on the other devices I've got and seeing about adding another section to section one of the guide for Lil Debi users.
 

Almazick

Senior Member
Jun 12, 2009
161
28
Cool, looked like it would be nice like that, perhaps latter I'll boot up QEMU and Debian Kit at the same time and see if they can all run off the same device at the same time... could be slow but could be interesting for other testing.
Oh that'll be interesting for that person I'm found there by using "strangerthanbland" sorry bout that "S0AndS0" is a younger user name :silly:
Wups I'll be upping that on the next go around, thankfully though I now know one of my devices (Epic 4G SPH-D700) is compatible with the same app as what you're using I'll be testing on the other devices I've got and seeing about adding another section to section one of the guide for Lil Debi users.

Alright, I added you to hangout place. So do you still want my image or will you be doing it yourself? Also for webmin add the following plugin which might help you in a long run http://www.justindhoffman.com/sites/justindhoffman.com/files/nginx-0.07.wbm_.gz Install it from webmin
 

S0AndS0

Senior Member
May 7, 2012
269
77
Alright, I added you to hangout place. So do you still want my image or will you be doing it yourself? Also for webmin add the following plugin which might help you in a long run http://www.justindhoffman.com/sites/justindhoffman.com/files/nginx-0.07.wbm_.gz Install it from webmin
Neat, I'll be checking that shortly; device is on the charger currently...
Yes please, I'll be using the bandwidth anyways.
when you say "Install it from webmin" this would mean to me that I can run a 'wget http://www.justindhoffman.com/sites/justindhoffman.com/files/nginx-0.07.wbm_.gz' and run an install command against the tar or the extracted contents with webmin or does webmin have a spiciffic command for just plugin's?
 

Almazick

Senior Member
Jun 12, 2009
161
28
Neat, I'll be checking that shortly; device is on the charger currently...
Yes please, I'll be using the bandwidth anyways.
when you say "Install it from webmin" this would mean to me that I can run a 'wget http://www.justindhoffman.com/sites/justindhoffman.com/files/nginx-0.07.wbm_.gz' and run an install command against the tar or the extracted contents with webmin or does webmin have a spiciffic command for just plugin's?


No, you can install modules within webmin. Anyway I'll upload the image now and I'll pm you the instructions. I created a fresh image for you about an hour ago.
 

S0AndS0

Senior Member
May 7, 2012
269
77
No, you can install modules within webmin. Anyway I'll upload the image now and I'll pm you the instructions. I created a fresh image for you about an hour ago.

Ok, I'll play around with it and likely see what you're talking about. Nice :good: and thank you.

Edit- before you had mentioned resizing the image file. Can this be done on the device or is it better to do that through a PC?
 
Last edited:

Almazick

Senior Member
Jun 12, 2009
161
28
Ok, I'll play around with it and likely see what you're talking about. Nice :good: and thank you.

Edit- before you had mentioned resizing the image file. Can this be done on the device or is it better to do that through a PC?

Check your PM

You can resize on device but I don't know how but you can resize it using this guide http://www.techpository.com/?page_id=1142. Instead of mkfs.ext2 use mkfs.ext3
 
Last edited:
  • Like
Reactions: S0AndS0

S0AndS0

Senior Member
May 7, 2012
269
77
Check your PM

You can resize on device but I don't know how but you can resize it using this guide http://www.techpository.com/?page_id=1142. Instead of mkfs.ext2 use mkfs.ext3

Nice, downloading and going over the directions again, really appreciate that you compressed the file :) it'll be nice to get to testing (about 8% into the download now)

Update 08292013- LNMP server + Sprints' network (3G or 4G) = working for dbgui and sample page loading.
Note to all readers: this is memory intensive on the device running these services so freeze and or force close and or uninstall anything not required for your uses.
Curently this works as advertized using the device's IP for 3G or 4G as the web address and works great though slowly at times.

Update 08312013- found another Q&A for ssh over 3G regarding the IP address issues
http://android.stackexchange.com/questions/32794/how-to-ssh-into-android-from-a-different-network
And another link for finding IP's... only with a program/script for android, which might get you both internal and external IP's
http://chandan-tech.blogspot.com/2010/12/finding-ip-address-of-your-android.html
And another link to one that will show the external IP
http://code.google.com/p/external-ip/source/browse/src/org/kost/externalip/ExternalIP.java

Also found conversations on the web that confirm that Sprint's external and internal IP are indeed the same; explains why I had no problems making a connection. I'm thinking that if we write a bit of code to update a port forward between the two IP's for your device then maybe a long term solution can be forged, but that's only if we can confirm that port forwarding is even a solution... Hmm, more research :D...

this one talks about sshing twice...
http://www.hackinglinuxexposed.com/articles/20040923.html
It's possible to use an SSH LocalForward to tunnel through the firewall device. You run ssh twice, once to set up the tunnel, and once to connect to the server behind it:

Update 11am- found another link for some complex port forwarding
http://portforward.com/help/doublerouterportforwarding.htm
this one comes with pretty pictures and I'm thinking that if we sub out the routers for towers and devices we might be able to correctly map how to forward things so that the IP for 4G is seen by Android/Linux and the outside world. Still working on it and I'll be modeling this kind of thing through my devices and see if I can finely host a server on my HTC (which doesn't have anything but wifi or bluetooth for connectivity (till I figure out how to hack that that is ;) )) and have the network chatter pass through my Epics hotspot. Should be enlightening/educational for me :D...

Update 3 pm- found a fantastic guide on punching thru Tmobile fire wall
https://grepular.com/Punching_through_The_Great_Firewall_of_TMobile
Don't know if it'll still work but it seems like a lead on how to better debug the connection issues.

Update 5 pm- started compiling my experiances with Lil Debi and LNMP into the main guide on google docs (section 1:6:*) ... and just waiting on my other source of internet to come on back so I can continue testing LNMP through hotspot.

Update 09012013- after cooking three phones with connection attempts I'm no closer to connecting from outside when a device is hidden behind a hotspot... Did find this app though that shows the internal and external IP for devices, among other info
https://play.google.com/store/apps/details?id=aws.apps.networkInfoIi

Update 09022013- just punched the clock at work. I'll see about adding more to the main guide about Lil Debi and LNMP, brain is a bit fried though at the moment, if I can get more info on the network that your using Almazick I'll keep looking for solutions that don't involve setting up a VPN to a PC but at this point to realize your goal I think one of two things can happen-
1 can try the service provider; its a pain in the butt but if you want help I can join in on that; use to work in the cellphone sales side of things so I've picked up how best to talk to support departments so that time isn't waisted on an ignorant represinitive just saying "no I'm sorry we can't do that"
2 can try a prepaid. Nextel runs off Sprint's network and one other one I've seen runs off Sprint or Verizon (coverage maps on the back of the boxes for the same companies are different in colours used and coverage advertised) which also might work... fun thing about option two is that some of the prepaids are so cheep (per-month) that its possible to set one up and run it somewhere that people won't see... but that's more applicable for other projects, like remote pen testing and honey pots.
Update 09042013- going camping for a few days again. Should come back with a new script to share by Saturday :)
Update 09072013- back from camping; got to watch fishes spawn not more than 50 feet away from the camp site, video footage will be compiled by my partner and then be made available through Google+ for those that are interested in watching the struggle for life... In other news I finished another script; this one will seriously mess with the lists of repositories available for ARM based Linux that you can install packages from. Full list and link will be edited in in a few minuets here. As always its use at your own risk, however, the way that it's written most of the modifications can be undone completely after installing the desires packages, so it's kinda like being able to dip ones' tow into a "testing distribution" state and flinch back if it gets bad ;) ... I'll have Wednesday and Thursday off from normal work duties and the evenings off on Monday and Tuesday; I plan to work out LNMP on Debian Kit Squeeze, and work out running a virtual privet network off one device so I can connect from outside into another device that's connected to it... hopefully through 4G and I'll be looking more into the direct connection methods that don't use Bluetooth or wifi; such as 3G, 4G, USB, but from what I've learned so far if you (the reader) want follow down this path, then you'll want to likely download kernels and drivers specific to your hardware, I'll document what I use and note generic versus specific so readers know where to make modifications to that guide...
Edit- here's the link to that script I was talking about
https://docs.google.com/document/d/...HIO9sXyfOW1YmVEQnJg9728/edit?usp=docslist_api

Update 09102013- been doing the work thing for the past few days, got a few more hours to put in and then I'll be able to share the latest script I've been working on. The latest script I've been working on will install NoFlo to ARM Linux devices, NoFlo is a flow based way of programming, the developers have just reached their kickstarter goal and one of their examples includes flight control software for quad copters. So yeah I got distracted for a minuet on this subject but it'll be worth it ... :) be back in a bit...

Update 09112013- lots of time spent scripting an installer for NoFlo for ARM Linux devices; nearly done, all the functional parts from guides or instructions have been wrapped up in such a way that they can be manipulated or run by another script. The first release will be a bit dangerous to run multiple times (still figuring out how to script checks before writing to a file) but when I get that figured out all other scripts that I've written will get smarter :D ... Link to draft will likely be posted tomorrow; have it off :) from normal work duties

Update 09122013- The link for the installer script for NoFlo is here
https://docs.google.com/document/d/...AKU5Ij5HHvKqmoF2BTvEBGo/edit?usp=docslist_api
Note though that it's still unfinished at this point. I'll be updating it shortly and finishing it up soon so do check on it over the next few days for updates.
I'll be incorporating it into the all in one script and likely re-writing that script some in the coming days as well. My hope is to have a script that prompts for the things you (the user of the script) want installed, then takes care of everything (dependencies and such) in an auto-detect and auto-fix fashion.
Oh and some notes I used to write the above script
https://docs.google.com/document/d/...Sb2qouWpLv7HIWJ9IfJFwnI/edit?usp=docslist_api
be back off work on Saturday again this week

Update 09132013- happy Friday the thirtieth readers :) this upcoming Thursday Wednesday and Tuesday I'll have off from normal work concerns, furthermore, I've been invited to attend a Kali training class on Thursday so very soon here I'll have some new knowledge to drop on you all about live boot USB; I'll be looking at ways to merge this learning into ARM based systems and other fun things related to pen-testing wile on the go.

Update 09242013- have been dealing with loans and such or a continuation of life BS interrupting normally scheduled developments... Meh that's life though, still checking in daily for questions so feel free to comment and I'll respond, and still doing my own testing but nothing worth reporting on... I'll be getting back into heavy writing again when finances allow me to have more time, likely in another week or two :eek:
 
Last edited:

S0AndS0

Senior Member
May 7, 2012
269
77
Update 10242013- so it's been a little wile; I've been working to make a NoFlo install script and it's nearly ready to share (de-bugging status) and been working to refinance my car (lame stuff I know) but I'll be online daily for Q&A if anyone runs into issues with the current info/scripts posted here.

Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
 

ppmendonca

Member
Nov 18, 2013
12
1
Debian on Limbo without external access

As a noob I probably was incopetent to find the answers I need, but I honestly tried for days before asking.
I installed Limbo and gotten Debian to run on an Asus TF300TL w/o rooting it. Unfortunately I can't access the internet (mount only shows lo) via my wifi router or access the usb pen drive or internal memory. This precludes any package installation etc. Everything I've tried ends up saying "network innaccessible" sonner or later.
So I'm in an unknown dark (command line) room with no doors or windows. I'm not even sure if I'm asking the right questions in my searches.
My ultimate goal is to run Moneydance in my Android tablet as part of getting rid of Windows. (Android is still shy of replacing it but I'm getting close.)
All help is much appreciated.
 

S0AndS0

Senior Member
May 7, 2012
269
77
I'll see if I can't replicate the network issues with Limbo.

Some things you might want to try:
~ try rooting your device (if possible)
~ try a different distribution (Ubuntu 12.04 was a bit tricky to get installed but worked on my Epic 4G)
~ try a computer assisted install... its covered in part of the guide here; short story, use a PC running a virtual machine and install the distro you want to use on your device to the VM's hard drive (image file), convert the image file to the file format understood by Limbo, transfer the converted image file over to your device and boot with Limbo... this took me more than 5 hours to do but was the best method for getting a "clean install" of Linux running with Limbo.
~ if you do achieve root perhaps try Debian Kit app (runs armel) or lildebi (runs armel or armhf) as these are designed to perform an over network install of Linux.

I've the day off from normal work for this Friday and Saturday and will be back with more help soon :)

Update 11pm myTime- checked with a few Google searches related to your device, looks like support and documentation is a bit sparse, did find one helpful link if ya end up in a bricked situation-
Un-brick instructions
http://forum.xda-developers.com/showpost.php?p=44244313&nocache=1&z=9056634965818376

And from what I've read the next link has a guide for root-
http://forum.xda-developers.com/showthread.php?t=1706588

On the moneydance side of things... Found that Java is bundled into the normal install and has had issues because of this, however, there be a guide already for where to download a Java free version-
http://help.infinitekind.com/kb/frequently-asked-questions-2/moneydance-2011-on-ubuntu-1110-and-1204
Note though that if using a distro not designed for PC (like those from apps other than Limbo) you'll want to use the methods for installing arm compatible forms of Java instead of the directions given in the above link.

Update 11/22/2013- so got Limbo up and running on my device again and have some help for your network issues.

When first opening the app (limbo) on the "main screen" scroll down to "network configuration" and check that it says "user" and not "none", then just under that you'll see "network card" here I use "ne2k_pci" but you may find that another card setting works better. Try fiddling with those settings and then booting into Linux.

And let me know if ya need me to load up screen shots or a working hard drive image.

Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
 
Last edited:
  • Like
Reactions: ppmendonca

ppmendonca

Member
Nov 18, 2013
12
1
This is what I've tried - unsuccessfuly

I'll see if I can't replicate the network issues with Limbo.

Some things you might want to try:
~ try rooting your device (if possible)
~ try a different distribution (Ubuntu 12.04 was a bit tricky to get installed but worked on my Epic 4G)
~ try a computer assisted install... its covered in part of the guide here; short story, use a PC running a virtual machine and install the distro you want to use on your device to the VM's hard drive (image file), convert the image file to the file format understood by Limbo, transfer the converted image file over to your device and boot with Limbo... this took me more than 5 hours to do but was the best method for getting a "clean install" of Linux running with Limbo.
~ if you do achieve root perhaps try Debian Kit app (runs armel) or lildebi (runs armel or armhf) as these are designed to perform an over network install of Linux.

I've the day off from normal work for this Friday and Saturday and will be back with more help soon :)

Update 11pm myTime- checked with a few Google searches related to your device, looks like support and documentation is a bit sparse, did find one helpful link if ya end up in a bricked situation-
Un-brick instructions
http://forum.xda-developers.com/showpost.php?p=44244313&nocache=1&z=9056634965818376

And from what I've read the next link has a guide for root-
http://forum.xda-developers.com/showthread.php?t=1706588

On the moneydance side of things... Found that Java is bundled into the normal install and has had issues because of this, however, there be a guide already for where to download a Java free version-
http://help.infinitekind.com/kb/frequently-asked-questions-2/moneydance-2011-on-ubuntu-1110-and-1204
Note though that if using a distro not designed for PC (like those from apps other than Limbo) you'll want to use the methods for installing arm compatible forms of Java instead of the directions given in the above link.

Update 11/22/2013- so got Limbo up and running on my device again and have some help for your network issues.

When first opening the app (limbo) on the "main screen" scroll down to "network configuration" and check that it says "user" and not "none", then just under that you'll see "network card" here I use "ne2k_pci" but you may find that another card setting works better. Try fiddling with those settings and then booting into Linux.

And let me know if ya need me to load up screen shots or a working hard drive image.

Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey

I've been avoiding rooting the tablet on acount of being a noob and not having confidence that I'll get MD to work, even if I do.
I used a ready made Debian image (http://sourceforge.net/projects/bochs/files/Disk%20Images/Debian%20Linux/debian-3.0r0.tar.gz/download) because I don't believe I'll be able to get it right the first time (specially inside a VM). I configured Limbo as you suggested above and tried all the network cards with the same results. I can send screen shots of this configuration if needed.

The readme.txt file wasn't helpful in a way I could understand:
--------------
Debian 3.0r0 image from Robert Millan

This is a 504MB image of an x86 Debian GNU/Linux 3.0 system. The
root password is blank. Note that the ips value is 3 million --
although this is higher than my hardware (PIII 600) is capable of,
the kernel sometimes hangs while calibrating its delay loop with
lower ips values.

December 2002: repacked by Eric Northup in preperation for the
Bochs 2.0 release.

Notes from Bryce 12/15/2002:

Networking is installed in the guest OS, but you will need to turn on an
"ne2k" line in the bochsrc before you can use it. Then in the guest OS,
set up the ethernet interface. The correct network setup depends on
how your physical network is organized. For example, let's say the
local network is 192.168.0.xxx, you know that 192.168.0.99 is unused, and
The gateway machine is 192.168.0.1. Then these commands would work to set
up networking inside the guest OS.
# ifconfig eth0 192.168.0.99
# route add default gw 192.168.0.1
Edit /etc/resolv.conf to point to your nameserver.

X windows is installed and configured. Just type startx to start it.
The installed X server needs VESA support; to get VESA support in Bochs
you must use the LGPL VGA BIOS.
- hint: use "nohup startx" to save any the error messages

I set up "apt" to download new packages from the network instead of
from cdrom. If you have debian cdroms, you may want to uncomment
the cdrom lines in /etc/apt/sources.list. To install new packages
type "apt-get install PACKAGE".
--------------

I've also altered the bochsrc.txt file as per the instructions in the readme.txt file that was part of the Debian download package:
------------------
megs: 32

romimage: file=$BXSHARE/BIOS-bochs-latest

# with the LGPL BIOS, X windows can be used
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

floppya: type=1_44

ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="debian-3.0r0.img", cylinders=1024, heads=16, spt=63
# ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted

boot: c

log: bochsout.txt
panic: action=ask
error: action=report
info: action=report
debug: action=ignore

pci: enabled=1, chipset=i440fx

vga: extension=vbe, update_freq=15

keyboard: serial_delay=250, paste_delay=100000

cpu: ips=15000000

clock: sync=slowdown

mouse: enabled=1

# Networking: Choose one that is supported on your host OS and uncomment it.
# ne2k: ioaddr=0x280, irq=5, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
ne2k: ioaddr=0x280, irq=5, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
# ne2k: ioaddr=0x280, irq=5, mac=b0:c4:20:00:00:00, ethmod=vnet, ethdev=
# ne2k: ioaddr=0x280, irq=5, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
# ne2k: ioaddr=0x280, irq=5, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
# ne2k: ioaddr=0x280, irq=5, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=tun0, script=./tunconfig
------------------

I've failed to give what might be an important piece of info: my tablet only has access to the internet via wifi. It doesn't even have a ethernet socket.
I've been reading up on getting wifi to work on this installation but only got more frustrated. It seems I have to do some sort of configuration on the host OS (Android 4.1.1) that is beyond my current knowhow.

Another detail is that I don't have USB Debbuging on.

The versions on my tablet are:
Android 4.1.1
Baseband 33500_0.38.0_0117
Wifi v7.1.0.65
Kernel 3.1.10
android@Venus))
#1 SMP PREEMPT Teu Feb 5 20:30:51 CST 2013
Build number JRO03C.US_epad-10.4.3.10.7-20130205

My Wifi connection has an IP 192.168.0.13 and is WPA / WPA2 PSK.

I didn't quite understand your comments on the Java aspect of the MD installation, if and when I can get Debian to run.
Being it the case that MD was written in Java, should I consider installing a Java emulator instead of an OS emulator?
 
Last edited:

S0AndS0

Senior Member
May 7, 2012
269
77
Well don't worry about rooting just yet, I know it can be a bit daunting the first few times, instead try turning on USB debugging or a different distro.
Those are the fastest things you can try and if you go down trying a different distro I would suggest DSL (damn small linux) it is very small and very compatible; this will test against whether or not it's Debian giving you issues.
Now on the more time consuming side of things; "1:5:1:2-2 Method two: use a computer to make a virtual install" this will take a little time but will result in a fully functioning Linux install just waiting to be logged into, just don't forget step 25 (converting the file to something Limbo understands)... the reason I suggest this is because, with my testing, I found that trying to install Linux onto a virtual drive all on a cellphone would hang up or get killed off if Android decided that Limbo wasn't responding anymore, so using a PC to do the heavy lifting, with my testing, resulted in a good install that could then be run on half of my devices (for ubuntu and all of my devices for DSL).
I've read over the attached readme file and also checked out the project website some; definitely try a different source for your Linux distro, because it looks like the ones there are for their own form of emulation software... but I could be wrong... still it looks like what they're doing is emulating a PC experience on a different kind of device set other than phone or tablet.

I've atached some links here
DSL (Damn Small Linux)
http://www.damnsmalllinux.org/download.html
Post on Limbo (if veiwing on a PC try hitting the "Ctrl" buttong and the "f" button to bring up find and past in "1:5:1:2-2" to skip right down to the manual install part)
http://forum.xda-developers.com/showpost.php?p=40434524&postcount=3

I'll be picking up a tablet and not rooting it soon, found a quad core for less then $120, and I'll be not rooting it at first to see if Limbo will work without root permissions... currently all my devices are rooted and are going to remain that way so this will be the fastest way for me to test, likely the 5th of this upcoming month I'll be able to pick one up :) and get to testing that side of things not long after (I've the 6th off ;)) soooo in the meantime I'll be poking around the innards of the distro's I've installed and look for the "bochsrc.txt" file and see if the configuration differences shed anymore light to this situation ... compare a working one to a non-working one and I may see something..

oh and please do put up some screen captures, I'll be posting some shortly as well, but be sure to scrub or sensor anything having to do with your real MAC address or IP address because we may not be the only ones reading this.
....and speaking of other readers, if you're wondering about the NoFlo installer script for ARM and Raspberry Pi, well it's done but for some reason the app (yep still hunting for the one) that I've been testing that does color coding over the top of the text based on what the text should do (I think it's called syntax highlighting) does a great job of ensuring I don't forget a " or ' but upon saving for some reason will save the color coding along with. This means that after saving and then running the color coding is interpreted and causes errors :( so I'm going back through and transcribing the lines into a new file and I should have a link up for it by the end of this Monday. If anyone has a suggestion on a free app that does syntax highlighting without touching the data in a bad way I'd be grateful...

Back on subject though I'll be testing the software you are wishing to use on my HTC device with Debian Kit and reporting back as to whether or not this will really be a solution for running Monneydance. And as far as a Java emulator; I've not tested any nor seen any for Android, really my comments on Java has to do with how you install it and to what system and flavor of Linux it's installed to... hmmm... this is one of those subjects that I should probably write a guide for because if you're using an emulated experience then you'll want to grab a java variant for the hardware you're emulating but if you're not emulating hardware then you'll want to grab a java built for your chip set... that really doesn't explain things thoroughly though, because within each experience (emulated vs native) there's an opensource version of Java (try "apt-cache search openjdk" in a terminal window) and there's the one released by Oracle ...but that's just the middle layer to this complex option tree you can follow, because if you've gone for a native experience (meaning something like Lil'Debi or Debian Kit) and then tried finding a source to install from from Oracle (which was a bit tricky) you'll find that there is a "HS" and "SF" version for most of them (hs is hard float and sf is soft float) and each has some advantages depending on whether or not the Linux distro your running is also sf or hf capable.... yeah I'll have to write something up for this; for now don't worry about it instead try to get Linux up in some form and I'll get to testing Monneydance so we know whether or not it'll be worth the time :D

Update 12092013 I popped down to a large retailer and picked up a cheap 7'' tablet, Sero 7 pro, heres whats been done so far.

- installed Limbo; that was a trick because it looks like its been taken off the market place. Then downloaded DSL, the latest stable candidate release and preceded to boot right into a Linux GUI without having root or supper user permissions. From there I checked internet connectivity, responsiveness, and a few other things... I'll see about posting a screen cast in a bit.
My impressions of Limbo on the whole are unchanged; even on a quad core things where very sluggish, internet works but I've doubts on whether or not any networking can be done on it, still a big drain on the battery. I will likely fiddle with the settings some and perhaps get something functional to work on.

- because I can I rooted the Sero and installed Debian Kit with Debian Squeeze installed to a 1gig disk image on the internal SD, the speed difference is very perceivable, in comparison to my myTouch which was functional the Sero is friendly to run Linux on. I'm currently downloading Java, jdk 7u45 soft float, to the Sero and will be grabbing Moneydance and some of the previous things I've tested.
Unfortunately I've been unable to install Java on the devices I had it installed to previously; for some reason I opened my install scripts on both devices with an app that colorizes code, which makes the script unusable... but the Google docs ones should still be untouched so I will be using copies from there and get it done soon.

- In other news not directly related to Linux but instead related to user interface.
I tested and spent many a search query to find a way to connect wirelessly the physical keyboard of one android device to another android. Meaning that when I type on my old phone, text then is placed in a text field on my new tablet. Well after much testing I found a winner, and it does so much more like a virtual mouse and a clean interface for transferring files between, so I share it here because it has made running Linux on a tablet very much like having a laptop that separates.
On the side of the connection that you want text or other inputs input, for me this is my Sero.
https://play.google.com/store/apps/details?id=com.jhlv.LimitlessRemoteService
And on the side that you want to send inputs from, for me this is my my touch.
https://play.google.com/store/apps/details?id=dh.ControlPad.main
The instructions are easy to find and follow and both apps work great... though I still use the touch screen for mouse inputs on the device that is running Linux... This app is also how I wrote all the edited text in this post too, had my tablet and phones telling each other what to do :D
And if gaming controls is more important then the next link is to the one app I found to be the best on function, speed, and user friendlyness.
https://play.google.com/store/apps/details?id=com.tournesol.tabletremote
So far I've tested this gamepad remote app on emulators for; SNES, Geniuses, N64 and it works well.

Well looks like the download is done, time for me to install somethings :)
 
Last edited:
  • Like
Reactions: ppmendonca

ppmendonca

Member
Nov 18, 2013
12
1
I haven't had issues with using the TF300 keyboard (removable) or the touch screen in the VM environment. So I' don't see a need to use my phone to control the tablet. But I'm amazed you could do it!

I tried to use the DSL but got no where too. I should mention that although I started my computer life on Apple Basic it's been so long I've bben in a GUI that command line usage is a liability for me. Couple that with a total lack of knowlegde of the underling softwares and standards and you get the worst kind of noob.
I'm not even sure what kind of screen shots would be useful. There were times when I recorded video of the tablet screen with my phone when booting just so I could read what was going on before the screen scroled up.

I don't have a PC at home any more. If I need to prepare a disk image (or anything else) outside of Android I'll have to do it at work (behind a hefty firewall) or borrow a PC. If that is the case please let me know so I can prepare for it in advance.
 

S0AndS0

Senior Member
May 7, 2012
269
77
I haven't had issues with using the TF300 keyboard (removable) or the touch screen in the VM environment. So I' don't see a need to use my phone to control the tablet. But I'm amazed you could do it!

I tried to use the DSL but got no where too. I should mention that although I started my computer life on Apple Basic it's been so long I've bben in a GUI that command line usage is a liability for me. Couple that with a total lack of knowlegde of the underling softwares and standards and you get the worst kind of noob.
I'm not even sure what kind of screen shots would be useful. There were times when I recorded video of the tablet screen with my phone when booting just so I could read what was going on before the screen scroled up.

I don't have a PC at home any more. If I need to prepare a disk image (or anything else) outside of Android I'll have to do it at work (behind a hefty firewall) or borrow a PC. If that is the case please let me know so I can prepare for it in advance

Really its all about keeping screen uncluttered for me, having a keyboard on screen knocks half of the screen size when I use it so I went on the hunt for solutions.

Heh, I started on an Apple II GS, back in the days when floppy disks where floppy :) I think I've still got it kicking around somewhere... With DSL all one needs to do on the command line is tap enter when it first starts up, oh and in limbo's settings be sure to set the boot preference to CD and put the DSL ISO in the virtual CD tray, this will keep the VM from trying to boot off a hard drive that doesn't exists yet.
Edit: when DSL boots the screen will first have a welcome screen asking for your input. Pressing enter will boot off the CD image (the ISO file) into what's called a "live boot" which loads the default GUI. Note though that you'll still have to wait for that to happen because after pressing enter on the first screen (the one that has a penguin) your screen is going to fill up with text and eventually a green bar will show progress. After that things will tweak out and everything will go gray with an 'X' somewhere near the middle; everything is OK, slowly the gray will get painted in by a background with gears, a window opened to DSL's help to the left, and flickering status bars to the right. At this point you'll likely need to fiddle with the mouse control and the screen size; pressing menu on your device should bring up the options to make the adjustments. Let me know if I need to go deeper into how to customize Limbo because sometimes it's tricky.

Been there a few times, trying to record a screen with another camera, it's tricky and why I've been testing Android screen cast apps; not one has worked for me yet. I may end up taking some boxes and a knife and make some kind of stand that also allows me to control how much light hits the screen so I don't end up fighting with glare.

Well I'll try to send you an install of Ubuntu 12 that is still on my Epic 4G's SDcard.... tough not having a PC but we should be able to work it out, just PM me an email I can send a file under 70mb to and I'll attach the file with the username and password; this file will be in qcow2 format and should be placed as the virtual hard drive to boot from.
Edit: just tried to boot the qcow2 image and it didn't work, I'll check my backups and if one isn't available I'll make a new one.
Edit: backup found :) I'll not be compressing the file so the size is going to be 327MB and I'll test to see that it boots before sending Ubuntu your way.
Edit: well darn looks like I should make a few Limbo installs (my backup didn't work) do you have any requests? I have this Friday off and can set up just about any 32bit flavor of Linux and get it converted to Qcow2. Currently I've access to Kali, Ubuntu, and DSL... DSL from what I remember is not designed to run off hard drive, more of a live boot tool, Kali is designed for pen testing (penetration testing of networks) and Ubuntu is an everyone OS with support for almost any kind of user. But if you've a flavor of Linux that you'd prefer I can download and install and convert that instead.

Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
 
Last edited:
  • Like
Reactions: ppmendonca

ppmendonca

Member
Nov 18, 2013
12
1
I've recorded 4 videos of the 4 softwares I tried to run Linux in and am uploading it to Google Drive (link). Two seem identical and the Limbo one seems like the one that is working the best (Debian).
Regarding the flavor I don't know enough to choose. It seems it would either be Ubuntu (generic) or DSL (smallest), but I leave it up to you. I greatly appreciate your attention and effort in trying to help me.
I'll try to PM you for an e-mail.
 

S0AndS0

Senior Member
May 7, 2012
269
77
Re: [Guide] Debian Kit & Limbo PC Emulator (QEMU x86)

I've recorded 4 videos of the 4 softwares I tried to run Linux in and am uploading it to Google Drive (link). Two seem identical and the Limbo one seems like the one that is working the best (Debian).
Regarding the flavor I don't know enough to choose. It seems it would either be Ubuntu (generic) or DSL (smallest), but I leave it up to you. I greatly appreciate your attention and effort in trying to help me.
I'll try to PM you for an e-mail.

I've watched the videos provided; what are the other apps you've tried? I could see that they ended in errors but some of the info is blurd or washed out... it could very well be a matter of root for the other apps.
Well I've been working with Ubuntu and virtual box for most of the day, had to pull an old hard drive out of storage, and have been trying to get Ubuntu to install onto a .vdm file... looks like I'll have to clear out some space because Ubuntu wants no less than 4.4gigs to install to and I'll be making a conversion; so I've been trying to install using the Sero tablet I've got wile sitting on loading screens and removing enough stuff off my laptop to make room for the next attempt for a PC assisted install.
Wile I'm doing this it might be a good idea to try a "live boot cd" Linux distro, most flavors offer them in the downloads, these are ISO files that can be run as is by loading them in the virtual CD tray on Limbo. I'll see about posting links for some in a bit... right now I've got to make some diner for the house...

Update 12152013- grabbed a link for Ubuntu 32bit OS
http://www.ubuntu.com/download/desktop/questions?distro=desktop&bits=32&release=lts
Download the iso and put in the CD tray of Limbo and change Limbo's boot preferences to boot from CD and this should eventually boot right into a GUI for a desktop and for installing to a virtual hard drive. Note; be sure to keep the internet off on your tablet if you're going to try the install or Ubuntu will try to download updates, which will take much longer, instead try booting into it to see if it works :) I'll be off work earlier today and will get back to trying to make you a working qcow2 image.
Edit: it might be better to aim for an older version of Ubuntu, looking through the install requirements, and it looks like version 10 from the following link will have less requirements on the virtual system. Note; be sure to grab the 32bit version (for x86 processors) if you choose this option because I don't know that the 64bit option will work or not on Android.
http://releases.ubuntu.com/lucid/


Sent from either my SPH-D700 or myTouch3Gs
Debian Kit/QEMU Linux Install guide for all android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Now have working Installers for ARM Java 7 JDK + Maptools + jMonkey
 
Last edited:

ppmendonca

Member
Nov 18, 2013
12
1
I got hold of a Windows laptop and used motochopper to root my TF300 without unlocking the bootloader. The worst part of it was getting windows to recognize the tablet! Once that worked it was a matter of minutes.
I then tried all the other softwares from the videos with exactly the same results.
By the way, here are the softwares I used:
video 221800 = libSDL running FreeBSD
video 222021 = Emulator running FreeBSD
video 222539 = Limbo running FreeBSD
video 222731 = Limbo running Debian 3.0

I didn't get any images from you. Did you send any?

I tried another software called Complete Linux Installer running Ubuntu 13.10 (Large and Small versions), but it didn't start up. It seems there is something to do with the checking of the img file done with the md5 file under the Terminal Emulator, which fails. It leaves me in at a command line within the android file.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    [Guide] Debian Kit & Limbo PC Emulator (QEMU x86) for Dual-booting Linux on Android

    Note to mobile readers: view in light mode with XDA app (settings, near the top), view online with a browser (press menu and view online), or download google drive from the marketplace and follow the link to the main document in this guide, you should be prompted what to open that link with, choose google drive and you'll be greeted by an very friendly formatted and constantly updated guide. You can also check a box within the google drive app that allows you to view offline... and on with the show.Legend/Key/Guide for Guide
    Yep that's happening. This is designed to avoid most questions about the excessive use of colour coding throughout the guide.
    Orange text=
    chapter titles & section titles.
    Yellow text=
    things that are partly under construction but complete enough to be used with caution
    Red text=
    under construction and for education purposes only when used in the table of contents
    Or
    Red text=
    example command that should be modified based on system that you are running on before being used
    Green text=
    complete aside from a missed or stray preposition.
    Cyan text=
    text that can be copy/pasted into a terminal without any modification except for 2 cases

    • Cyan_text&Red_text=the red text should be modified for your system before use
    • # and $ should be ignored when copying as that symbol will already be on your terminal
    Blue text=examples of what your terminal will output when using a supplied command. This is contextual to the guide and I try to include the command once in the document and a second time near the top of the dump.
    Or
    Blue text=
    when used in table of contents denotes things that likely are completely aside from making additions and are low on the priority list to update for the author of this guide.
    Grey text=
    are full dumps of what a command should output and do without errors. These dumps have a reference pointer at the beginning of each so that you may find where in the guide they their relevant to
    Pink text=
    when used in the table of contents this is to show what sections are completely new.
    Note to mobile readers: view in light mode with XDA app (settings, near the top), view online with a browser (press menu and view online), or download Google drive from the marketplace and follow the link to the main document in this guide, you should be prompted what to open that link with, choose Google drive and you'll be greeted by an very friendly formatted and constantly updated guide. You can also check a box within the google drive app that allows you to view offline... and on with the show.

    Link to Full Guide on google docs:

    https://docs.google.com/document/d/1ssVeIhdBuuy8CtpBP1lWgUkG6fR6oHxP20ToYPPw6zI/edit?usp=sharing

    Link back to XDA thread

    http://forum.xda-developers.com/showthread.php?p=40434313#post40434313

    Public Editable doc

    https://docs.google.com/document/d/1CIkOT7iX62z8fpDckoYCw48UtIImjhzG6IJN6E6Qe2E/edit?usp=sharing


    [Guide] Debian Kit & Limbo PC Emulator (QEMU x86) for Dual-booting and more
    Draft2 Linux android multi-node cloud computer tutorial.
    Contents
    1.Setting up base system(functional/\under construction)
    1:1 Updates (05202013) XDA Sync happening 8:30pm- added subsection 5:10. added descriptors to section 4:4:* Added/Completed two new mini guide to section 1:5:1:*{{XDA content sync happened 05182013} google document sync will happen after some time}
    1:2 - Downloads for android device (functional)
    1:3 - Installing Linux system to Android Device (functional)
    1:3:1 Verify no major errors are present (functional)
    1:3:2 Start ConnectBot (functional)
    1:4 Manual install (functionally complete/partially under construction)
    1:5 Other methods of running Linux alongside Android (All sub sections Under Construction)
    1:5:1 Using Limbo PC Emulator (QEMU)
    1:5:1:1 Apps & Files to download for QEMU
    1:5:1:2 QEMU Linux Install Guide
    1:5:1:3 QEMU Linux Setup Guide(new)(functional)
    1:5:1:2-1 Method one: Install to virtual hard drive with QEMU(new)(functional)
    1:5:1:2-2 Method two: use a computer to make a virtual install(new)(functional)
    1:5:1:4 QEMU Integrating with the rest of Main guide
    1:5:1:5 QEMU tips and tricks
    1:5:2 Using Complete Linux Installer
    1:5:2:1 Apps & Files to download for Complete Linux Installer
    1:5:2:2 Complete Linux Installer Installer Guide
    1:5:2:3 Complete Linux Installer Setup Guide
    1:5:2:4 Complete Linux Installer Integrating with the rest of this guide
    1:5:2:5 Complete Linux Installer tips and tricks
    2:1 installing packages before devstack or openstack (Under Construction)
    3. Setting up cloud system(Under Construction)
    4:0 Sites that have been exceptionally (updates contently)
    4:1 apps for android that make things easier (functional)
    4:2 linux software and or packages that I've tested (under construction)
    4:3 commands for apt-get and others I've found useful (functional)
    4:3:0 Android command line commands (new)
    4:3:1 Apt-get commands (functional)
    4:3:2 Command line commands for linux (functional)
    4:3:3 Connectbot optimization guide (functional)(newly modified)
    4:3:3-1. Linux Boot/Mount automation (newly modified)
    4:3:3-2 Linux Un-mount/Kill automation (newly modified)
    4:3:3-3. Connectbot “Local” SSH setup (newly modified)
    4:3:3-4. Other good combos to use after using 'linuxBoot’ (newly modified)
    4:3:4 Remote RDP debian kit guide (functional)
    4:4 Rom Tool Box user Tips (brand new and no where else)
    4:4:1 Scripts (new content)
    4:4:2 Performance Mods (under construction)
    4:4:3 General guidelines (under construction)
    4:4:4 Useful tips (under construction)
    5.Debugging\Known issues with solutions(Constant Construction:Completion Relative)
    5:1 debian install problems
    5:2 debian manual install issues
    5:3 additional packages problems
    5:4 reinstallation problems
    5:5 How do I solve [My device/linux] issue(s)?(functional)
    5:6 How to do a dump like the author?(functional)
    5:7 Can I use this to completely replace my Android OS(new/\functional)
    5:8 How do I add repositories to Debian?(new/under construction)
    6:1 Introduction
    6:2 Disclaimer
    6:3 Note to forum Moderator
    6:4 Statement of long term goal for this project
    6:5 Distillation of current project completion
    7:1 Connection Methods(under construction)(Mini-intro added)
    7:1:1 Connecting locally
    7:1:2-2.1 Connecting wirelessly through wifi(functional)
    7:1:2-2.2 Remote RDP in from a second computer (New)(functional)
    7:1:3 Connecting wirelessly through bluetooth(Mini-intro added)
    7:1:4 Connecting wirelessly through data network
    7:1:5 Connecting wirelessly through atana directly
    7:1:6 Connecting through USB with computer
    7:1:7 Connecting through USB with USB host mode
    7:1:8 Connecting through visible light spectrum
    7:1:9 Connecting though invisible light spectrum(New links added)
    7:1:10 Connecting though directed/focused light
    7:1:11 Connecting through audible sound
    7:1:12 Connecting though inaudible sound
    7:2 Customization of GUI(under construction)
    7:2:1 Saving Electrons(functional)
    7:2:2 Making it Pretty(functional)
    7:3 Making things happen without excessive user input(under construction)
    7:4 Methods of installing or unpacking(under construction)(New)
    7:4-4. Installing from sources.(functional)(New)
    7:4-4.1 Unpacking tar.gz files(functional)(New)
    7:4-4.2 Installing Java for ARM from source(functional)(New)
    7:4-4.3 Adding Commands to Bash(functional)(New)
    7:4:4.1- Installing Map Tools(under construction)(New)
    7:4:4:2 Solved Installing jMonkey on Android(functional)(New)

    8.Sources of information and content(functional, nearly up to date)
    8:2 Dumps I’ve taken and Pictures worth sharing (under construction)
    8:2:1 example: installation without errors (complete)
    8:2:2 Example of running fdisk -l (complete)
    8:2:3 Example of running mk-debian (complete)
    8:2:4 Example of the first time you run deb command (complete)

    1:1 Updates

    Here I’ll try to keep you up to date with where I am with this project. (Date) in the table of contents reflects the last time that I made a significant update to this guide. {notes} in the table of contents states the nature of the update, if the change is significant it will be referenced here so that you may find the modifications to the guide quicker.
    UPDATES APPENDED: see Main Doc for full list of all updates.

    05182013- manual install of java has issues with running '.jar' files from the command line, there seems to be another version or method to try or it may be a matter of downloading and applying new libraries to the java install itself, I'll be trying bothe (first the lib or dependency search) but will also end up doing a reinstall of the entire debian os again. Installing from source packages is very use at your own risk and running ontop of a rooted android which you've already been warned is use at your own risk; seems like it be risky, yep, but I've yet to re-root my device for what feels like 2 months (I tell you this because I believe the install instructions to be nearly complete and completely reliable) installing things after that seems hit and miss but so long as you're not foolish much of this guide elsewhere is safer than instructions found elsewhere.
    Did some polishing of section 7 and added usefull links that I hinted in the past.
    Moved section 6:6 Legend/Key/Guide for Guide to the top of the guide, mostly so I can keep the formatting consistent without loading back and forth between sections. Going to Update the XDA forum posts tonight, Google to google sync still pending...
    05192013- Added some links to section 4. The commands in section 7 with red text in only one spot cannot be trusted and the commands right now are suspect right now, they'll be updated as I figure out what's wrong and this statement will be struck though. Java support with development tools and install instructions not far off now...in unrelated news, added new sections 1:5:* & 4:4:*, these right now are place holders for what is to come in the future, I'll be focused on the Java thing that's a bit weird on my system and wrapping up the install from source as well, just bouncing round the other places we'll go. Added new section with a little content; 4:3:0 Android command line commands, I'll be adding more as eventually I'd like to have linux tell android what to do and android to be able to do the same.
    05202013- added new subsection to section 5:10 to help update answers to questions received through XDA. Added a bit of content to sections 4:4:* mostly intor fluff so I don't forget where I was going. Did some work for money so new content is still pending for the guide, will likely end up with more time tomorrow...
    05212013- currently adding some content to 1:5:1, just couldn’t leave it alone added a bunch of content to that section... think I can call the two new guides functional for Limbo QEMU Linux Installation, comments welcome if it barfs on your device... so yeah made/completed a new section “7:4:4:2 Installing jMonkey” you can now install and run jMonkey naively on Android using Debian Kit and openjdk packages installed on your rooted phone or tablet, using directions in section ‘7:1:2-2.2 Remote RDP in from a second computer’ you can connect into it and develop on your Android device but with the full keyboard experience, then if ya need to go on the go you can save your work and reconnect locally on the device with directions from section ‘4:3:4 Remote RDP debian kit guide’ and continue your development project anywhere you’ve got time :) hope this helps game makers and app developers as this program outputs in formats that can then be run on the android side with full graphical bliss ... back to work on java compatibility?, looks like I might have to re-install Debian as I've mucked around in the system in a bad way :p but that's what the guide is for and I'll be working almost all day on the guide, check back often as content will be flowing in. XDA postings updated today 05212013 sorta, the character limit on XDA is now a limiting factor, I will split the document between posts for now and work on making the sections in the Google doc split correctly or something... Updates successful to all educational postings on XDA thread, google drive internal sync still pending but I've been at this for 14 hours or so today so I’ll be off my computer for a little while to let it cool down.
    06122013- Section 3 nearly completed, script runs for installing cloud services to android but returns a few errors and is ready for others to test with me, send a PM, e-mail, Google+, what ever and I'll hook you (the reader) up with a preview of the draft script that I've been writing to install openstack to android. Still under heavy development and re-writing but should work now, I'll be posting the beta version publicly when I've done enough testing or had enough testers confirm that it works without problems.

    ________________
    ____Update: Bellow Link
    ____ https://docs.google.com/document/d/1A64GMgcVUKbZrTG2WDWfY_g9vABuRx78ULULu-Ir-kE/edit?usp=sharing
    ____is a script to be tested for controlling the Crazyflie Quad-Copter with Android using Debian Kit's Squeeze or others
    ____for now see Page 10 for the discussion related to this development.
    ____if found to work, then merging into the Main Guide and full description on how to get started will be included as well.
    ________________
    3
    1:5 Other methods of running Linux alongside Android

    _______SPLIT FOR POSTINGS______

    1:5 Other methods of running Linux alongside Android
    These sections that follow ( 1:5:* ) will detail the other methods the author has installed Linux Environment.
    Note: at this point I've only one device that is capable of developing a guide to install and integrate cloud services; if you wish to see that change you may make additions on the publicly editable version of this document, or, research it on your own time, or, make a donation to the author; my time can be purchased ;), or, wait for me to document it in my own time.
    1:5:1 Using Limbo PC Emulator (QEMU)
    Note: I did not originally include this method as it is a slower way to run linux on android. Its good but emulation always comes at a cost. There are many devices on the market now that will support this app smoothly but like I've said you'll still see a cost.
    Note: run-on list of “Cost”
    Slow: The nature of emulation causes this. To understand the details of this one will have to delve into some of the details of how machines talk to one another and within themselves, machine language(s), and, the details of what a processor actually does.
    I’ll try to sum it up though; a processor type (CPU - ARM/Pentium/AMD and even GPU - Nvidia, iSBX 275, S3 89C911) has a specific structure in how the components and pathways are laid out. This causes each manufacturer to have their own way of sending electrons across the internal structure that makes up the processor, this is usually kept private or proprietary (Xbox, Playstation, Nintendo are good examples of this) to the manufacture, which is the machine language that I was talking about. Compatibility with the other components that the processor connects to is usually achieved by standardization of “shape” meaning the little wires that come off of CPU chip itself and connect to the rest of the circuit board, and the internal firmware of the CPU chip.
    To make a processor process a “native” task one must be speaking its language or a language that it understands (many come with what’s called ‘channels’ that handle; Flash, Java, or other human readable programming language) and tell it where to get information and how to handle it and where to send it and what to do next and have all that on the “native” hardware. To make a processor process a “alien” task one must have a way of translating all the processor’s calls for data and handling of data to a completely different set of physical pathways and methods of handling data; this would be like if you and I were placed in completely different parts of the same city and were given the exact same set of instructions (north 5 kilometers, east 12 meters, south east 1 kilometers) and be expected to arrive at the same location; just doesn’t compute, you would end up in a location relative to your start point just as I would but the relative distance wouldn’t change between us. And more than likely one of us would run into an obstacle not far from the start and where we programs and not humans the one of us to hit an obstacle would, like a lemming, just keep failing until killed off.
    An emulator bridges the language and hardware divide (visual here: like an octopus wriggling through a small hole when viewed through x ray photography) by wrapping up the data being handled in such a way that another processor doesn’t try to natively run the data being wrapped up (visual here: like the internal organs, of the before mentioned imaginary octopus, not rupturing through the skin and spilling out into the water that it’s entire body is encapsulated in) and then giving the data within a way to communicate with other data that has been wrapped up.
    It's not an exact description of emulation but an analogy and how I think about it.

    Electron Expensive: The very act of emulation causes the processor that is running the emulation to pull double duty. For every task that has to be carried out by the emulated machine. a task must first be started on the host machine, then the emulated task is started, then the emulated task makes a call for more data or tries to write data, that emulated task ‘call for more’ is sent back to the host machine, the host machine then must make the required translations to compute the request, after computing the request the task is performed, if the task being performed makes ‘calls for more’ then those are then handled just like the parent task (making more calls and translations back and forth) and so on. When done coded properly; emulators can emulate a processor very near the host’s megahertz level and the emulated tasks show very little lag from all this back and forth that the data must first go through, however, due to the closed source nature of hardware and internal firmware, making a well coded emulator is very difficult and usually involves trial and error combined with a little reverse engineering. In most cases when running an emulator, you’ll want a host machine capable of much greater megahertz range than the machine you are trying to emulate (it’s why next gen console emulation is so difficult for most home PC’s) to allow for the back and forth that happens with emulation. This back and forth that the data goes through is what will cost you in battery life because data is transmitted with electricity and there is a finite amount that your battery will store and output.
    Hair Puller: As wonderful as it can be to run emulators; eventually things just go wrong and debugging how to work around it can be an exercise in futility.

    Note: run-on list of “Benefits”
    Extended Compatibility: Being able to run non-native machine code and system tasks gives an enormous amount of flexibility to the host machine. With QEMU you can even emulate the old floppy disk drives on Android and I doubt most households have a fiscal one of those anymore.
    Development Options: Emulating hardware allows for development to take place on a set of hardware that doesn’t need to be physically owned thus reducing the cost of development to time, education, and workforce.
    Hardware Virtualization:Because the operating system is running on virtualized hardware you are more free to convert the image file that the OS is saved to and run on multiple devices or computers with very little work once you’ve got an installed OS image. I’ve even seen work done to sync system files between clones so that one can login to each clone and after a few minutes have the exact same programs to access and run between devices.
    Games:Yep you can play games with this, like mine sweeper and other low memory intensive games, but further development and a faster device will alow for many more titles to be added to the list of “working and fun” that I’ll be compiling here.


    1:5:1:1 Apps & Files to download for QEMU
    Limbo from the Google Marketplace
    https://play.google.com/store/apps/details?id=com.max2idea.android.limbo.main
    Limbo in my opinion is of the one of the best apps out there for novice on up to master rooted phone users. In short its like a "game console" emulator for your pc only with a big twist the "game console" Limbo emulates is actually normal PC processors like a pentium 3 and it runs on android so you can play pc hardware dependent content such as windows if you've got the specs on the go.

    Pick A Linux Distribution
    The links provided are here for convenience and should be considered untested unless accompanied by a statement that it has worked on android. I will try to test as many as possible and document the; pros and cons; methods of installation if they varied from the main QEMU install guide provided in this main guide.

    DSL (Damn Small Linux)
    http://www.damnsmalllinux.org/download.html

    Worked for me on my Epic 4Gs

    Ubuntu (12.04)
    http://www.ubuntu.com/download

    Kali (like backtrack)
    http://www.kali.org/downloads/
    There is a live boot ISO for PC, a ARM variant that’s being tested by others, and a network install that I’ve found. For this method (QEMU) I would suggest the PC version; I’ll be testing the network install in the future so I can attempt a “Debian Kit” port for the ARM native version of their distribution.


    Backtrack
    http://www.backtrack-linux.org/downloads/

    Android-x86
    http://code.google.com/p/android-x86/downloads/detail?name=android-x86-2.2-generic.iso&can=2&q=
    Just ran across this one. It’s android for PC processors instead of the ARM processor. But QEMU is a PC emulator, so if we want a slow Android OS running on top of the normal one for that could be possible. Don’t know yet if it will work but it’s worth a shot as this would allow developers to mobily develop for this variant of Android and normal root users the chance to make drastic changes to the emulated Android environment without too much fear of fouling up their main Android environment.


    1:5:1:2 QEMU Linux Install Guide
    1:5:1:2-1 Method one: Install to virtual hard drive with QEMU
    1. Download Limbo from the market place
    2. Download a Linux distro to start with or try an ISO that you already have if you're feeling adventurous
    3. Open Limbo
    4. Tap on ‘Load VM’ and choose ‘New’
    5. Name your new Virtual Machine and tap ‘Create’
    6. Scroll down to ‘RAM Memory (MB)’ tap ‘64’ and choose 512
    7. Scroll down to ‘CDROM (*.iso)’ and tap ‘None’
    8. Tap ‘Open’ in the new pop up and using the folder navigation window that pops up; navigate the the ISO file that is on your device (usually in your downloads folder) and tap it
    9. Back in the main Limbo app screen scroll down to ‘Hard Disk A(*.img/*.qcow2)’ and tap ‘None’ and tap new
    10. In the new pop up (Image Name) title your hard disk somthing that will tell you that it’s an emulated hard drive of that distribution, such as ‘DSLhdEmu’ and set a size that you’re willing to sacrifice to running Linux and tap ‘Create’
    11. Scroll down to ‘Boot from Device’ tap ‘Default’ and in the pop up choose ‘CD Rom’
    12. Scroll down to ‘Network Configuration’ and tap ‘None’ and choose ‘User’
    13. Scroll down to ‘VGA Configuration’ tap std and choose ‘vmware’
    14. Scroll up, all the way up, on the Limbo main screen and choose start. If everything goes well you’ll be presented with a linux live boot environment that you can then use to install onto the virtual hard drive that you made. Once you install you can remove the ISO from the parameters in Limb and change the boot order to the virtual hard drive.
    1:5:1:2-2 Method two: use a computer to make a virtual install
    and then converting it to a qcow2 file and install linux to it before moving it over to the device to run it. This is a bit round about but it's my method when I can't run the install but can run the OS due to emulation not being perfect and my device not being powerful enough.
    1. Download and install ‘VertualBox’ to your PC from:
    https://www.virtualbox.org/wiki/Downloads
    Note: You’ll want to choose the one that is for your PC’s hardware and operating system
    2. Open ‘Oracle VM VirtualBox Manager’ and click ‘New’
    3. Click ‘Next’ and title it something you’ll remember is for this purpose, such as ‘DSLforQEMU’
    4. Mouse over to ‘Operating System’ and click on ‘Microsoft Windows’ choose ‘Linux’ in the drop down
    5. Mouse over to ‘Version’ and click on ‘Ubuntu’ choose ‘Other Linux’ in the drop down
    6. Mouse over to the ‘Next’ button and click it
    7. Mouse over to the box with ‘256’ click it and input 512; mouse over to next and click it (unless you’re computer has less than 2 gigs of RAM)
    8. Click the ‘Next’ button again because we’re creating a new ‘Start-up Disk’
    9. Mouse over to the ‘VHD (Virtual Hard Disk)’ and click the little circle next to it to select that option and mouse over to the ‘Next’ button and click it
    10. Click the ‘Next’ button again unless you really want a ‘Fixed size’ image taking up a bunch of space or if you’ve had issues with ‘Dynamically allocated’ option not converting to qcow2 format properly.
    11. This next page titled ‘Virtual disk file location and size’ you’ll want to set up yourself based on how much space your hard drive has and how much space your Android device has. I shrank mine down to 3 gigs though and left everything else alone.
    12. Mouse over to the ‘Next’ button and click it then ensure everything looks ok and click the ‘Create’ button too. If there is a second window behind that go ahead and click the ‘Next’ and ‘Create’ buttons too to set up the virtual machine
    13. Mouse over to the new virtual machine that you’ve created and ‘right click’ it and select settings or select the new virtual machine and select the ‘Settings’ button which should be between the ‘New’ and ‘Start’ buttons
    14. In the new ‘Settings’ window, you’ll find oodles of things to tweak and feel free at a latter time, for now mouse over to the ‘Storage’ and click it
    15. In the storage settings mouse over to the ‘Storage Tree’ part of the window and look for a disk icon that says ‘Empty’ and select it (this is the virtual machine's CD drive)
    14. With the virtual CD drive selected mouse over to the ‘Attributes’ part of the window and select the checkbox to enable ‘Live CD/DVD’, mouse over to the disk icon just to the right and a little above the checkbox and click it to set up where the ISO is for installing Linux, select ‘Choose a virtual CD/DVD file...’
    15. Use the new window titled ‘Choose a virtual CD/DVD file’ to navigate and select the ISO file that you wish to use to install Linux to the virtual hard drive image that was created in step 11
    16. Mouse over to the ‘Open’ button and click it then click the ‘Ok’ button in the ‘Settings’ window that was behind it.
    17. Back in the main window for VirtualBox titled ‘Oracle VM VirtualBox Manager’ ensure that the virtual machine that we’ve been making is still selected and then mouse over to the ‘Start’ button and click it.
    18. Interrupt the boot with one of the function buttons on your keyboard when the new window pops up and starts to paint in what will look like a computer starting up in a window (usually ‘F2’ or ‘F10’ or ‘F12’)
    19. In the interrupted boot menu within the “VM” window choose the option that corresponds with the CD drive to make the virtual machine boot from CD this time around only
    20. Let the live boot process process for a bit and eventually you should be presented with a window that looks like a linux desktop is inside of it
    21. Follow the instructions for installing your specific distribution to a hard drive and when that guide states to install to a hard drive just remember to be selecting the virtual hard drive that was created in step 11
    22. After installation to the virtual hard drive has finished test that it installed correctly by shutting down the virtual machine and getting back into the settings described in step 15 and “eject or remove or unmount” the linux ISO file from the virtual CD drive
    23. Start the virtual machine again and check that it boots correctly from the virtual hard drive image. If it does shut it down again properly. If it doesn’t try again or try a different distribution.
    24. Open the ‘Settings’ window again and select ‘Storage’ again, this time though under the ‘Storage Tree’ part of the window select the virtual hard drive image (its the *.vdi file that was created in step 11) and mouse over to the disks icon to in the ‘Attributes’ part of the window to the far right of where it says ‘Hard Disk’ and select ‘Choose a virtual hard disk file...’ and make a note of the full folder path to the *.vdi file; somewhere like in a notepad or scrap of paper or memorize it.
    25. Open a terminal window on your PC and convert the *.vdi file to a *.qcow2 file with the following command structure
    Example : Syntax
    # qemu-img convert -O qcow2 *.vdi *.qcow2
    Example : useable
    # cd /home/dev/dumps
    # qemu-img convert -O qcow2 DSLforQEMU.vdi DSLforQEMU.qcow2
    26. Let the converter convert and come back to it after a few minutes
    27. Once the converter has converted it’s time to transfer the qcow2 file to your Android device, use a cable or a SD card adapter to get it over to the folder that Limbo saves virtual hard drive
    28. Start up Limbo and create a new machine much like the steps in method one but you’ll not need to select a ISO file, instead select the virtual hard drive image as the hard drive to boot from and set the other setting the same as method one and start the virtual machine to test it on your Android device.

    1
    Setting up base system (partially under construction)

    Contents
    1. Setting up base system:

    1:2 - Downloads for android device.


    https://play.google.com/store/apps/details?id=org.dyndns.sven_ola.debian_kit

    https://play.google.com/store/apps/details?id=org.connectbot

    https://play.google.com/store/apps/details?id=org.toremote.rdpdemo

    https://play.google.com/store/apps/details?id=com.jrummy.root.browserfree

    https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard

    http://sven-ola.dyndns.org/repo/
    1:3 - Installing Linux system to Android Device

    1:3:1 Verify no major errors are present


    • Open Debian Kit: check that there are no red X's; tap on anything in the list for more info and/or press menu and tap read me for the developers original doc.
    • Check that you've enough memory: from the home screen press menu and tap settings; Scroll down to application settings, tap it and view storage use; try to have as much available memory as possible by, moving/removing apps, ruffly 100MB+ worked for me. Note after the initial install you should be able to reinstall/restore the removed apps with little ill effect.
    • Remove data consuming tasks from the equation either by freezing them with an app like rom tool box or turning off their sync options or uninstalling them. Mainly this step helps insure that while you're downloading the necessary data that your connection doesn't flip out and cause an error that could have been avoided.

    1:3:2 Start ConnectBot (rom toolbox terminal emulator also works well for this part with some modification)


    • Tap on the lower left corner where ssh button is and select local instead.
    • Tap in the text field next to the bottom now displaying local and type in a nickname like 'debInstall', hit enter and be presented with-
    $

    • Type su, hit enter, and permit superuser permissions.
    $ su
    #

    • Unpack the installer with sh /sdcard/download/debian-kit-* note: if downloaded with dolphin browser or some other browser then you'll need to change the file path to reflect that.
    # sh /sdcard/download/debian-kit-*
    Or
    # sh /sdcard/Dolphin_Browser_Mini/download/debian-kit-*
    Or
    # sh /mnt/sdcard/download/debian-kit-*
    See 8:2:1 for example of what your screen should look like without errors.


    • Choose your path:

    • Input 2s will install a debian.img file 2gb in size to your sdcard. Note: this option is suggested as for the first try as this will allow for a stable and fairly sized environment to test and play with, furthermore I will be writing this guide first for the debian squeeze option and later add the others as I've the time. If choosing this option scroll down to step 6. when the installer starts asking questions.
    • If 2gb sounds to small and you're willing to brave the manual install, then you'll want to abort the auto installer at this point and scroll further to step 1:2 Manual Install

    • Once the install has finished you'll be given three options yes, ovpn, q choose one and only one. When yes or ovpn is used things will be removed, when q is used the debian image is unmounted just as it will be automatically unmounted at the end of either yes or ovpn option. Note: when I install to debian.img file I choose ovpn as this allows for the most amount of space to be freed.
    • Now providing everything is error free the debian.img can be remounted with either of the two commands
    # deb
    or
    # /data/local/deb/deb
    Note: to see what it will look like the first time you run deb and not encounter errors see section 8:2:4

    • Now to first

    • update the list of packages currently installed,
    • second upgrade everything,
    • third install andromize for compatibility,
    • forth install andromize-lxde for a gui,
    • fifth install ssh,
    • sixth auto remove unnecessary packages,
    • seventh clean up,
    and all that in one step that will take more than a few minutes to complete. Note: andromize at some point is going to request input from you;

    • tap on your screen and tap on the control button that briefly shows up in the lower corner, the hit the 'i' button on either you hard keyboard or onscreen keyboard. This will put you in insert mode so that with a d-pad and the spacebar or enter key you can select a highlighted option, I suggest: ctrl+i then space (or enter) as that has worked everytime for me.
    # apt-get update; apt-get upgrade; apt-get install andromize; apt-get install andromize-lxde; apt-get install openssh-server; apt-get autoremove; apt-get clean

    • So you're set to rock and roll as root and have a lot of options if ya know what you're doing.
    At some point with all this you may feel uncomfortable with running under sudo root user. Scroll down to '4:3:2 Command line commands for linux' and run those commands to secure yourself some.

    • Start your new ssh server. Now that the basic requirements to run linux have been met and you've a clean OS we need a way to 'open and 'close' terminal windows that aren't going to remount the system a bunch or run us into out of memory or space errors.

    • Start ssh with one of the following commands
    # deb s

    • Stop ssh with one of the following commands (when you're done)
    # deb S

    • Once ssh is on you can connect to your device from any other ssh compatible device. For now we are going to use identical directions, almost, to section 4:3:3-3

    • Make or open a new or existing ssh connection with connectbot with your username that you want to log in as then the @ symbol followed by "localhost"
    • Make sure that in the lower corner that the option is set to ssh and hit the enter key

    • Connectbot or whatever local running ssh app you're using (I'll be testing or hearing about a few I'm sure) should now prompt you for a password. Put in the one you (I hope setup before in step 4:3:2... yeah I'm going to have to fix that...) set up and you should be greeted by a few lines of text and a # with your username before it. This is where many of the linux commands should be run.
    Note: this method is prefered because you can connect and disconnect without sending multiple "deb" commands in the local connection that we only should use for installation and starting the system (first boot and after reboots). Sending multiple "deb" commands can cause all sorts of issues without sending "deb u; deb k" commands between. The other issue that arises with sending multiple "deb" commands followed by a "deb u; deb k" is that you can fill folder structures on the linux OS and your SD card that are designed to rescue unintentionally deleted files, cache, and junk files, which in other circumstances is really good to know like when a picture disappears from your gallery, but in this case is a real pain. You'll get all sorts of errors so remember one "deb" command per boot and connect through ssh or remote RDP once your system has mounted linux and you'll have a happier experience. Okay moving on.

    1:4 Manual install


    • Unmount and eject the sd card from your device
    • Plug the sd card into enough adapters to plug it into your computer. I've used micro to sd adapters and then plugged that into yet another adapter sd to usb with success.
    • Backup all data. You're about to delete it all.
    • Using gParted on ubuntu 12.04

    • Ensure that gParted has selected the sdcard and not your hard drive... don't select your hard drive that would be bad.
    • Check out the current partition layout, perhaps even make note of it somewhere incase something goes wrong. My sandisk started out with a 4mb empty zone and a fat32 partition for the rest.
    • Reformat original partition to fat32 by either write clicking the main partition or selecting the partition drop down menu at the top of the window.
    • Resize first first partition (pay close attention to not accidently remove, overwrite, or move over the little bit reserved at the start of your sdcard) to the desired amount of space for the android side of your device such as space for; downloads, app cache, apps to sd, photos, and music. This space is all that my android recognizes by default so think about it.
    • Second make a second partition filling up the trailing bit left over, you can try something fancy but I chose a fat 32 bootable.
    • Apply the three operations with the green checkbox in the upper left quadrant of the window and let it run.
    • When gParted finishes unmount and eject the sd card, wait a second or two and plug it all back into your computer.
    • If you left gParted open then your sdcard and it's partitions should now show up as selectable in the drop down for devices. Close gParted.
    • Open a file browser or two; one for your sd card's first partition and another for where you saved the backup of your sd card's contents.
    • Copy your backups back over to the first partition of your sdcard. I'd advise copying the important things first, app backups folders and system and/or nandroid backups. The things you can live without for a day or two you can come back for because you're here to get to the next step.
    • Unmount and eject from computer. Plug back into phone and remount.

    • Run through the first part of the guide and about when given the option to make a debian.img file.
    Run the following commands in connectbot under superuser to figure out what the installer uses to identify the second partition on your external sdcard, format it and install linux to it.

    • This may show the uuid, drive letter, date modified. Make note of todays date and check for three dates in the list that match from when you were repartitioning. Take note of everything.
    /data/local/deb/armel/busybox fdisk -l /dev/block/vold/*
    Results may vary try navigation to /dev/ with a root browser on the android side of things, take a look around and adjust the bit after 'fdisk -l' to reflect your device's folder scheme and rerun till you get something that looks like this: (or see section 8:2:2 for full example)
    Device Boot Start End Blocks Id System
    /dev/block/vold/179:0p1 1 1279 10264576 c Win95 FAT32 (LBA)
    /dev/block/vold/179:0p2 1279 1925 5189632 b Win95 FAT32

    • Now to run the mk-debian -h script and change settings until satisfied. Note: I had one issue when I didn't tell the installer what 'drive' letter to install to;the letter preceding 'Win95 FAT32' in above example or in the below example command you can see the drive letter delineation specified at the end with '-L b' because on my device setup that's the letter in which I need to install to. (see section 8:2:3)
    # /data/local/deb/mk-debian -i /dev/block/vold/179:2 -s 5310 -L b -h


    • Which if configured correctly will look like the dump took and pasted below.

    Script to format a loop disk file or disk partition with ext2/3/4 and install a Debian Linux there.

    Usage:
    mk-debian [Options]

    Options:
    -d <distro> specify squeeze/lucid/precise
    -m <path> specify mount point for disk/device
    -s <megabyte> specify size for new loop disk file
    -i <file|dev> specify loop disk file name or device
    -t <ext2/3/4> specify file system to be created
    -L <label> specify disk label for formatting
    -D <ip> specify DNS server to be used
    -M <url> specify Mirror URL for downloading
    -u update /system/bin/deb script and exit
    -U uninstall Debian kit (not debian.img!)
    -C clean files not required to run Debian
    -h display usage text and settings

    Settings:
    -d squeeze
    -m /data/local/mnt
    -s 5310 Mb
    -i /dev/block/vold/179:2
    -t ext4
    -L b
    -D 8.8.8.8
    -M(squeeze) http://ftp.de.debian.org/debian
    -M(lucid/precise) http://ports.ubuntu.com/ubuntu-ports
    Action: install

    Notes:
    For creating a loop disk file, you may want to change the default size (in Mb, 512-2047). For formatting a device (-i /dev/xxx) or if overwriting an existing loop disk file, the size is ignored. The loop disk file name or the device name will be written to the bootdeb script's IMG= line if this script succeeds.

    If you specify a device, the UUID of the formatted device is instead saved into bootdeb (IMG=uuid:<hexid>). With this, the correct device can be found even after some mixed USB drive/SD card eject-insert sequences.

    Check your settings by adding '-h' as the last switch.

    Remove the '-h' from the tail end of the command to run when you believe all is good and if all is good then scroll back up to step 7 of the main install guide where it talks about remounting debian.
    1
    4. Aditinal notes Part 1

    4. Additional notes
    The following sub sections are dedicated to the more common tasks: interacting with android linux as a whole, helpful links, linux command line commands, and helpful tips for the apps that you’ll be using to set up and interact with your linux android system that would have broken the flow of reading the main install steps.

    4:0 Sites that have been exceptionally helpful
    This section has the following organization patterns:
    new links = descending order, older links near the top newer links towards the bottom
    small font with link embedded = older links that likely are up to date between all versions of this guide
    medium font with link embedded = links that I’ve formatted but have yet to update to other mirrors of this guide
    medium font with link not embedded = links that I’ve most recently added and likely have not been updated anywhere else

    https://github.com/openstack-dev/
    http://blog.urfix.com/25-ssh-commands-tricks/
    http://www.linuxquestions.org/questions/debian-26/how-to-configure-apt-get-to-install-suggested-packages-169746/
    http://www.linuxfromscratch.org/blfs/view/svn/index.html
    https://help.ubuntu.com/community/AptGet/Howto
    http://forums.debian.net/viewtopic.php?f=30&t=47258
    http://www.howtogeek.com/108511/how-to-work-with-the-network-from-the-linux-terminal-11-commands-you-need-to-know/
    http://www.verot.net/socks.htm
    http://cssoss.files.wordpress.com/2012/05/openstackbookv3-0_csscorp2.pdf
    http://docs.openstack.org/trunk/openstack-compute/admin/content/installing-openstack-compute-on-debian.html
    https://wiki.openstack.org/wiki/Packaging/Debian
    http://wiki.opscode.com/display/chef/Deploying+OpenStack+with+Chef
    http://anonscm.debian.org/gitweb/?p=openstack/glance.git;a=summary
    http://www.debianuserforums.org/viewtopic.php?f=9&t=1513
    http://www.wikihow.com/Run-a-.Jar-Java-File
    http://linux.die.net/man/1/mr
    http://wiki.debian.org/BridgeNetworkConnections
    http://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html
    http://ss64.com/bash/
    http://www.bleepingcomputer.com/forums/t/145051/making-your-own-linux-bash-commands/
    http://answers.oreilly.com/topic/1442-how-to-configure-windows-7-remote-desktop/
    http://www.raspberrypi.org/phpBB3/viewtopic.php?f=81&t=27634
    https://jdk8.java.net/fxarmpreview/
    http://www.savagehomeautomation.com/pi-jdk
    https://jdk8.java.net/fxarmpreview/javafx-arm-developer-preview.html
    http://linuxconfig.org/bash-scripting-tutorial
    http://developer.android.com/reference/android/content/Intent.html#ACTION_SHUTDOWN
    http://en.wikibooks.org/wiki/QEMU/Images#Converting_image_formats
    http://www.penguintutor.com/tutorials/viewdoc.php?doc=bluetooth-network-tutorial

    4:1 apps for android that make things easier

    Note: these apps are not necessary to follow the guide as of yet, so don’t go paying without considering all the good it’ll do you.

    https://play.google.com/store/apps/details?id=com.github.mobile

    https://play.google.com/store/apps/details?id=com.jrummy.liberty.toolboxpro

    https://play.google.com/store/apps/details?id=com.quoord.tapatalkxda.activity

    https://play.google.com/store/apps/details?id=miquelco.devcheats

    https://play.google.com/store/apps/details?id=lv.n3o.sharknative

    https://play.google.com/store/apps/details?id=com.jrummy.busybox.installer

    https://play.google.com/store/apps/details?id=com.stericson.remount

    https://play.google.com/store/apps/details?id=com.aed.tun.installer

    https://play.google.com/store/apps/details?id=com.google.android.apps.docs

    4:2 linux software and or packages that I've tested

    jMonkeyEngine
    http://jmonkeyengine.org/
    Very powerful programing and development toolkit for programing, if you run into issues after installation go to help update in the jmonkey window and that should resolve it, the developer states it on the download page but i and many others have filled google search bars with error searchs when mostly that one step will save you a lot of heartache, after of course resolving the other dependencies... I’ll be updating this in a bit with full directions on how to install .sh packages from the downloads folder in android to a full programing environment.

    Wireshark (linux & android? yep)
    http://www.wireshark.org/
    updates eventually. so far I’ve been able to use wireshark from the android market to capture my home network info’s, saved it and then using wireshark on the linux side of things to view and interact with the pcap files as I at this moment don’t know how to resolve all the dependencies for running wireshark on the linux side solely.

    4:3 commands for apt-get and others I've found useful
    4:3:0 Android command line commands
    Here will be commands that can be run from the Android command line, independent of the Linux system, some in fact many will also work on the Linux system. At this point the "____" will be the break between subsections for sectio 4:3:0:* as organization will have to happen after there's enough content to organize.
    ____
    Download from web to a specific directory and attempt to reconnect if connection is interrupted.

    • The -cO = 'c' to reconnect if interrupted, 'O' to 'output' to a specific file path.
    • The '/sdcard/Download*' = path you want to save the file to; adjust it based on where your device saves downloads to by default or change it to a custom path.
    • The 'http://' = the web address you wish to download from. Some may not support it but most should.
    Example : Syntax

    # wget -cO /sdcard/Download/[Name-of-file-you-are-downloading].[file-extention-of-the-file] "http://domain.com/path/to/file/to/download.zip"

    Example : Usable

    # wget -cO /sdcard/Dolphin_Browser_Mini/download/photobomb-cat1fxb.jpg " http://www.justsaypictures.com/images/photobomb-cat-1fxb.jpg "
    ____

    4:3:1 Apt-get commands:

    Search for package or package description (still working on condensing and organizing this part)


    #apt-cache search "web server"| grep something

    Install commands

    #apt-get -i {package-name}

    Removal commands

    #apt-get remove <package_name>

    Removes an installed package, leaving configuration files intact.

    # apt-get purge <package_name>

    This command completely removes a package and the associated configuration files. Configuration files residing in ~ are not usually affected by this command.

    If you want to remove package1 and install package2 in one step:

    # apt-get remove<package1> <package2>+

    Remove unnecessary or abandoned data that isn't necessary to keep

    # apt-get autoremove

    This command removes packages that were installed by other packages and are no longer needed.
    #apt-get autoremove <package_name>

    This command removes an installed package and dependencies.

    While there is no built in way to remove all of your configuration information from your removed packages you can remove all configuration data from every removed package with the following command.

    # dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

    auto-apt commands

    # auto-apt run<command_string>

    When invoked, the auto-apt command automatically installs packages upon missing file access. If a program tries to access a file known to belong in an uninstalled package, auto-apt will install that package using apt-get. This feature requires apt and sudo to work.

    Auto-apt keeps databases which need to be kept up-to-date in order for it to be effective. This is achieved by calling the commands auto-apt update, auto-apt updatedb and auto-apt update-local.

    Usage example

    You're compiling a program and, all of a sudden, there's an error because it needs a file you don't have. The program auto-apt asks you to install packages if they're needed, stopping the relevant process and continuing once the package is installed.

    # auto-apt run./configure

    It will then ask to install the needed packages and call apt-get automatically. If you're running X, a graphical interface will replace the default text interface.

    dpkg command to get package information such as description of package, version etc. The syntax is: dpkg --info {.deb-package-name}

    Pull up the man page for adding repos to apt-get

    # man add-apt-repository
    Note: at this point this command doesn't work, will look into it at some point soon.


    At some point if you don’t know better you’re going to try and make apt-get install more automatically than it really needs to; you may succeed. Before you waste your time like I did and then go searching round for ways to undo safely the same way take a look at this quoted and condenced from hear (http://www.linuxquestions.org/questions/debian-26/how-to-configure-apt-get-to-install-suggested-packages-169746/)
    ::::::
    I think that automatically adding all suggested packages would put a lot of cruft on your system. However, if you want it, you can get that behavior by adding a line to /etc/apt/apt.conf: Code: APT::Install-Recommends "true"; APT::Install-Suggests "true";

    The second line will automate suggests and the first would automate installation of recommends. You can use either or both, though again, lots of cruft. If you don't yet have an /etc/apt/apt.conf file,you can create it and add just the one line.

    If you have apt.conf setup like this, you can avoid installing recommends via: Code: apt-get --no-install-recommends install package

    This will prevent apt from considering recommended packages as dependency for installing,even if apt.conf is configured to do so via "APT::Install-Recommends".

    you can also specify the option on the command line, like this: sudo apt-get install <package> -o APT::Install-Suggests=true but apt-get install will follow the "suggests" for all installed packages, not just the one you are adding now.
    ::::::

    ____Split

    1
    4:3:2 Command line commands for Linux (part 2)

    4:3:2 Command line commands for Linux

    Set password for root
    # passwd

    Add a normal user. This command will also start a chain of user input requests to set up the user's "profile" its easy and better than running round as root all day.
    # add-user[new-user-name]
    Or
    # adduser[new-user-name]

    Give normal user sudo permissions. Note depending on which environment you run this command you will need a password for root or the user's password for the sudo permissions or the password for the user, try'em all till one works and make a note of it.
    # add-user sudo[user-name]
    I've also used
    # adduser [user-name] sudo

    Login to new user. It will then request a password from you. Note when you type in your password there will be no indication on your display, this is a security feature.
    # login[user-name]

    Install packages to new user once logged in
    #sudo apt-get install [package-name]


    Get a list of installed packages
    #dpkg --get-selections

    Get some help with dpkg
    #dpkg --help

    4:3:3 Connectbot optimization guide
    By this point I hope you've poked around in Connectbot and seen some things. We're going to use some of them here to make the boot and shutdown processes a bit easier. For theses steps you’ll want to follow steps 4:3:3-1 though 4:3:3-4 and then scroll down to the specific automation example and copy/paste it.

    4:3:3-1. Linux Boot/Mount automation

    • Open Connectbot
    • Make a new local connection and title it 'linuxBoot' or something that will remind you not to open it more than once (if you do, don't worry, we can fix it)
    • Disconnect from 'linuxBoot' and then press and hold on it until a dialog pops up.
    • Select Edit Host, scroll down to ‘Post-login automation’ and select that too.
    • Past the following lines with the line breaks intact (you may have to go in with your finger and hit 'enter' in order to have the correct line breaks between commands) if your device took well to the system shortcut that the installer attempted to place for 'deb'.
    su
    deb s; deb x


    • Past the the following if you get errors saying that 'deb isn't recognized'. This is usually to do with not having full read/write permissions while your device is operating (sOff and sOn for example on some HTC devices)
    su
    export PATH=/data/local/deb:$PATH
    deb s; deb x


    • The deb s causes linux to mount and start openssh-server so that you can connect to it from any ssh compatible device and get to the command line.
    • The deb x starts up lxde, which gives you a graphical user interface to interface with.
    • The export path command is kinda like a short cut. You can use that one for many things and is well worth experimenting with.

    • Save your settings by hitting 'ok' and backing out to connect bot's main screen.
    • Make a new local connection and title it something like 'linuxShutdown'
    • Repeat steps 3-5 or 6 and past one of the following

    4:3:3-2 Linux Unmount/Kill automation

    Paste the following lines into the separate new local connection’s ‘Post-login automation’ titled ‘linuxShutdown’ for a quick connection that you can use to safely shut down your connections, unmount the OS from where it hooks into the android system, and kill any remaining tasks.
    su
    deb S; deb X; deb u; deb k
    Or
    su
    export PATH=/data/local/deb:$PATH
    deb S; deb X; deb u; deb k

    • capitalizing the 's' and 'x' from the 'linuxBoot' example sends the shutdown command to those two services
    • Unmount from system is what 'deb u' does, sometimes you'll see some errors
    • And 'deb k' forcibly kills whatever's left (usually whatever was causing the errors from running the 'deb u' command
    • Save and back out yet again to the main connectbot screen.

    4:3:3-3. Connectbot “Local” SSH setup

    Make a new connection, this time select ssh, if its not already selected by default and title it something like 'debian@localhost' just change the debian part to the name of the user you want to login as, such as root perhaps.
    1. If you've left ssh running then skip to step 4:3:3-2. If you haven't started it then start it by

    • Selecting your 'linuxBoot' let it do its thing for a sec or hit 'enter' on your keyboard and let it do its thing for a second.
    2. Once you've got ssh server up you can connect to it one of two ways that I know of.

    • First to test and daily for quick command line access: click on the ssh connection that was made in step 4:3:3-3 of this mini-guide and type the password for that user... and your in.
    • Second way is to connect with a different device: see section 7:1:2-2
    Once you're in you may interact with it like a terminal window and most linux commands will work here with little to no modification. So utilize linux specific sources of information as I'd exhaust myself enumerating and cataloging all the things you can do.

    4:3:3-4. Other good combos to use after using 'linuxBoot’

    these are connections that I set up with connectbot to quickly run other repetitive tasks that I've saved and used as their own separate local connections. These can also be copy/paste into the command line usually too.

    • upgrade, update, start a search for something new to install
    apt-get upgrade; apt-get update
    apt-cache search

    • Clean out temp and cached files, remove unnecessary junk
    apt-get clean; apt-get autoremove; apt-get update


    • Displays the manual for displaying manuals and the "| less" should make it display a bit frienlyer.
    man man | less
    4:3:4 Remote RDP debian kit Guide
    1. Open Remote RDP, Press menu, Tap add and input the following modifications to the options:

    • Host=localhost


    • User=[your-user-name]
    • Password=[please-don't] can be a security risk
    • Color=24-bit
    • Screen=800X600 (though try others based on the physical size of your device)
    • Compress=checked On
    • Name=[user-name@localhost] (think you can name it whatever you like)
    2. Back out to main Remote RDP screen and tap on the new connection you've set up.
    3. There you will be greeted by either an error prompt (in which case check your settings in step one of this mini guide or run the boot commands described in step 4:3:3-6, specifically deb x) or you will see part of a desktop, window, and or mouse cursor. At this point; verify the username is correct, input your password for that user name, and hit enter.

    Note if when you tap or drag on the screen and the mouse cursor follows your finger and not the gesture:

    • Back out to the main screen on Remote RDP
    • Press menu, tap settings; or tap the gear icon
    • Scroll down to Touchpad mode and either enable or disable
    • Familiarize yourself with some of the other settings while you're here as there are many user interface tweaks you can use.

    4. Once you've successfully made a connection, chill for a sec. You're going to at first see a grayish screen, maybe a window bar at the bottom, and then (depending on the speed and available memory of your device) all the sudden it'll paint in a desktop for you to poke around in.

    5. On the desktop that Remote RDP has wonderfully supplied; let's get rid of one pesky thing, the screen saver, its a resource and battery drain.

    • Mouse over to the lower left corner of the screen
    • There you will see a little 'symbol' click it and in a second it'll pop up a dialog.
    • Mouse over to options, then screen saver settings, and tap it
    • In the upper right quadrant of the new window you'll find a drop down menu with disable screensaver being one of them.
    • Select your choice, then exit out.
    Note if logged in as root in Remote RDP you'll receive an error pop up window. In which case instead of mousing over to screensaver settings; mouse over to disable x screensaver under the other directory of the 'start bar' menu and click it. That should resolve having the screen saver coming on in the background while the screen is off and in no need of saving. Other methods welcome.

    4:4 Rom Tool Box user Tips
    If you've got it then you know its the best; if not, then try the free version and see if it will meet your needs before making the plunge to pro version.

    4:4:1 Scripts
    Here I will document scripts that I use or am working on.

    Boot script

    #!/system/bin/sh
    : '
    starts the remote desktop protocol server and openssh server services and exits the bash automaticly
    written for personal use by strangerthanbland 05182013 Use at own risk.
    see guide for details on why this script is useful
    ____________________
    https://docs.google.com/document/d/17rboS2kaTNtcd7O7PCSIrlXVud79MHkqUTYohYNIbNI/edit?usp=drive_web
    ____________________
    Comments and suggestions can be directed to either of the above links
    _set this to run at boot with rom tool box by copy/pasting in a new script file and tapping on it and selecting Run At Boot Option
    _add a new script to rom tool box by opening the app on your device
    __scrol down to scripter under the tools tab and tap it
    ___tap on add then create
    ____title it what you want and copy past this example from hash sine to the exit command
    '
    export PATH=/data/local/deb:$PATH
    deb x; deb s
    exit

    ShutDown Script

    #!/system/bin/sh
    : '
    Listens for the device's shutdown command and executes this as one of the shutdown processes

    '

    4:4:2 Perfomence Mods
    The mods explained here are as always a "use at your own risk" sort of affair. What will be contained here? Governors, overclocking and undervolting, memory management, ad blocking, and many more when time permits.
    4:4:3 General guide lines
    The things that I suggest for ROM Tool Box are only from a user's perspective and are here for easy reference, documentation purposes, and to offer a different perspective. The guide lines for using the material found in sections 4:4:1 - 4:4:4 may be modified but are as follows:

    • Don't be foolish; this app can be dangerous
    • Understand your device(s) and my device(s) are different
    • Comments/problems about the app itself likely should be directed to the developer of that app
    • Comment/problems about the content here should be directed here to this document or one of it's mirrors
    4:4:4 Useful tips