[HOW TO] Install Debian with GUI on any G1 (Any ROM!) ☻☻☻ - G1 Android Development

Okay installing Debian on G1 was a pain in the ass when people make auto installers and never update them -_- I had so much problem trying to use the bootdeb script so heres a manual way to do it and should take like 10 minutes and when done, like 3minutes to start it up.
Feel free to PM me if you get stuck!
What you need:
A Debian Image (debian.img)
Get it here.
ext2.ko
Get it here. If dead, from this page.
unionfs.ko
Get it here. If dead, from this page.
busybox
Get it here. If dead, from this page.
Android Apps you'll need:
Terminal Emulator (Get the free one, even if you have a terminal app!)
VNC Viewer (Free or Paid, anything should work)
Initial Setup
Stuff you need to put in SD card and where.
Put all the files (debian.img, ext2.ko, unionfs.ko & busybox) in one folder named kit and put kit in the root of your SD Card.
Before we start please note this may look looong but Part 1 takes like 10 minutes and Part 2 like 5 mins. So try it out, its worth it!
​Part 1
We will install the base system in this part.
Please Note
You can run the commands below on your computer via ADB Shell but you may have trouble doing Part 2 on your computer. If you understand what you do in Part 1 you may proceed in ADB Shell.​
Click to expand...
Click to collapse
Step One
Open Terminal paste these in order:
Code:
export kit=/sdcard/kit
Press Enter​
Code:
export bin=/data/local/bin
Press Enter​
Code:
export mnt=/data/local/mnt
Press Enter​
Code:
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
Press Enter​
Code:
export TERM=linux
Press Enter​
Code:
export HOME=/root
Press Enter​
Code:
insmod $kit/ext2.ko
If this gives you a error, ignore it!
Press Enter​
Code:
mkdir $bin #-p
Press Enter​
Code:
cat $kit/busybox >$bin/busybox
Press Enter​
Code:
chmod 755 $bin/busybox
Press Enter​
Code:
alias _=busybox
Press Enter​
Code:
_ mknod /dev/loop0 b 7 0
Press Enter​
Code:
_ mkdir -p $mnt
Press Enter​
Code:
echo 'nameserver 4.2.2.2' >$mnt/etc/resolv.conf
Press Enter​
Code:
_ chroot $mnt /bin/bash
Part 1 Done​
It shoud now say #localhost: || If not then something went wrong...
Part 2
Installing the GUI.
In your Debian Shell (#localhost) type this:
Code:
cd /etc/apt
Press Enter​
Code:
nano sources.list
Press Enter​Now add these two lines below the 1st source:
deb-src ftp://ftp.uk.debian.org/debian/ lenny main contrib non-free
deb ftp://ftp.uk.debian.org/debian/ lenny main contrib non-free
Click to expand...
Click to collapse
Hit Trackball+O to save and then Trackball+X to exit.
Now type:
Code:
apt-get install tightvncserver
After its done type:
Code:
apt-get install icewm
After its done type:
Code:
export USER=root
After its done type:
Code:
vncserver -geometry 480x320
You will be asked to setup the VNC Password after this. Set it and remember it!
Now type:
Code:
cd /root
then
Code:
cd .vnc
then
Code:
nano xstartup
Now edit out the file to look like this:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hit Trackball+O and Trackball+X to exit
Now type:
Code:
cd /root
then
Code:
nano .bashrc
And add these lines to it:
Code:
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 480x320
It should look like this:
Now go to Terminal Setting and type this in the Initial Command:
Code:
su
export kit=/sdcard/kit
export bin=/data/local/bin
export mnt=/data/local/mnt
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
alias _=busybox
_ mknod /dev/loop0 b 7 0
_ mount -o loop $kit/debian.img $mnt
_ chroot $mnt /bin/bash
mount -t devpts devpts /dev/pts
mount -t proc proc /proc
mount -t sysfs sysfs /sys
Heres a screenshot:
We use this to save time and boot Debian swiftly!
Now reboot the phone!
After its rebooted, just open Terminal and let it do its thing. If it did it right you should see the Debian Shell launched...
Part 3
Playing around in the GUI!
Go to androidVNC (or any VNC client you have)
Enter the floowing details:
Address: localhost
Port: 5901
Password: the one you set while setting up tightvncserver...
Press connect!
Troubleshoot
If you get a blank window and a X on VNC Connection, goto terminal emulator>settings>reset term. And then reopen terminal. Now goto your VNC Viewer and change the port to 5902 and hit connect!
You should now be in the GUI!! Video of the whole thing coming up soon!​
Stuff you may wanna note!
You may not be able to mount your SD Card while Debian is running so you have to restart your phone to mount your SD Card!
Every time you wanna boot debian just open terminal Emulator and install it as a Debian Boot App or something!
There are a few flaws and I am a design guy and not a coder, if you find something wrong or wanna revise anything PM me or reply. I know its not perfect!
Nothing was done by me I just copyed and pasted stuff from sources. Special Thanks to Jay Freeman (saurik) for coming up with Part 1 and dangermouse over at AndroidFanatic for coming up with Part 2!​

Nice! I'm so excited to see that.

if you are trying this reply! I wanna know how it goes!

its the same thing i did months ago! it works fine but too slow :/ on g1

this thread is very organized, great job

aBsolutex3 said:
this thread is very organized, great job
Click to expand...
Click to collapse
Thanks, wanted it to be user friendly as its not that easy to understand

try it.Do‘’t know to ask you

mkdir $bin #-p
Gives me an error.

cctv35 said:
try it.Do‘’t know to ask you
Click to expand...
Click to collapse
Ummm what?
jatokor said:
mkdir $bin #-p
Gives me an error.
Click to expand...
Click to collapse
Are you sure you entered this:
Code:
export bin=/data/local/bin
Should work

Thank you for this thread
aBsolutex3 said:
this thread is very organized, great job
Click to expand...
Click to collapse
+1
got debian on my g1 for the first time using this walk-through.

Wait, so how do I run this within my mod? will everything on my phone be intact?

ForTehWolf said:
Wait, so how do I run this within my mod? will everything on my phone be intact?
Click to expand...
Click to collapse
Saurik on his website said:
This does not replace Android. This also gives you access to the full plethora of programs available in Debian and let's you continue using your phone as it was intended to be: as an Android device with all the capabilities thereof.
Please note that this is not a "port": Debian already supports ARM EABI, which is the underlying architecture of Android.
Click to expand...
Click to collapse
Its completely safe

error
echo 'nameserver 4.2.2.2' >$mnt/etc/resolv.conf
gives me this error: cannot create datalocalmntetcresolv.conf: directory non existent
sorry for my English i'm spanish boy

s0e0r0a said:
echo 'nameserver 4.2.2.2' >$mnt/etc/resolv.conf
gives me this error: cannot create datalocalmntetcresolv.conf: directory non existent
sorry for my English i'm spanish boy
Click to expand...
Click to collapse
check in /data/local/bin ... is bin a file or a folder? if a file delete it and make a folder manually...

SilentRazor said:
check in /data/local/bin ... is bin a file or a folder? if a file delete it and make a folder manually...
Click to expand...
Click to collapse
theres a busybox file in there, and thats it

echo 'nameserver 4.2.2.2' >$mnt/etc/resolv.conf
no such file or directory

chmod 755 $bin/busybox
gives me:
chmod: not found
and I can't go forward.

sickleman said:
chmod 755 $bin/busybox
gives me:
chmod: not found
and I can't go forward.
Click to expand...
Click to collapse
umm are u rooted?

_ chroot $mnt /bin/bash
gives cannot execute /bin/bash: No such file or directory

Well I dont have my G1 as its gone 4 repairing so... well wait up 4 a few days...

Related

Install debian and use lxde or Icewm.. supports others

YOUR PHONE WILL STILL WORK DOING THIS.. ITS ALMOST LIKE RUNNING AN APP ON YOUR PHONE
I got most of my information from this site here.. I only rewrote it and shared to get it working on our cdma hero.
http://www.androidfanatic.com/component/fireboard/?func=view&id=1615&catid=9
I also use files from different sources and combined them to work with our phone.
As of right now this method seems to only work with DarchDroid aosp rom. Not any htc sense roms.
Also make a ext partition and dont use apps2sd, darchdroid is set by default not to use it, only if enabled in spare parts app
If you want to try and get both debian and apps2sd to work.. Try this guide here http://forum.xda-developers.com/showthread.php?t=509943.
First download is the files you will need OTHER then the debian.img
The main files
This one will be a big download. It contains the most important part.
The debian.img from here
Once download, open it up and only take the "debian.img" out of it.
This will put a 1.4gb file on your sdcard used for running debian not including the other files it uses to install and run it (they are very small). If you have a small sdcard and want the image smaller or want to enlarge the .img for more room. Use this tutorial here.
TO CHANGE FILE SIZE OF debian.img
Im going to be using adb on the computer. Much easy then typing commands into the phone terminal.
Put the all the files into a folder on your sdcard named debian.
First downloaded files and the debian.img from the 2nd download.
/sdcard/debian
Next you will need to make the directory it uses. For some reason its not creating it on the install
Code:
adb shell
su
mkdir /data/local/mnt
Next you need to install the debian.
Code:
cd /sdcard/debian
sh installer.sh
reboot
Then it should work after this. When your phone boots back up you need to install this APK here. This is what will actually run the desktop "lxde" or whatever you choose to install after this.
*****View attachment vnc.apk*****
To install put it in your android-sdk/tools folder.. where ever it may be installed and type...
Code:
adb remount
adb push vnc.apk /system/app
Or put it on your sdcard and install it using Astro or any other app installing app
Then run the debian you just installed by doing this
Code:
adb shell
cd /sdcard/debian
sh bootdeb
Then you need to run this script only once.
It will look like this
localhost:/#
type
Code:
cd /scripts/
sh onetime.sh
When it ask for password. Just type "android"
Open the vnc app
Fill out the information like so...
connection: just dont touch
Nickname: can leave blank
Password: android
Address: LocalHost
Port: 5901
Color: I used 24-bit, you can pick whatever you want. Its changeable from within the running desktop
Then click on Connect at the top. And everything should work.
TO USE TOUCH SCREEN.. DO THIS
click our menu button on our phone.
then click "Scaling" and select 1.1..
Then push the trackball 1 time and touch screen mouse will work
To run without using your computer. Download a terminal from the market and type this...
Code:
su
cd /sdcard/debian
sh bootdeb
Then open up your vnc app and press connect.
To use icewm.. more simple looking desktop. Runs smoother
First you need icewm while running bootdeb
Code:
localhost:/# apt-get install icewm
Then to switch between ice and ldxe do this in terminal on your phone. This is actually easy do to using the trackball
Code:
localhost:/# nano /root/.vnc/xstartup
Scroll down to lxsession and delete it.. then type xterm
Save changes by pressing track ball once and the letter o. Then press enter. Exit out by pressing the track ball once again and type the letter x.
Then connect using VNC.apk and it will load the new desktop.
Delete xterm and type lxsession to change back.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
omfg thank you so much. I'll try this as soon as I get home <33333
edit: I assume this fixes the permission errors I was getting on the thread I created about running the full de on the hero.
Thanks dude, thats awesome! I will have to take a look at it when I get home as well
Linux Rules!
good one jus debian on a hero classic
Jus FTW! Now I wonder if we can start doing the same for other linux distros.
Re: Install debian and use lxde
This is pretty geek-chic, I love it.
Actually, I do have a question about it. Anyway to boot and use Deb without VNC?
It sounds like it's an ARM compiled, headless Debian install running in the background, which is why you need VNC to access it, correct?
Is it network aware? How fast is it?
no way...RAD!!!
I have tried to install following instructions using terminal on he phone......seems like I get through the install.sh ok then after reboot try to run the bootdeb and it says not found.? also I get the vnc fails when trying to connect?
I am sure i am doing something wrong but not sure what.
any suggestions?
I forgot to say THANKS Jus!
i get "bootdeb not found" when i know i copied it over.. i'm going to try again.
alright, copied the files again the same thing. i'm interested in this! it's just something else i can do my iphone friends can't lol
snip3rm00n said:
Actually, I do have a question about it. Anyway to boot and use Deb without VNC?
Click to expand...
Click to collapse
yes, if you have ssh running on it, im sure you could ssh into the system. the reason for vnc is to have a gui.
hurrah. this is pretty slick, if i had a larger sd card id do this
thedudejdog said:
i get "bootdeb not found" when i know i copied it over.. i'm going to try again.
alright, copied the files again the same thing. i'm interested in this! it's just something else i can do my iphone friends can't lol
Click to expand...
Click to collapse
I get the same thing. I know its there, I checked.
Code:
C:\android-sdk-windows\tools>adb remount
remount succeeded
C:\android-sdk-windows\tools>adb shell
# cd /sdcard/debian
cd /sdcard/debian
# ls
ls
unionfs
bootdeb
fsrw
installer.sh
mountonly
debian.tar.bz2
# bootdeb
bootdeb
bootdeb: not found
#
This is the exact same issue I used to have, and I've never been able to get it to work. I read someplace that I should try "sh bootdeb", but here's the output on that:
Code:
# sh bootdeb
sh bootdeb
uid=0(root) gid=0(root)
[H[J
a888a
d888888b
8P YP Y88
8|o||o|88
8. .88
8 ._. Y8.
d/ 8b.
.dP . Y8b.
d8: ::88b.
d8 Y88b
:8P :888
8a. : _a88P
._/ Yaa_ : .| 88P|
\ YP | 8P \.
/ \._____.d| .|
--..__)888888P ._.|
Usage: mount [-r] [-w] [-o options] [-t type] device directory
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
Type EXIT to end session
Make sure you do a proper EXIT for a clean kill of Debian!
chroot: can't change root directory to /data/local/mnt: No such file or directory
Shutting down Debian........
#
Any ideas?
UPDATES / EDITS:
I also tried:
Code:
#su bootdeb
gave no output and seemed to go fine, but upon trying to connect through vnc, said vnc connection failed. So the I tried:
Code:
#./bootdeb
and got "permission denied". So THEN I tried:
Code:
#su ./bootdeb
And again seemed like everything was cool, but VNC still said connection failed. I've tried connecting using both LocalHost and 127.0.0.1, still nada.
how come the graphics look so ****ty? i mean tp2 users can run ubuntu and it looks perfect.
thedudejdog said:
i get "bootdeb not found" when i know i copied it over.. i'm going to try again.
alright, copied the files again the same thing. i'm interested in this! it's just something else i can do my iphone friends can't lol
Click to expand...
Click to collapse
Try to type
sh bootdeb
And make sure you
cd /sdcard/debian
drummingfool said:
I get the same thing. I know its there, I checked.
Code:
C:\android-sdk-windows\tools>adb remount
remount succeeded
C:\android-sdk-windows\tools>adb shell
# cd /sdcard/debian
cd /sdcard/debian
# ls
ls
unionfs
bootdeb
fsrw
installer.sh
mountonly
debian.tar.bz2
# bootdeb
bootdeb
bootdeb: not found
#
This is the exact same issue I used to have, and I've never been able to get it to work. I read someplace that I should try "sh bootdeb", but here's the output on that:
Code:
# sh bootdeb
sh bootdeb
uid=0(root) gid=0(root)
[H[J
a888a
d888888b
8P YP Y88
8|o||o|88
8. .88
8 ._. Y8.
d/ 8b.
.dP . Y8b.
d8: ::88b.
d8 Y88b
:8P :888
8a. : _a88P
._/ Yaa_ : .| 88P|
\ YP | 8P \.
/ \._____.d| .|
--..__)888888P ._.|
Usage: mount [-r] [-w] [-o options] [-t type] device directory
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
Type EXIT to end session
Make sure you do a proper EXIT for a clean kill of Debian!
chroot: can't change root directory to /data/local/mnt: No such file or directory
Shutting down Debian........
#
Any ideas?
UPDATES / EDITS:
I also tried:
Code:
#su bootdeb
gave no output and seemed to go fine, but upon trying to connect through vnc, said vnc connection failed. So the I tried:
Code:
#./bootdeb
and got "permission denied". So THEN I tried:
Code:
#su ./bootdeb
And again seemed like everything was cool, but VNC still said connection failed. I've tried connecting using both LocalHost and 127.0.0.1, still nada.
Click to expand...
Click to collapse
Same problem i had... You have to do
mkdir /data/local/mnt
and then cd /sdcard/debian and run it again
Also to everyone
Read the instructions again.. I added
how to use touch screen and how to fix the mounting problem
fixxxer2008 said:
how come the graphics look so ****ty? i mean tp2 users can run ubuntu and it looks perfect.
Click to expand...
Click to collapse
The graphics are also pretty nice.. I used 256 color for the first screen shot. If you use 24bit it cleans it up really nicely.
I did everything per new instructions and all was good up to the sh bootdeb part, I get a readout of a bunch of crap then: chroot: cant execute '/bin/bash': No such file or directory.
But i am closer than last time and getting anxious
beerock said:
I did everything per new instructions and all was good up to the sh bootdeb part, I get a readout of a bunch of crap then: chroot: cant execute '/bin/bash': No such file or directory.
But i am closer than last time and getting anxious
Click to expand...
Click to collapse
Do
adb shell
cd /sdcard/debian
sh installer.sh
sh bootdeb
cd /scripts/
sh onetime.sh
if it ask for password.. just type android

[experimental] Debian running like a charm on Defy!!!

Hi. Well, I've researched a lot to get to this. For now, I haven't used the mount commands (because there isn't support for loop devices, or at least, that I think; in my stock rom). Because of that, the files are in a folder in the Filesystem of android.
There are Screenshots at the end of my post.​
The steps are a little bit long, but I assure you, that LXDE running on VNC + debian applications (like amsn, ice weasel, etc) is f*cking amazing.
Revision of the Tutorial: 3. Date: 14/feb/2011.
What you need:
A PC with Debian (lenny or squeeze) or a VM with that OS (you can use Ubuntu too) with 2GB or more disk free space
A internet connection (or packages of Debian armel locally downloaded)
A rooted Motorola Defy (requiered to run some commands later)
Overclocked Motorola Defy (optional, but increases the performance) (find "SetVsel" on market)
At least 300MB (for "console only") or 750MB (for "console" and graphical stuff) on the /data/local of the internal phone memory (I'm not using mount points, for some software issues with the kernel)
Same amount of free space on your SD (to copy files from PC to Internal storage. you could use adb, but I like the SD method, as you don't need any drivers)
A lot of time to do this (optional hehehe)
As I don't like to use "su" or "sudo" commands, I use a Root Terminal.
(sudo su)
Well, create a directory in your account folder, I mean if you're the user "cocus", create a folder called /home/cocus/debian
You could use any other folder, but take care in the scripts, and replace with the one that you're using.
We have to be in the parent folder, so make a cd to /home/cocus/
Next, get the packages to create the deboostrap, and run the chroot.
To do this, if you're on Debian run the following:
Code:
apt-get install qemu-user-static debootstrap
But if you're on Ubuntu, use this:
Code:
apt-get install qemu-arm-static debootstrap
Then, we have to get the armel files, using deboostrap:
If you want to install Debian Lenny (5.0, tested by me)
Code:
debootstrap --verbose --arch=armel --foreign lenny debian http://ftp.us.debian.org/debian
And for Debian Squeeze (6.0, tested by johnw.xda without the graphical stuff)
Code:
debootstrap --verbose --arch=armel --foreign squeeze debian http://ftp.us.debian.org/debian
In fact, we could use a Ubuntu distro, like karmic. But I recommend debian, because it has more support for armel.
Ok, that will be at least 5 mins downloading data and unpacking other stuff. When that finishes, we have to tweak the system to run without errors.
First thing, is to create the mount point of the sdcard (in fact, is a system link).
Code:
mkdir debian/sdcard
Second thing, is to run the chroot and configure some things:
Code:
cp /usr/bin/qemu-arm-static debian/usr/bin
chroot debian /bin/bash
If succed, you will have a # (root) shell, then put the following:
Code:
/debootstrap/debootstrap --second-stage
adduser
Then provide a username and password.
Now run the following, to fix some configs:
Code:
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
If you're installing Debian Lenny, then run this:
Code:
echo 'deb http://ftp.us.debian.org/debian lenny main contrib non-free' > /etc/apt/sources.list
apt-get update
But if you're installing Debian Squeeze, then run this:
Code:
echo 'deb http://ftp.us.debian.org/debian squeeze main contrib non-free' > /etc/apt/sources.list
apt-get update
With that, the system will run ok in the Defy, but I would like to add the x11, lxde, vnc packages (because installing on the chroot in pc is more faster than in the phone).
If you want LXDE, then do:
Code:
apt-get install lxde tightvncserver
But if you prefer IceWM instead LXDE, then:
Code:
apt-get install icewm tightvncserver
Ok, I really dont remember, but that stuff cost about 350MB more of disk. By the way, while installing the packages, it might ask something, you just say Ok on all messages and complete if it requieres.
Once finished, type
Code:
exit
Well, now we have to fix the "LC_LOCALE" error, and the "HOME=/root" for conveinence. To do that, in your local Debian (not the chroot), add the following lines to the file
/home/cocus/debian/etc/init.d/rc.
Code:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
export $PATH
export HOME=/root
export LC_ALL=C
Add these lines replacing the original PATH.
After that, we have to move the files to internal storage, so, to do that, I've used tar bzip2 to compress all the files and saving the attributes too.
Code:
tar -cjf /home/cocus/debian.tar.bz2 /home/cocus/debian/*
That command will generate a file in /home/cocus called debian.tar.bz2. Once you've got this, copy to your SD.
By the way, create a file called bootdeb in the SD root, with the following contents:
Code:
echo " "
echo " a888a "
echo " d888888b "
echo " 8P YP Y88 "
echo " 8|o||o|88 "
echo " 8. .88 "
echo " 8 ._. Y8. "
echo " d/ 8b. "
echo " .dP . Y8b. "
echo " d8: ::88b. "
echo " d8 Y88b "
echo " :8P :888 "
echo " 8a. : _a88P "
echo " ._/ Yaa_ : .| 88P| "
echo " \ YP | 8P \. "
echo " / \._____.d| .| "
echo " --..__)888888P ._.|"
echo " "
echo " COCUS WAS HERE (I hate JAVA) "
export mnt=/data/local/debian
export TERM=linux
export HOME=/root
export OLDPATH=$PATH
echo "mnt: $mnt"
echo "PATH: $PATH"
echo "TERM: $TERM"
echo "HOME: $HOME"
busybox mount -o bind /dev $mnt/dev
busybox mount -o bind /sys $mnt/sys
busybox mount -o bind /proc $mnt/proc
busybox mount -o bind /sdcard $mnt/sdcard
busybox mount -t devpts devpts $mnt/dev/pts
echo "Type EXIT to end session"
echo "Make sure you do a proper EXIT for a clean kill of Debian!"
echo " "
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
busybox chroot $mnt /bin/bash
#After exit command is executed clear it all up
busybox umount -f /data/local/debian/dev/pts /data/local/debian/proc /data/local/debian/sys /data/local/debian/sdcard /data/local/debian/dev
export PATH=$OLDPATH
echo "Filesystems have unmounted"
Create another file, called vnc with the following contents:
Code:
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 1280x720
(you could change the resolution of the X11 desktop there )
And at last, create the last file called xstartup. Take care here, if you have choosed LXDE, use the following:
Code:
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
But if you've choosed IceWM, then use:
Code:
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
xterm
Here, we have to run commands, but in the phones shell (adb, ssh, terminal emulator).
Remember to mount the SD again (in the case that youre using USB SD Massive storage).
Well, we have to get root access in the shell, so you have to root your Defy first. If you have root acces, then run the following in your mobile:
Code:
mkdir /data/local/debian
cp /sdcard/bootdeb /data/local
busybox tar -xvf /sdcard/debian.tar.bz2 -C /data/local
rm /data/local/debian/root/.vnc/xstartup
cp /sdcard/xstartup /data/local/debian/root/.vnc/xstartup
cp /sdcard/vnc /data/local/debian/bin/vnc
ln -s /data/local/bootdeb /system/bin/bootdeb
chmod 0755 /data/local/bootdeb
chmod 0755 /data/local/debian/bin/vnc
If everything worked and no errors appeared, then you can run debian via your Terminal Emulator:
Code:
bootdeb
And you should get the debian shell, and then run:
Code:
vnc
to start vnc server on localhost. Take note of the localhost:x (where x is a number). That number is what you have to use to connect, I mean:
If the number is 1:
the port is 5901
If the number is 9:
the port is 5909
Thats all!
I will try to make a yaffs2 image to mount, but I really dont trust on the mount command, because it gives me a lot of errors, even with correct stuff.
Some Screenshots:
pictures are 403 Otherwise great stuff dude!
Did you tried Debian 6.0?
Lenny = 5.0
Squeeze = 6.0
Code:
build-arm-chroot --verbose --arch=armel --foreign squeeze debian http://ftp.us.debian.org/debian
For the dumb ppl here, the second screenshot is of your phone running an OS?
Sent from my MB525 using XDA App
bash: build-arm-chroot: command not found
which package.deb include build-arm-chroot?
To see the pics : right-clic => open image in new tab
DrogenDiego said:
pictures are 403 Otherwise great stuff dude!
Click to expand...
Click to collapse
Don't work for me to
mick711 said:
Don't work for me to
Click to expand...
Click to collapse
DONT click on the link. Copy the link location or the url and then paste in url browser.
Echo " COCUS WAS HERE (I hate JAVA) ".... nevertheless well done. I will try it with squeeze.
I was wondering what exactly is the final result here, maybe a REMOTE lxde (GUI for debian) for my defy running on PC or something like that..
well i got my answer here:
http://www.androidfanatic.com/community-forums.html?func=view&catid=9&id=1615
So, if you have the same doubt, NO, it's not a remote desktop, it is debian + lxde (or IceWm) running directly on your defy.
The connection through vnc is just a workaround to make it working.
Thanks Cocus for your nice step-by-step guide.
Hi. Thanks for the feedback. I've reuploaded the images to imageshack, now you can see them without any 403.
johnw.xda said:
bash: build-arm-chroot: command not found
which package.deb include build-arm-chroot?
Click to expand...
Click to collapse
Hi john, are you running the command in Debian or Ubutnu?
Did you run the command of debootstrap?
Code:
# apt-get install debootstrap
walter79 said:
Did you tried Debian 6.0?
Lenny = 5.0
Squeeze = 6.0
Code:
build-arm-chroot --verbose --arch=armel --foreign squeeze debian http://ftp.us.debian.org/debian
Click to expand...
Click to collapse
Nope, I haven't tryied it. In fact, I was trying to get it working. Now I would try to do some interesting things.
chaihg said:
For the dumb ppl here, the second screenshot is of your phone running an OS?
Sent from my MB525 using XDA App
Click to expand...
Click to collapse
In fact, the kernel is the one that the phone booted. The only thing that I've done, is changing the root (/) path to another one, that is like swap the filesystem to another one. The other path, contains the debian root, so you will have a debian root, instead the default of your phone. With that, we can use the debian (armel) features, like aptitude (apt-get install) and such.
If anyone knowns how to mount images on loop or any thing like, please feel free to comment. I'm running out of space in my device (almost 10mb left). So, the image mount could be the best option, but I can't figure how to do that in the stock kernel.
cocus said:
Hi. Thanks for the feedback....
Click to expand...
Click to collapse
Hi cocus,
is there any way to get it working without the vnc part? I mean, it would be great if we could load debian and lxde from our defy regardless of the vnc connection.
If i'm not wrong, to boot propely it needs to load some drivers from PC, that's why we need the vnc. Is it correct?
xdaid said:
Hi cocus,
is there any way to get it working without the vnc part? I mean, it would be great if we could load debian and lxde from our defy regardless of the vnc connection.
If i'm not wrong, to boot propely it needs to load some drivers from PC, that's why we need the vnc. Is it correct?
Click to expand...
Click to collapse
The fact is, debian doesn't have access to the display. I really don't know why, because I'm kinda dumb on linux stuff.
If somebody knowns how to add graphical support (display), and/or mouse (touchscreen), it would be great. And, we could just close the dalvik and run the debian (a lot of ram would be free to use).
Now im trying to use the camera, audio and mic. They appears in /dev/, so the drivers are working fine, but I don't know with application to use.
If you can install Debian on a Defy, why isn't it possible to install Gingerbread ? :/
geecko said:
If you can install Debian on a Defy, why isn't it possible to install Gingerbread ? :/
Click to expand...
Click to collapse
Not exactly installed. Let me clarify it.
The linux file system consists of directories and start at the root directory. (/). Imagine the Windows95 directory, and change the boot to the path of Windows98. Technically what boots (in this case the kernel) is the same, but what changes is the directory. So you'll have a working Debian, as if it were actually installed, but it really is not.
Debian can not access the screen (at least I do not know how to set it up) so you have to use VNC server locally to access the X11 (display manager).
Take into account that anything here is emulated at all, is running all native.
I really don't known nothing about Gingerbread.
cocus said:
Hi john, are you running the command in Debian or Ubutnu?
Did you run the command of debootstrap?
Code:
# apt-get install debootstrap
Click to expand...
Click to collapse
hi cocus, yes i did install debootstrap, on my debian/and64.
dpkg -L debootstrap can not found build-arm-chroot too
which debian are you using? mine is unstable + testing.
thank you.
johnw.xda said:
hi cocus, yes i did install debootstrap, on my debian/and64.
dpkg -L debootstrap can not found build-arm-chroot too
which debian are you using? mine is unstable + testing.
thank you.
Click to expand...
Click to collapse
Hi, I'm using Lenny on x86. (VM is VMWare Workstation).
You could download the netinstall iso, and install on a new VM.
It might be a problem with your AMD64. Thus I don't really know. Try installing x86 on a VM.
cocus said:
Hi, I'm using Lenny on x86. (VM is VMWare Workstation).
You could download the netinstall iso, and install on a new VM.
It might be a problem with your AMD64. Thus I don't really know. Try installing x86 on a VM.
Click to expand...
Click to collapse
can you show me the output?
shell$ dpkg -S build-arm-chroot
also
shell$ which build-arm-chroot
and
shell$ dpkg -L debootstrap | grep build-arm-chroot
thank you.
johnw.xda said:
can you show me the output?
shell$ dpkg -S build-arm-chroot
also
shell$ which build-arm-chroot
and
shell$ dpkg -L debootstrap | grep build-arm-chroot
thank you.
Click to expand...
Click to collapse
Hi. I've done all of that, but without any outputs, and a lot of errors. I've researched, and I've made a mistake in my info.
Replace build-arm-chroot with debootstrap. Its the same.
(now edited on the main post)
Sorry for the inconvenience.
cocus said:
Hi. I've done all of that, but without any outputs, and a lot of errors. I've researched, and I've made a mistake in my info.
Replace build-arm-chroot with debootstrap. Its the same.
(now edited on the main post)
Sorry for the inconvenience.
Click to expand...
Click to collapse
ok. i will retry it, when i back to home.
thank you.
can you run vim on your defy?
i really miss it, when i want to edit plain text file.

[DUMP] Sidekick 4G Partition + Kernel Source (Bootloader, Recovery, etc)

Credit to sofauxboho for performing dumps.
Partition Dump
http://gititbit.ch/sk4g2 - partition dump
Code:
bml1 256 KB contains boot.bin (262144 bytes), Primary Boot Loader (low-level hardware initialization)
bml2 256 KB contains PIT file first 512 bytes
bml3 10240 KB /dev/block/stl3 /efs
bml4 1280 KB contains Sbl.bin (1310720 bytes) Secondary Boot Loader (loads the Linux kernel and passes the necessary arguments)
bml5 1280 KB contains Secondary Boot Loader (for recovery, ect)
bml6 5120 KB param.lfs /mnt/.lfs j4fs
bml7 7680 KB contains zImage and initramfs
bml8 7680 KB empty - on Epic 4G and Fascinate, contains recovery.bin
bml9 293376 KB factoryfs.rfs ( /system RFS Partition) /dev/block/stl9
bml10 137216 KB dbdata.rfs ( /dbdata RFS Partition) /dev/block/stl10
bml11 35840 KB cache.rfs ( /cache RFS Partition) /dev/block/stl11
bml12 12800 KB modem.bin
EDIT: It has come to my attention that the Super One Click works, no need for a script.
More Mirrors
http://gititbit.ch/sk41 - Sidekick 4G system dump
http://gititbit.ch/sk4g1 - Sidekick 4G Info Dump
dev.txt
devblock.txt
efs.txt
mount.txt
partitions.txt
proc.txt
Kernel + Platform Source
http://gititbit.ch/sk4g5 - SGH-T839_OpenSource.zip
Now for custom roms...
SK4G development chat can be found at irc.freenode.net #sk4g
hey, sorry i'm not super code-savvy.... do i simply place the .rar file on my sd card, or open it with say, 7zip, and copy the autoroot folder over? i'm getting 'unable to chmod, operation not permitted' the second way, and 'not found, no such directory, etc' when i place the .rar file on my sd card. both of these are appearing after the first line with chmod 755 etc.
Use winrar to extract the .rar then place the extracted folder onto the sdcard.
dasmoover said:
Use winrar to extract the .rar then place the extracted folder onto the sdcard.
Click to expand...
Click to collapse
ok, think i did that, but am still getting 'operation not permitted'..... perhaps i'll hold off and see if someone else has success with it?
Hmm...
Should line 14 specify the su file rather than the containing directory?
It currently reads:
Code:
cp su /system/xbin/ && chmod 4755 /system/xbin/
But perhaps it should read:
Code:
cp su /system/xbin/ && chmod 4755 /system/xbin/su
Updated the script in the main download.
yogi2010 said:
hey, sorry i'm not super code-savvy.... do i simply place the .rar file on my sd card, or open it with say, 7zip, and copy the autoroot folder over? i'm getting 'unable to chmod, operation not permitted' the second way, and 'not found, no such directory, etc' when i place the .rar file on my sd card. both of these are appearing after the first line with chmod 755 etc.
Click to expand...
Click to collapse
Im getting this when I try the lines too.
When I copied the autoroot folder to my SK4G, the contents of the folder were already set to 775, so there should be no need to chmod (though I also get the permission error when trying to chmod them).
The bigger issue is that my device doesn't have the cp command. I'd assume it would be in /system/bin along with things like ls and mv, but it's not.
Huh. That's odd. You guys are using the newer download, right?
Do you have any idea which chmod command is erroring out? I'm wondering if it's the chmod on the rage...bin in line 9 or the chmod on su in line 14.
Unfortunately I can't test without wiping my SK4G back to unrooted, which I would rather not do as it's my primary handset.
If you don't know which line is causing the trouble, could you try copying the kit but then entering each line manually?
sofauxboho said:
Huh. That's odd. You guys are using the newer download, right?
Do you have any idea which chmod command is erroring out? I'm wondering if it's the chmod on the rage...bin in line 9 or the chmod on su in line 14.
Unfortunately I can't test without wiping my SK4G back to unrooted, which I would rather not do as it's my primary handset.
If you don't know which line is causing the trouble, could you try copying the kit but then entering each line manually?
Click to expand...
Click to collapse
No I was usin the old link didn't try new one yet. Still says same thing on new version
Sent From SK4G
sofauxboho said:
Huh. That's odd. You guys are using the newer download, right?
Do you have any idea which chmod command is erroring out? I'm wondering if it's the chmod on the rage...bin in line 9 or the chmod on su in line 14.
Unfortunately I can't test without wiping my SK4G back to unrooted, which I would rather not do as it's my primary handset.
If you don't know which line is causing the trouble, could you try copying the kit but then entering each line manually?
Click to expand...
Click to collapse
I tried the newer download. All of the chmods error because my user doesn't own those files or already have write permissions for any of them. I don't have read, write, or execute permissions for /data/local/tmp either, so I can't list or copy to that location. But, separate from that, there is no cp command, so I can't copy anything anywhere.
jarrodlombardo said:
When I copied the autoroot folder to my SK4G, the contents of the folder were already set to 775, so there should be no need to chmod (though I also get the permission error when trying to chmod them).
The bigger issue is that my device doesn't have the cp command. I'd assume it would be in /system/bin along with things like ls and mv, but it's not.
Click to expand...
Click to collapse
Ah, right! That's why I used cat instead of cp when I rooted mine.
Try this:
Code:
#!/bin/sh
#autoroot script for sidekick v0.1
#chmod 755 autoroot.sh
echo "Copying binaries to /data/local/tmp/"
cat su > /data/local/tmp/su
cat Superuser.apk > /data/local/tmp/Superuser.apk
cat rageagainstthecage-arm5.bin > /data/local/tmp/rageagainstthecage-arm5.bin
cd /data/local/tmp/
echo "I'm about to chmod rageagainstthecage-arm5.bin"
chmod 755 rageagainstthecage-arm5.bin
echo "Executing exploit, please wait"
./rageagainstthecage-arm5.bin
sleep 20
echo "Attempting to spawn root shell"
sh
whoami
echo "Attempting to mount /system read-write"
mount -o remount,rw /dev/block/stl9 /system
echo "Attempting to copy and chmod su"
cat /data/local/tmp/su > /system/xbin/su && chmod 4755 /system/xbin/su
echo "Attempting to copy Superuser.apk"
cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
sleep 5
mount -o remount,ro /dev/block/stl9 /system
#add root entry to passwd and group
echo "root::0:0:root:/data/local:/system/bin/sh" > /etc/passwd
echo "root::0:" > /etc/group
echo "autoroot completed succesfully."
I've also added a bunch of echoed comments to help us track where things go wrong if it doesn't work.
sofauxboho said:
Ah, right! That's why I used cat instead of cp when I rooted mine.
Try this:
Code:
#!/bin/sh
#autoroot script for sidekick v0.1
#chmod 755 autoroot.sh
echo "Copying binaries to /data/local/tmp/"
cat su > /data/local/tmp/su
cat Superuser.apk > /data/local/tmp/Superuser.apk
cat rageagainstthecage-arm5.bin > /data/local/tmp/rageagainstthecage-arm5.bin
cd /data/local/tmp/
echo "I'm about to chmod rageagainstthecage-arm5.bin"
chmod 755 rageagainstthecage-arm5.bin
echo "Executing exploit, please wait"
./rageagainstthecage-arm5.bin
sleep 20
echo "Attempting to spawn root shell"
sh
whoami
echo "Attempting to mount /system read-write"
mount -o remount,rw /dev/block/stl9 /system
echo "Attempting to copy and chmod su"
cat /data/local/tmp/su > /system/xbin/su && chmod 4755 /system/xbin/su
echo "Attempting to copy Superuser.apk"
cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
sleep 5
mount -o remount,ro /dev/block/stl9 /system
#add root entry to passwd and group
echo "root::0:0:root:/data/local:/system/bin/sh" > /etc/passwd
echo "root::0:" > /etc/group
echo "autoroot completed succesfully."
I've also added a bunch of echoed comments to help us track where things go wrong if it doesn't work.
Click to expand...
Click to collapse
Type this into terminal right?
Actually, I whipped up a modified version of dasmoover's tool with my changes:
http://notfine.com/android/sk4g/autoroot-V01b-sfb.zip
Unzip that and copy the "autoroot" folder to your SD card.
Next, eject your SK, turn off USB Storage mode, and unplug it from your computer.
Then follow dasmoover's instructions (I've cleaned them up slightlly):
1. Place autoroot folder on sdcard
2. Install the Terminal Emulator app from the Marketplace
3. Open the Terminal Emulator app and type the following commands exactly, one at a time, hitting enter at the end of the line:
Code:
chmod 755 /sdcard/autoroot/autoroot.sh
./sdcard/autoroot/autoroot.sh
If the sdcard is mounted as noexec, follow these steps:
1. Place autoroot folder on sdcard
2. Install the Terminal Emulator app from the Marketplace
3. Open the Terminal Emulator app and type the following commands exactly, one at a time, hitting enter at the end of the line:
Code:
cat > /sdcard/autoroot/autoroot.sh /data/local/tmp/autoroot.sh
chmod 755 /data/local/tmp/autoroot.sh
cd /sdcard/autoroot/
./data/local/tmp/autoroot.sh
Click to expand...
Click to collapse
All credit to dasmoover, btw! Thanks, and I hope you don't mind me modifying and repackaging your tool. Just trying to help get it working.
BTW, here are some good goodies on how this root exploit works for the technical and curious:
I'd read this one first: http://intrepidusgroup.com/insight/2010/09/android-root-source-code-looking-at-the-c-skills/
And this one second:
http://dtors.org/2010/08/25/reversing-latest-exploid-release/
How did you get rid of the $ sign and get a # ? When I type the first line with the ca it sayd directory can't be found.
Sent From SK4G
I copied the new cat version onto my device and did the following:
$ chmod 755 /sdcard/autoroot/autoroot.sh
Unable to chmod /sdcard/autoroot/autoroot.sh: Operation not permitted
$ cat /sdcard/autoroot/autoroot.sh > /data/local/tmp/autoroot.sh
Cannot create /data/local/tmp/autoroot.sh: permission denied
So, I'm still stuck since /data/local/tmp isn't writable. (Also, you'll note I fixed the small error in the cat line I used.)
Ace42 said:
How did you get rid of the $ sign and get a # ? When I type the first line with the ca it sayd directory can't be found.
Sent From SK4G
Click to expand...
Click to collapse
So, the # means root. The $ means not root. The whole point of this is to get the #, which indicates a root prompt.
If it says the directory can't be found then either the command was typed incorrectly or the files are in the wrong place. The files have to be in the exact right places with the exact right names.
Download my modified version:
http://notfine.com/android/sk4g/autoroot-V01b-sfb.zip
Unzip it, and it should give you a folder called "autoroot". Inside that should be four files:
autoroot.sh
rageagainstthecage-arm5.bin
su
Superuser.apk
Make sure there is only a folder named "autoroot" with those four files inside. If there is another directory inside it won't work. If the names are at all different it won't work.
Copy this "autoroot" folder to the top level of your SD card. There should be other folders there like Music, DCIM, Playlists, and Android. Maybe some others. Make sure it's at the very top level, along with these other directories.
Here, take a look at my directory structure:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(Yes, I'm on a Mac, but your SK and Android don't care. File locations work the same on Windows or Linux or whatever. Also, I may have some folders you don't have. That's ok.)
Next, eject your SK, turn off USB Storage mode, and unplug it from your computer. **I forgot this part earlier! It's important.**
Then open up Terminal Emulator an your SK4G. Type:
Code:
cd /sdcard/autoroot
Then type:
Code:
ls
This should list the same four files above. If it does, you're ready to start the instructions I posted previously.
If it doesn't, type:
Then type:
Code:
ls /sdcard/
Let me know what it says.
jarrodlombardo said:
I copied the new cat version onto my device and did the following:
$ chmod 755 /sdcard/autoroot/autoroot.sh
Unable to chmod /sdcard/autoroot/autoroot.sh: Operation not permitted
$ cat /sdcard/autoroot/autoroot.sh > /data/local/tmp/autoroot.sh
Cannot create /data/local/tmp/autoroot.sh: permission denied
So, I'm still stuck since /data/local/tmp isn't writable. (Also, you'll note I fixed the small error in the cat line I used.)
Click to expand...
Click to collapse
Yeah, I've confirmed this problem.
Folks, this thing won't work right now. We need a location that is both writable and allows execution. Any ideas?
(To confirm, you can still root by using adb to manually put these files at /data/local/tmp/ For some reason, adb has rights to this location. However, the standard Terminal Emulator does not. This is only a hang-up for on-device rooting, not rooting in general.)
sofauxboho said:
Yeah, I've confirmed this problem.
Folks, this thing won't work right now. We need a location that is both writable and allows execution. Any ideas?
Click to expand...
Click to collapse
I've poked around some and not found anywhere yet. :/

[DEV] Chroot Ubuntu

here you go chroot ubuntu
So you have a working rootfile system like hd2
put the root file system on sdcard location /sdcard/ubuntu
place the two files in /sdcard/ubuntu
(run as root ) just install with -> sh install.sh And READ
installing vnc
in ubuntu linux terminal ->
export USER=root
vncserver -geometry 1024×750
nano /root/.bashrc
Add this to the beginning
###########################
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 1280×750
########################### ctrl+x to save
Thanks to,
aligatro2010 4 resolution
poltak11 4 helping you guyś with some more info
now connect with your own password and port 5900 or 5901 ad localhost with VNC Android !!
Just download the rootfs from the HD2 form
Ubuntu Chrootenv. <- new
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
So how does this works -->
# DONT TOUCH FIRST LINE !!!!
mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system ## lets mount the nand RW so that we can make folders
echo "SETTING VARIABLES"
export bin=/system/bin ## divine where bin is
export mnt=/data/local/ubuntu ## divine where mnt is
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH ## set path so that we can run things anywhere
export TERM=linux ## divine term
export HOME=/root ## divine home
if [ ! -d /data/local/ubuntu ] ## if there go else create data/local/ubuntu
then
mkdir /data/local/ubuntu
fi
echo "MOUNTING"
mount -t ext2 -o loop /sdcard/ubuntu/rootfs.ext2 /data/local/ubuntu ## mount a ext2 loop file from dir to dir
mount -t devpts devpts $mnt/dev/pts ### mount android devpts in root (mnt/dev/pts)
mount -t proc proc $mnt/proc ## same as above
mount -t sysfs sysfs $mnt/sys ### same as above
echo "SETTING UP NETWORK"
sysctl -w net.ipv4.ip_forward=1 ## ip forward so that we have internet from android
echo "nameserver 208.67.222.222" > $mnt/etc/resolv.conf ### as is
echo "nameserver 208.67.220.220" >> $mnt/etc/resolv.conf ### as is
echo "127.0.0.1 localhost" > $mnt/etc/hosts ## as is
echo "All credits to original creator !!!!!!!"
chroot $mnt /bin/bash #### finally lets chroot the dir and init /bin/bash meaning lets start a vm on that dir
and thats all to chrooting
ok this is pure awesome but...it would mean running 2 OS's just like the old day of running multiple os types off my old winmo phone...right?
Wow, great work! Wish the xda app had a thanks button
Sent from my SPH-D700 using XDA App
"So you have a working rootfile system like hd2
put the root file system on sdcard location /sdcard/ubuntu"
Would anyone mind explaining that beginning part? Seems like I have the folder on my SD card and the 2 files but I am missing the "working rootfile system like hd2". Does this mean i need to make an image of an already running root file system.
My apologies in advance if I am asking a noob question.
i dont understand what is hd2
So you have a working rootfile system like hd2
What is HD2 ? And do we put the two files on the Removable ( REAL SD CARD ) or the Asus Transformer ?
rm failed for -f No such file or directory
CP Can't create '/system/bin/ubuntu: Permission Denied
Type 'sh ubuntu' to boot Ubuntu
I suspect they are refering to the ubuntu.img available in the HD2 Ubuntu Dev forum, im downloading now to test, i'll post my results.
Im guessing put them on the Removable
# ls
install.sh ubuntu
# sh install.sh
Type 'sh ubuntu' to boot Ubuntu
# sh ubuntu
SETTING VARIABLES
MOUNTING
ioctl LOOP_SET_FD failed: Bad file number
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
SETTING UP NETWORK
net.ipv4.ip_forward = 1
ubuntu: line 22: can't create /data/local/ubuntu/etc/resolv.conf: nonexistent directory
ubuntu: line 23: can't create /data/local/ubuntu/etc/resolv.conf: nonexistent directory
ubuntu: line 24: can't create /data/local/ubuntu/etc/hosts: nonexistent directory
All credits to original creator !!!!!!!
chroot: can't execute '/bin/bash': No such file or directory
#
I installed from http://androidadvocate.com/?p=339 and it works great, but running ubuntu native would be much, much better.
lithiasalesjs said:
# ls
install.sh ubuntu
# sh install.sh
Type 'sh ubuntu' to boot Ubuntu
# sh ubuntu
SETTING VARIABLES
MOUNTING
ioctl LOOP_SET_FD failed: Bad file number
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
SETTING UP NETWORK
net.ipv4.ip_forward = 1
ubuntu: line 22: can't create /data/local/ubuntu/etc/resolv.conf: nonexistent directory
ubuntu: line 23: can't create /data/local/ubuntu/etc/resolv.conf: nonexistent directory
ubuntu: line 24: can't create /data/local/ubuntu/etc/hosts: nonexistent directory
All credits to original creator !!!!!!!
chroot: can't execute '/bin/bash': No such file or directory
#
Click to expand...
Click to collapse
OMG , you only have two files !!! please read OP
Alright, to you guys who don't understand (and I agree, the first post was a bit hard to understand), you need a few components first:
OP's uploaded zip containing 2 files (scripts that kinda do all the hard stuff for you):
- ubuntu
- install.sh
and
a root filesystem
The root filesystem is kinda like an image of Ubuntu and the kernel that had been ported to ARM by wizards, or something like that (correct me if I'm wrong please).
I'm pretty sure OP wants us to use an Ubuntu root filesystem for the HTC HD2, found here:
http://forum.xda-developers.com/showthread.php?t=889433
(the torrent was fairly speedy)
Anyway, I just got this working with aligatro2010's link which takes us to a guide for getting this chrooting business happening on a Nexus One. But don't panic! The guide works for our Transformer too. So yeah, follow this if you want to get it up and running this way.
But at the line that tells you to type:
vncserver -geometry 1024×800
Change the resolution to 1280x750. Thanks to aligatro2010 for correcting my resolution.
Anyway, I'm going to try and get this working with the HD2 root filesystem as OP said, and will report back my success in a while.
(Seriously the coolest thing I've found yet with my TF... I never thought you could do this... thanks OP!!!)
poltak11 said:
Alright, to you guys who don't understand (and I agree, the first post was a bit hard to understand), you need a few components first:
OP's uploaded zip containing 2 files (scripts that kinda do all the hard stuff for you):
- ubuntu
- install.sh
and
a root filesystem
The root filesystem is kinda like an image of Ubuntu and the kernel that had been ported to ARM buy wizards, or something like that (correct me if I'm wrong please).
I'm pretty sure OP wants us to use an Ubuntu root filesystem for the HTC HD2, found here:
http://forum.xda-developers.com/showthread.php?t=889433
(the torrent was fairly speedy)
Anyway, I just got this working with aligatro2010's link which takes us to a guide for getting this chrooting business happening on a Nexus One. But don't panic! The guide works for our Transformer too. So yeah, follow this if you want to get it up and running this way.
But at the line that tells you to type:
vncserver -geometry 1024×800
Change the resolution to 1280x800. BUT WAIT! I did this and it kinda cut of the status bar at the bottom, so can someone please tell me how many pixels tall the status bar is?
Anyway, I'm going to try and get this working with the HD2 root filesystem as OP said, and will report back my success in a while.
(Seriously the coolest thing I've found yet with my TF... I never thought you could do this... thanks OP!!!)
Click to expand...
Click to collapse
1280x750 is the resolution I use.
working
Alright, confirmed to have this fully working via OP's method. Details follow:
Get HD2 root filesystem:
http://forum.xda-developers.com/showthread.php?t=889433
Download the link (torrent is fast). Extract it and find rootfs.ext2 in the linux folder. Copy that onto your TF and place it in the /sdcard/ubuntu/ directory (it's around 3GB).
Get OP's scripts:
Download from the link in the first post. Extract the zip and move the 2 files to the /sdcard/ubuntu/ directory on your TF.
Alright, now we got what we want.
Go into terminal emulator on your TF (any should hopefully work... I used BTE Pro).
Type the following:
Code:
su
Gives you root privileges... note: I'm not sure if this is needed... not too familiar with Android.
Code:
cd /sdcard/ubuntu/
sh ubuntu
You should now be "chrooted" into the Ubuntu environment. That is, you've changed the root to the Ubuntu root filesystem (don't worry if you don't understand this). It should look a bit like this:
Code:
[email protected]:/#
Now to get up the VNC server so we can view a GUI (make sure you have internet connection at this step!!! We're just going to update package list and install a very small app):
Code:
apt-get update
apt-get install tightvncserver
Now you've got your vnc app installed in Ubuntu.
Now to set it up for use:
Code:
export USER=root
vncserver -geometry 1280x750
Yep! That's all set up... but yeah, nothing's happening just yet.
If you haven't already got a VNC client installed on your TF (note Android NOT Ubuntu), go here:
http://code.google.com/p/android-vnc-viewer/downloads/list
and get the latest one and install it on your device.
Now go into the app and put a Nickname ("ubuntu" might be wise), your Password (if you made one), leave Address empty, and make Port 5901.
If you want it to look nice, change Color Format to 24-bit color (4 bpp).
Now press connect and you should be in your chrooted fully-functional Ubuntu.
Oh yeah, if you want to automate this whole process so you don't have to do it everytime you reboot your TF or whatever, follow the instructions in OP about editing /root/.bashrc file. This file basically runs everytime the root user logs in... ie. everytime you start your chrooted Ubuntu. So it will do all this automatically, everytime you start (type sh ubuntu in terminal).
Did I miss anything else?
Please note:
Jhinta is the brains behind this (and those HD2 guys who managed to port Ubuntu to ARM). If you get this working properly give some thanks to him. He's the one who wrote the scripts to do this all for you (those 2 files in the /sdcard/ubuntu/ directory). I'm just trying to make it a bit easier to understand for "non-linux nerds" and to help walk you through this. Because, really, it's pretty damn cool Even if you're not familiar with Linux or Ubuntu, try it out... you might just learn something!
poltak11 said:
Alright, confirmed to have this fully working via OP's method. Details follow:
Get HD2 root filesystem:
http://forum.xda-developers.com/showthread.php?t=889433
Download the link (torrent is fast). Extract it and find rootfs.ext2 in the linux folder. Copy that onto your TF and place it in the /sdcard/ubuntu/ directory (it's around 3GB).
Get OP's scripts:
Download from the link in the first post. Extract the zip and move the 2 files to the /sdcard/ubuntu/ directory on your TF.
Alright, now we got what we want.
Go into terminal emulator on your TF (any should hopefully work... I used BTE Pro).
Type the following:
Code:
su
Gives you root privileges... note: I'm not sure if this is needed... not too familiar with Android.
Code:
cd /sdcard/ubuntu/
sh ubuntu
You should now be "chrooted" into the Ubuntu environment. That is, you've changed the root to the Ubuntu root filesystem (don't worry if you don't understand this). It should look a bit like this:
Code:
[email protected]:/#
Now to get up the VNC server so we can view a GUI (make sure you have internet connection at this step!!! We're just going to update package list and install a very small app):
Code:
apt-get update
apt-get install tightvncserver
Now you've got your vnc app installed in Ubuntu.
Now to set it up for use:
Code:
export USER=root
vncserver -geometry 1280x750
Yep! That's all set up... but yeah, nothing's happening just yet.
If you haven't already got a VNC client installed on your TF (note Android NOT Ubuntu), go here:
http://code.google.com/p/android-vnc-viewer/downloads/list
and get the latest one and install it on your device.
Now go into the app and put a Nickname ("ubuntu" might be wise), your Password (if you made one), leave Address empty, and make Port 5901.
If you want it to look nice, change Color Format to 24-bit color (4 bpp).
Now press connect and you should be in your chrooted fully-functional Ubuntu.
Oh yeah, if you want to automate this whole process so you don't have to do it everytime you reboot your TF or whatever, follow the instructions in OP about editing /root/.bashrc file. This file basically runs everytime the root user logs in... ie. everytime you start your chrooted Ubuntu. So it will do all this automatically, everytime you start (type sh ubuntu in terminal).
Did I miss anything else?
Please note:
Jhinta is the brains behind this (and those HD2 guys who managed to port Ubuntu to ARM). If you get this working properly give some thanks to him. He's the one who wrote the scripts to do this all for you (those 2 files in the /sdcard/ubuntu/ directory). I'm just trying to make it a bit easier to understand for "non-linux nerds" and to help walk you through this. Because, really, it's pretty damn cool Even if you're not familiar with Linux or Ubuntu, try it out... you might just learn something!
Click to expand...
Click to collapse
fist thing thnx for the addon info .
but its not a port ubuntu is arm ,it was nerver ported its just a arm ubuntu build and will work on any arm cpu, chroot like this is just adapt to be able to do it .
there is realy nothing special about it , but native well , uuu in time soon i think
Jhinta said:
fist thing thnx for the addon info .
but its not a port ubuntu is arm ,it was nerver ported its just a arm ubuntu build and will work on any arm cpu, chroot like this is just adapt to be able to do it .
there is realy nothing special about it , but native well , uuu in time soon i think
Click to expand...
Click to collapse
ohh! So in time we might see a nvflash version of Ubuntu that can completely replace Android? Maybe even a full package that can dual boot Ubuntu/Android natively?
Very exciting stuff, but I'm at the mercy of more intelligent devs around here. Good luck guys!
Getting some errors
/sdcard/ubuntu # sh ubuntu
SETTING VARIABLES
MOUNTING
ioctl LOOP_SET_FD failed: Device or resource busy
mount: I/O error
mount: I/O error
mount: I/O error
SETTING UP NETWORK
net.ipv4.ip_forward = 1
ubuntu: line 22: can't create /data/local/ubuntu/etc/resolv.conf: I/O error
ubuntu: line 23: can't create /data/local/ubuntu/etc/resolv.conf: I/O error
ubuntu: line 24: can't create /data/local/ubuntu/etc/hosts: I/O error
All credits to original creator !!!!!!!
chroot: can't execute '/bin/bash': Input/output error
dude2k5 said:
Getting some errors
/sdcard/ubuntu # sh ubuntu
SETTING VARIABLES
MOUNTING
ioctl LOOP_SET_FD failed: Device or resource busy
mount: I/O error
mount: I/O error
mount: I/O error
SETTING UP NETWORK
net.ipv4.ip_forward = 1
ubuntu: line 22: can't create /data/local/ubuntu/etc/resolv.conf: I/O error
ubuntu: line 23: can't create /data/local/ubuntu/etc/resolv.conf: I/O error
ubuntu: line 24: can't create /data/local/ubuntu/etc/hosts: I/O error
All credits to original creator !!!!!!!
chroot: can't execute '/bin/bash': Input/output error
Click to expand...
Click to collapse
means thats i cant mount the rootfs .
Device or resource busy -> the loop dev that we create i think it was /dev/block/loop2 is busy whit your device , you can edit the script and try any other loopX 123456 .
recommanded is to try to do the command 1 by one in adb shell or terminal
Jhinta said:
means thats i cant mount the rootfs .
Device or resource busy -> the loop dev that we create i think it was /dev/block/loop2 is busy whit your device , you can edit the script and try any other loopX 123456 .
recommanded is to try to do the command 1 by one in adb shell or terminal
Click to expand...
Click to collapse
I opened the script and saw:
/dev/block/mmcblk0p1
Little confused..sorry
edit: wait, this?
mount -t ext2 -o loop /sdcard/ubuntu/rootfs.ext2 /data/local/ubuntu
edit2: well I tried again. When I got to
mount -t ext2 -o loop2 /sdcard/ubuntu/rootfs.ext2 /data/local/ubuntu
It worked, or didnt give me an error, but right after
mount -t devpts devpts $mnt/dev/pts
I get a mount: I/O error

Android running x86 wine and solitaire!

http://forum.xda-developers.com/showthread.php?t=1258506&page=5 UPDATED GUIDE PAGE 5
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I got Android to run with wine and solitaire on CM7 and my droid. It was a total pain. But YAY.
Its hard to write a guide without being able to post links.
You need to first be able to chroot into ubuntu and create a vnc server. Then recompile the kernel for binfmt support.
Then create slackware 10.2 on vmware and install wine and qemu.. run wine and qemu. like wine notepad.exe so it creates /root/.wine. Create an image file out of that and copy that to your phones sdcard.
mount both of the ubuntu and slackware images.
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
echo ":qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff\xff:/usr/bin/qemu-i386:" > /proc/sys/fs/binfmt_misc/register
then run vncserver
export DISPLAY=0:1
my ubuntu is / in a chrooted enviroment from /data/local/ubuntu
my slackware.img is mounted /chroot (if inside chroot) or /data/local/ubuntu/chroot (if not inside chroot)
I copied /chroot/usr/gnemul/qemu-i386/* to /usr/gnemul/qemu-i386
COPY THE X86 stuff inthe the /usr/gnemul/qemu-i386/lib and usr folders. qemu will look for these x86 libraries when the x86 binaries ask for them. IMPORTANT.
copy /chroot/usr/lib/wine to /usr/lib/wine
copy the /chroot/root/.wine to /root/.wine the best you can and setup dosdevices with ln -s
put sol.exe in /root/.wine/dosdevices/c:/windows
then it should work =)
/chroot/usr/bin/wine-pthread sol.exe
I can put all this in a torrent if anyone is interested. I need to add I got qemu-i386 that was already compiled and stuck it in /usr/bin and /chroot/usr/bin though I decided not to try to chroot into my x86 image.
which would be like chroot /chroot
I might be able to not use /chroot and just copy install the x86 version of wine.deb on arm and force the architecture and let binfmt take care of the ELF.
Here is a torrent that has the ubuntu.img and all the other files.
------------------------
http://thepiratebay.org/torrent/6670616
terminal
cd /sdcard/ubuntu
sh ubuntu.sh
bootubuntu
that will get you into ubuntu.. if your kernel does not support binfmt then:
startui (starts vncserver)
/usr/bin/qemu-i386 /usr/bin/wineserver
/usr/bin/qemu-i386 /usr/bin/wine-pthread sol.exe
If it does then
startui
wine-pthread sol.exe
This sounds awesome, I gotta try it out.
I will help as much as I can. I cant post links. Soon as I can I will be a much bigger help. But I am SOOOO HAPPPY! I think we might be able to get this working without recompiling the kernel too. I will try that.
'Running native i386 linux binaries' is one thread in a forum I have been following. First you need ubuntu on android so google 'how to install ubuntu on android' which you will need a kernel that supports loop.
You can check how your kernel's .config by doing.
zcat /proc/config.gz > /sdcard/.config
I had to recompile for loop and binfmt for my droid 1 and cyanogenmod7.
I imagine this runs applications that depend on wine slower than an old vw diesel beetle trying to get on the freeway?
yareally said:
I imagine this runs applications that depend on wine slower than an old vw diesel beetle trying to get on the freeway?
Click to expand...
Click to collapse
No kidding. I bet an Overclocked dual core wouldn't be horrible though if you were running something minor.
I am going to do it on my touchpad next.. as soon as it gets android.
h&&p://img714.imageshack.us/img714/5307/yaye.jpg
Here is my bootubuntu
#modprobe ext2
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
if [ ! -d /data/local/ubuntu ]
then
mkdir /data/local/ubuntu
mkdir /data/local/ubuntu/sdcard
fi
export mnt=/data/local/ubuntu
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
mknod /dev/loop1 b 7 0
losetup /dev/block/loop1 /sdcard/ubuntu/ubuntu.img
mount -t ext2 /dev/block/loop1 /data/local/ubuntu
#mount -o loop,noatime -t ext2 $kit/ubuntu.img $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
mount /mnt/sdcard /data/local/ubuntu/sdcard
sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > $mnt/etc/hosts
echo "READY TO ROCK AND ROLL BABY! "
echo "Brought to you by NexusOneHacks.net and the open source community! "
echo " "
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
echo ":qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff\xff:/usr/bin/qemu-i386:" > /proc/sys/fs/binfmt_misc/register (WATCH OUT FOR THIS, WHEN POSTING TO FORUMS IT CREATES SPACES.. REMOVE THE SPACES!)
export DISPLAY=0:1
chroot $mnt /bin/bash
#After exit command is executed clear it all up
echo " "
echo "Shutting down Ubuntu"
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt
losetup -d /dev/block/loop2
losetup -d /dev/block/loop1
I understand doing all this for the sake of doing it as a fellow hacker (and I congratulate you on making it work), but I still would like to know (from the OP that posted this), how well is it running on your device. It's one thing to show it's possible, but I personally wouldn't go through and do it without knowing how slow it's going to (predictably) run.
Could you please shed some light on the performance (or lack thereof) you have experienced so far?
yareally said:
I understand doing all this for the sake of doing it as a fellow hacker (and I congratulate you on making it work), but I still would like to know (from the OP that posted this), how well is it running on your device. It's one thing to show it's possible, but I personally wouldn't go through and do it without knowing how slow it's going to (predictably) run.
Could you please shed some light on the performance (or lack thereof) you have experienced so far?
Click to expand...
Click to collapse
Its okay.. I have my phone at 500Mhz (not overclocked). all I have ran so far is solitaire.. and I am about to turn on swap. But it takes a bit to load. Its slow too load, once its loaded its fast.
Its for fun.
Okay you do need binfmt_misc in the kernel. NOT TRUE
I have everything down to ubuntu.img.. no slackware.img is needed.
I need to rewrite the guide to make it easier, and maybe post my ubuntu.img for some folks.
Thanks for your reply. I've thought about doing it before, but I ruled it out because I thought it would be too slow, but your results seem like it's promising enough to try out at least for fun
Thanks!
I think it will let you fake post links if you exclude the "http://" part of it if you need to do so.
yareally said:
Thanks for your reply. I've thought about doing it before, but I ruled it out because I thought it would be too slow, but your results seem like it's promising enough to try out at least for fun
Thanks!
Click to expand...
Click to collapse
Dont play counterstrike on it! =) I also have apache, and mysql-server and metasploit working.. on my ubuntu.img
Could i play with this Age of Empires 1 on my Galaxy I9000 overclocked to 1.4ghz on a reasonable speed?
thewolf16 said:
Could i play with this Age of Empires 1 on my Galaxy I9000 overclocked to 1.4ghz on a reasonable speed?
Click to expand...
Click to collapse
I don't think it's possible to know unless you try it
binfmt_misc is not required in the kernel. You have to run wineserver first, make sure its running in memory with ps.. Then you can run wine-pthread.
Here is a torrent that has the ubuntu.img and all the other files.
http://thepiratebay.org/torrent/6670616
terminal
cd /sdcard/ubuntu
sh ubuntu.sh
bootubuntu
that will get you into ubuntu.. if your kernel does not support binfmt then:
startui (starts vncserver)
/usr/bin/qemu-i386 /usr/bin/wineserver
/usr/bin/qemu-i386 /usr/bin/wine-pthread sol.exe
If it does then
startui
wine-pthread sol.exe
Congratulations! I would give anything to have the ability to just attempt something like this.
OffcerClancy said:
Congratulations! I would give anything to have the ability to just attempt something like this.
Click to expand...
Click to collapse
Thanks! you guys let me know if the torrent isnt seeding... Eventually I want to upload it somewhere...
Oh yah, if you do.
service mysql start
/opt/msf3/msfconsole
it works but I wouldnt use it for automatic exploit.. its sluggish.
mysql password is root, for user root.

Categories

Resources