Related
Hello,
I was interested in getting Hamachi to work on my newly-acquired G1. After applying Cyanogen's Mod and rooting the thing, installing Debian (yay!) and setting up all the nifty scripts to make it semi-permanent, I focused on getting Hamachi to work.
First I tried the Linux tgz but it failed ("wrong architecture, teabag!" it told me.) ..so I looked around some more, and came across a build for the Nokia N770 (Maemo something-or-other) and decided to give it a try, and holy **** if it didn't work (after some tweaking.)
NOTE: YMMV.
Make sure your phone is r00ted. Can't do it without the r00ty-juice. Also, a Debian distro is required. See here for how: http://www.saurik.com/id/10
**EDIT** I just reflashed my G1, so I had the opportunity to try again and figure out the exact steps! Here they are, as they worked for me:
01) Download the N770 Hamachi tarball: http://files.hamachi.cc/linux/nokia-770/hamachi-0.9.9.9-20-lnx-n770.tar.gz .
02) Untar/ungzip it, it will extract to hamachi-n770-0.9.9.9-20.
03) cd into there, and run sh ./install.
04) mkdir /dev/net to create the node directory in /dev.
05) mknod /dev/net/tun c 10 200 to create the tunnel device.
06) apt-get install sudo if you don't already have it.
07) apt-get install libcrypto++7 if you don't already have it.
08) ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.7
09) sudo tuncfg to get the tunnel driver started.
10) hamachi-init to set up the initial configuration and RSA keys.
11) hamachi start to start up Hamachi.
12) hamachi login to login to the Hamachi network.
13) hamachi set-nick nickname if desired.
14) hamachi join network password if desired.
Success!! Got my G1 online and logged into my Hamachi network! I did apply this Linux fix (to make it stay online within my Hamachi2 network -- this is Hamachi 0.9.9):
echo KeepAlive 10 >/root/.hamachi/config
Maybe overkill, as it's gonna send a ping every 10 seconds over the air, which I'm sure will eat up my battery after a while.
--Weasel5i2
nice! been waiting for something like this for quite some time ;D having some problems though... it won't compile... when i run make install, just keeps on giving me a "Nothing to do for target "install"" Tried removing tuncfg folder and hamachi executable too (which doesn't work btw, says libcrypto is missing), still didn't work... any ideas?
Oh, thanks for reminding me! I also did an apt-get install libcrypto++7 when it gave a linker error.
As far as Make goes, it doesn't really compile (it is precompiled) as much as just copy the binaries to the proper places in the path.. Try doing the install of libcrypto++7 and see if it works for you.
--W5i2
alright... so ive tried installing libcypto 0.9.8 and renamed it to 09.9.7.... however it still says i need to run hamachi-init which doesn"t work!
Edit: alright, got it... i had to do sh install
Thanks, seems to work!
tip: the libcrypto.so.0.9.8 wich you have to rename to libcrypto.so.0.9.7 is located in /usr/lib
Can any of you two (Fish & Zero) whom have gotten this to work confirm what you did, and if "Debian" is needed ?
TheUriel said:
Can any of you two (Fish & Zero) whom have gotten this to work confirm what you did, and if "Debian" is needed ?
Click to expand...
Click to collapse
it does work, it only works on debian at the moment, since the binaries are not designed for android. however, the network connection should work with android too, since debian and android share their connections...
all you need to do is follow the instructions, but also run
apt-get install libcrypto0.9.8 and
mv /usr/lib/libcrypto0.9.8.so /usr/lib/libcrypto0.9.7.so (something like that check ls /usr/lib)
Alright so im still breaking my neck to get this to work but i dont get it.
This guy says "4) Untar/ungzip the file, run 'make install' and it should install without errors/warnings, IIRC.. (I did this last night)". What is he talking about ? Do i download the zip file, extract the folder in it to the root of my SD ? because thats what i have done so far. And if yes after then what comes next ? I cant put his puzzle together. -.- So lost, and i really want this.
You need a working debian on your android for this to work.
and even then its helluva lot of doing magic until it so much as tells you that it's started.
My Problem for example is that when i do: "hamachi start" it tells me that it can'T access the tun device (no such device) but it's there...
Dont worry about it, i went back to Hero after getting Debian working.
Updated PP
I reflashed my phone, so I had a chance to install Hamachi and document it again. As such, I updated the parent post with the correct instructions.
Enjoy, and please let me know if anything doesn't work and I'll happily try and help with troubleshooting.
--W5i2
Hmm almost eberything works except 'hamachi start' wich throws bad response from tuncfg (/dev/net/tun no such device)
Prolly a problem with my debian installation but you got an idea without reinstalling the whole thing?
You need to make the tun device first:
# mkdir /dev/net
# mknod /dev/net/tun c 10 200
I have since rewritten the original post to have more detailed (and proper) instructions.
^_^
-W-
Tried that after it was posted here in a reply (i think)
But to no avail (tried sudo tuncfg too but nothing changed)
Can't wait to go try this.
Does anyone have any VNC viewers (preferably free) that they recommend for use with this? My computer is behind a NAT router so I need to use Hamachi to access it.
Spica
Hi all,
Am I able to install this Debian into my rooted Eclair 2.1 Samsung Spica?
Thanks in advance.
SadaT5700 said:
Hi all,
Am I able to install this Debian into my rooted Eclair 2.1 Samsung Spica?
Thanks in advance.
Click to expand...
Click to collapse
Or my Evo 4G?
I have ubuntu running on my Evo 4G per the instructions here: http://forum.xda-developers.com/showthread.php?t=720622
I've followed the hamachi install instructions in this thread, but when I try running "hamachi start" I receive the following:
07 04:33:56.732 [ 0] [6315] tap: connect() failed 111 (connection refused)
Does anyone out there have any idea on how to fix this and get hamachi running?
This would be AMAZING on the Evo. Just imagine the possibilities of remote administration.
I have it working however I can only mount linux shares I cant mount windows drives
and what sucks is the ubuntu image wont let you paste files to filesystem ,root, home, or anywere. only from terminal.
Looking for some assistance getting the NDK working properly on Windows 7 (64).
I followed all of the instructions to set up the NDK in windows but am running into an issue.
Per the instructions you need to install CYGWIN which i did and then go to the root NDK folder and run build/host-setup.sh.
Once I run this i get the following error;
ERROR: Could not find a valid GNU make executable.
Please ensure GNU Make 3.81 or later is installed.
Click to expand...
Click to collapse
I do have GNU make 3.81 installed for windows.
If i try to use cygwin to run a make APP=hello-jni as a test as it states i get the error;
bash: make: command not found
Click to expand...
Click to collapse
if i use windows command prompt i can run the make.exe fine.
I'm thinking the issue is because its trying to use a Linux based make since i would assume Cygwin cannot rune EXE files.
Could anyone assist me with this that has it set up and working properly in windows?
Any takers please?
Check 'Make' package in Cygwin setup.
Do yourself a favor and use a real operating system. Ditch that MSJUNK.
On top of that, I *strongly* suggest that NOBODY EVER use windoze for compiling ANYTHING. When you are building software for other people to use, you most *definitely* do NOT want to build software that has been compromised. Windoze is the world's number ONE compromised platform. It about as save as having your way with a 50 year old street corner hooker without protection.
From a development and user standpoint I am of course interested acquiring root for the android side of things but my main interest and focus on gaining the ability to modify and enhance the webtop image that provides the "full feature" capability for Firefox. So in a sense there is a goal for Double Root on Atrix. Rooting first the android side and then rooting the webtop Linux instance.
I am guessing from the looks of it that webtop is based on Ubuntu Light. It is also likely run in a VM otherwise the phone instance of android (Dalvik) and the Webtop could not run simultaneously. Given that the platform is probably something to the effect of:
Linux File System -----> Dalvik VM ------> Android Runtime
Linux File System -----> Some other VM? -------> Ubuntu Light
I am running under some assumptions (not having an Atrix till next week ):
* The "Some other VM" is not Dalvik since I don't think as an App VM.
So some of the questions I seek to answer right away are:
What VM is running (presumed) Ubuntu light
Does that VM have security around the disk image (singed)
Is the (Webtop disk image) encrypted/signed
What is needed to get root access on the Webtop side.
The best way to get root on the Webtop side is to go after the file system. I am guessing that will be signed but it MUST be writable at some level to save state.
Just a bunch of musings. I am looking forward to getting my atrix so I can start answering some questions.
I think getting root to one or the other will make it VERY easy to root ther other.
I for one hope it is ubuntu lite, or something debian based. Hopefully make it really easy to port over a full distro.
being able to boot into a full linux distro would be the cats meow!
i have full expectations of being able to do this within a month or two ;-)
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
jgc121 said:
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
Click to expand...
Click to collapse
well the nexus one and nexus s and dell streak and motorola Droid (OG) could run ubuntu so I hope the atrix will.
emoose said:
Linux File System -----> Dalvik VM ------> Android Runtime
Linux File System -----> Some other VM? -------> Ubuntu Light
I am running under some assumptions (not having an Atrix till next week ):
Click to expand...
Click to collapse
It's also possible that they have a Linux variant running on bare-metal, without a VM. I have seen some architectures in the embedded world that allow each CPU core to work together as a typical dual-core system, OR to boot a different OS kernel on each core.
The latter case would be the most interesting in terms of getting the most out of Linux on the Atrix, assuming the second OS can be rooted. This could (speaking with almost no knowledge of Android itself), also be another angle of attack/defeat though if that means the webtop linux kernel also needs to be signed...
Then again, a VM does make more sense in terms of the near-instant boot time of the WebTop mode.
I can't wait to see the "double root... oh my god... what does it mean???" Youtube video come out in a few weeks =)
If I can get a command prompt and root access on the Webtop instance I will sound just like the Double rainbow guy.
Things I believe to be true right now.
WebtopSession app initiates then session when you plug in HDMI. This is no different than any other peripheral launch.
WebtopSession app (speculating based on other posts) checks you connection type and provisioning. If you don't have a tethering plan it doesn't allow you ton continue. If you are on wifi it allows you to continue.
If you start off on WiFi and then change network state to mobile radio (and no tethering plan) will it discontinue the session?
The WebtopSession App doesn't look like it does anything other than manage the initiation of the Linux (Webtop) session.
There is nothing in the dumps that looks like it could remotely be a disk file which makes me think that there is a partition that is different that the normal android partitions. I would love to see a partition map of a rooted phone.
jgc121 said:
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
Click to expand...
Click to collapse
im also wondering this!
edit: Erm. Whoops. A little bit of research and it turns out Motorola has left the code in for when they test the OS in "goldfish-qemu", an Android emulator. Sorry ><
It's got to be QEMU. In the retail firmware dump in /etc/init.goldfish.sh:
Code:
# call 'qemu-props' to set system properties from the emulator.
#
/system/bin/qemu-props
So what I'm thinking after parsing the information I've got...
... WEBTOP is simply a QEMU (ARM version?) instance running off of some unknown image/partition on flash that outputs to HDMI with some hackery to support local media [mounted in the host OS, Android] and local control and USB keyboard/mouse input, along with special extensions to allow for use of the Android/host OS instance within the VM.
labsONE said:
edit: Erm. Whoops. A little bit of research and it turns out Motorola has left the code in for when they test the OS in "goldfish-qemu", an Android emulator. Sorry ><
It's got to be QEMU. In the retail firmware dump in /etc/init.goldfish.sh:
Code:
# call 'qemu-props' to set system properties from the emulator.
#
/system/bin/qemu-props
So what I'm thinking after parsing the information I've got...
... WEBTOP is simply a QEMU (ARM version?) instance running off of some unknown image/partition on flash that outputs to HDMI with some hackery to support local media [mounted in the host OS, Android] and local control and USB keyboard/mouse input, along with special extensions to allow for use of the Android/host OS instance within the VM.
Click to expand...
Click to collapse
So then you are saying it could be possible to do something like this:
https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo
jgc121 said:
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
Click to expand...
Click to collapse
Running the webtop or a full distro without any docks will be just plain awesome...
emoose said:
If I can get a command prompt and root access on the Webtop instance I will sound just like the Double rainbow guy.
Click to expand...
Click to collapse
Oh maaan. Double root all the way What does it mean???
In all seriousness, the Atrix is certainly the most interesting phone from a developers standpoint, but I'm sitting and watching for a bit as I want to see how much of a problem the signed bootloader becomes first.
So does the Signed Bootloader rule out the Double root ? or changes to the Webtop APP/Module ?
hrishi2das said:
So does the Signed Bootloader rule out the Double root ? or changes to the Webtop APP/Module ?
Click to expand...
Click to collapse
It depends. Signed bootloader refers to the fact that the phone boots only if certain partitions match the Moto signatures.
The question is, where does the Webtop mode boot from, and is any part of *that* boot process signed?
I don't know why you guys think it has to be running in a VM. It's more likely they have just install Xorg and Firefox on Android and run them, with X displaying on the HDMI.
Exactly the same as the ubuntu-on-android hacks, but instead of using VNC to view X, you just display it on HDMI.
The phone view is an X11 app which communicates with the Android system server to mirror the display.
I seriously doubt they are using QEMU or anything like that.
Bah! Edited post since my last one was way off.
Did some looking and it looks like qemu in this instance is related to running some proc emulator for android development sdk support.
There this is a bunch of stuff out if you google: android goldfish
Its related to ARM targets for the sdk and in this instance probably not webtop.
I'd still really like to see the output of:
adb shell
cat /proc/mtd
Timmmmmm said:
I don't know why you guys think it has to be running in a VM. It's more likely they have just install Xorg and Firefox on Android and run them, with X displaying on the HDMI.
Exactly the same as the ubuntu-on-android hacks, but instead of using VNC to view X, you just display it on HDMI.
The phone view is an X11 app which communicates with the Android system server to mirror the display.
I seriously doubt they are using QEMU or anything like that.
Click to expand...
Click to collapse
Agree. But from the DG's / dump could not find more interesting info except the WebtopSession.apk. I guess webtop stuff live in another patition which is actived when webtop session starting.
Could anyone who has a rooted Atrix dump the phone while webtop on?
sexydroid said:
Agree. But from the DG's / dump could not find more interesting info except the WebtopSession.apk. I guess webtop stuff live in another patition which is actived when webtop session starting.
Could anyone who has a rooted Atrix dump the phone while webtop on?
Click to expand...
Click to collapse
I don't have the webtop device. What about while the phone is plugged into the TV? If it'd help any just give me the steps and I'll do it.
Yes if you plug your phone into the tv it will be able to access webtop.
Below is a download with a flashable.zip and an ubuntu.img file.
Why is this good?
The new ics updates do not allow webtop with out a dock, kernel problems same problems as the overclocking the new kernel does not support modules at this time, Or the modules are not compiled with the new kernel. This is a suppliment then for those who wish to have a linux distro. If you plug in your phone with a regular hdmi cable you can use the pocket-cloud.apk to view the ubuntu desktop
Working:
Flash plugin 10 full desktop version, (This is a full desktop flash. from ubuntu desktop version of flash 10.1)
synaptic download
apt-get
vncserver
openssh
gdm
python
FIreFox 3.5
Firefox flash plugin working
Mozilla Thunderbird
Working on:
Wine for games, it is currently installed but missing some files if you manually download and install each lib file you should have a working wine, might be able to edit a repository
This is a chrooted enviroment made for android phones, this enviroment was build from scratch using ubuntu to build a chrooted enviroment from scratch for a rootfs file system.
To begin make sure your sdcard-ext has 3.5 gb free or more.
(if you wish to use sdcard instead of your sdcard-ext then you will have to make an edit in the linux.sh file)
To chroot into linux once your have the files in the correct spots you need only to have terminal emulator, and a vncserver connect (pocket-cloud.apk is free from the market.)
You will need to be rooted or the ability to mount a loop file, and chroot into a chrooted enviroment wich usually requires root privleges. Although there may be ways to vnc connect into it with out being rooted using adb, and adb shell, that will not be discussed here.
So if your rooted, and your have 3.5 gb free space on sdcard-ext then run the:
bioniclinux.zip from your recovery
This will push the files to the correct place, except the ubuntu.img
Put the ubuntu.img on sdcard-ext
by typeing:
adb push ubuntu.img /sdcard-ext/ubuntu.img
In your terminal emulator type: linux
(after you used the bioniclinux.zip and pushed the ubuntu.img to sdcard-ext.)
open pocket cloud free
type:
host: localhost or empty or 127.0.0.1 or 127.0.0.0.1 (not sure how many zeros)
username: ubuntu
password: ubuntu
prot 5901
Not Working:
Wine, missing files, wine is still installed if you remove it you could posiible free up some space,
apt-get update
apt-get dist-upgrade This can be fixed if you edit the /etc/acct/source.list
and fix missing packages and delete old sources, The only reason I left it was because upgradeing can breake Flash player 10.1
and dist-upgrade can breake the whole .img If anyone wants to upgrade and fix the source.list let me know
Change log:
Removed uneeded files. Freed up close to 1 gb
installed Chess 3d
upgraded apt-get
Ubuntu.img V2
if you cannot connect with those settings try
username: android
password: android
prot 5901
and if those dont work try
username: android
password: ubuntu
prot 5901
Having troubles make sure you put the ubuntu.img in the correct place, and name is case sensitive, so make sure it says ubuntu.img not Ubuntu.img
check the linux.sh in /system/xbin/linux.sh or /system/bin/linux.sh make sure it is in both places with adb you can do
adb pull /system/xbin/linux.sh
adb push /system/bin/linux.sh
adb pull /system/xbin/linux
adb push /system/bin/linux
That might fix the problem of not seeing the linux comand, if you cant mount your .img make sure inside the linux.sh it is in the correct location
for example one of the linux.sh might say /sdcard/ubuntu.img
the other might say /sdcard/-ext/ubuntu.img
for the location make sure your location of the image is in same place as the linux script
if you have the linux script or the zip you can put it on your sdcard in the same place as your ubuntu.img and type from the terminal
losetup /dev/block/loop0 /sdcard-ext/ubuntu.img
mount -o rw -t ext3 /dev/block/loop0 /data/local/mnt/Linux
Click to expand...
Click to collapse
then try
su
sh /sdcard/linux.sh
or
sh /system/xbin/linux.sh
or
sh /system/bin/linux.sh
Click to expand...
Click to collapse
that should start the chrooted enviroment
Anyone want to upload the .img to a better file sharing site? send me link for download, faster download speed would be nice.
One thing I noticed was the hostname.sh has beenchanged to an upstart service, so in order to get internet you must make an edit to the rc_enter.sh you could use a root explorer or nano editor in terminal
nano /etc/init.android/rc_enter.sh
Chane the /etc/init.d/hostname.sh to:
service start hostname
Also it would be a good idea to add this to the file just before service start hostname put:
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/init/hostname
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/hostname
echo "nameserver localhost" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
echo "nameserver 192.168.1.1" >> /etc/resolv.conf
echo "nameserver 192.168.157.1" >> /etc/resolv.conf
echo "nameserver 192.168.43.1" >> /etc/resolv.conf
(Just to be sure i also added)
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
_
Now you should get internet threw it. If you have wifi you dont need to take those steps but you will not have internet until you are connected to wifi unless you follow those steps to edit the hostname
{
"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"
}
Images of desktop and me posting and editing a post on xda forums using the full desktop version of firefox for ubuntu.
I hope we all can start to build on this img and get it to be more flavor full and userfriendly and even get some gaming.
I see that valve works now with linux maybe we can get valve to work with this.
Also this is very productive for developers, I did not install any developing tools for space, but if you wish you could easily install several tools to help you. maybe an android-kitchen or even cynanogen build tools to build kernal and such. pull your kernel config and you could easily all on your phone with this linux create and edit your bionics kernel. Or build a whole rom with cynanogen mod tools.
Another thing that would be good would be cpu overclocking and maybe even unlocking the second cpu for chrooted eviroment. It already runs when using the android, but maybe we can unlock it fully to always run like the first cpu.
Made for sdcart-ext place ubunti.img there. More updates and info will be coming hope you enjoy.
androidifyme said:
Why is this good?
The new ics updates do not allow webtop with out a dock, kernel problems same problems as the overclocking the new kernel does not support modules at this time, Or the modules are not compiled with the new kernel.
Click to expand...
Click to collapse
compatible with leak 232+?
if using stock motoblur, is this retasking the HDMI port to enable ubuntu OVER or in addition to webtop (if we have a lapdock or HD dock for example)?
sounds interesting.
At this time it does not effect webtop, I bet we could get this to work for the webtop2sd or even the regular webtop.
When the usb drive is mounted on your pc there is an action script that allows for usb mass storage, when your bionic is connect to a dock script runs to hijack the hdmi and turns on webtop, that webtop script we already have edited a few post I have seen to add different desktops and such, It would be possible to put our img in webtop if we didnt touch the scripts used to mount it. basically you would have to replace webtop with this but keep the scripts in tact to lauch webtop from your dock, if anyone wants to help I would be willing to look into this.
yes, we would need to hijack the hdmi_hotplug and either insert a mount/remount like webtop2sd, OR ... what the eventual goal of that project was... boot from USB! (was this ever accomplished on Atrix?) for that matter, do we even *need* to hijack HDMI if webtop 3.0 can run the chrooted VNC natively like a phone would? (could be a staging point)
i believe with ICS device drivers, it would be a lot simpler to hot swap linux distros on thumb drives for example, or even more daring.. dual boot into bactrack anyone?
Here is a way we can make the linux distro take over the screen and usb event paths, its originaly for the nook but if anyone wants to take a look.
http://thomaspolasek.blogspot.ca/2012/04/arch-linux-lxde-w-xorg-mouse-keyboard_16.html
Setup our DNS (only have to do this once) echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 4.2.2.2" >> /etc/resolv.conf
Update arch pacman -Syu
Install Xorg and LXDE on your Arch Linux Chroot pacman -S xorg-xinit xf86-video-fbdev xf86-input-evdev lxde
Edit your /etc/X11/Xorg.conf file cd /etc/X11 rm Xorg.conf sudo wget http://y.uk.to/files/xorg.conf (or try http://pastebin.com/raw.php?i=8CM7NKhd) You may need to edit the device references for the keyboard and mouse in Xorg.conf! (/dev/input/event5 and /dev/input/event4 might be different) More information is found below
Go on your Nook Tablet and Run the Nook Tweaks app Turn on USB-Settings ---> USB Host Mode Turn on USB-Settings ---> External VBus
Connect your USB devices to your Nook Color Tablet Obtain a female to female usb connector Connect a hub to one side of the female connector Connect a usb keyboard/mouse to the hub Connect a mini-usb to the nook and then to the other side of the female connector
If you need to figure out what devices your keyboard and mouse are on, then cd /dev/input
run the cat command on each input* .... and check if your keyboard/mouse input results in a change on the output from cat for example, when I press a key on my keyboard cat /dev/input/event5 outputs some binary characters.
Now we will setup our linux framebuffer (****UPDATE 1****)
pikpok sent me this suggestion in the comments section.
You can use "setprop ctl.stop media & setprop ctl.stop zygote" in adb shell to kill zygote server and media, if you want to return to android you can replace stop with start and run again, it's much better than chmod
Now we will setup our linux framebuffer (hack)
Try pikpok's suggestion first, if it doesn't work then try out this hack of mine.
Temporary hack to stop the android system from accessing the frame buffer device. I plan on writing a patch that toggles access to this framebuffer from linux. But right now what I do is I change permissions on the framebuffer and then wait for the android system to lose connection to the framebuffer device. Once android loses the connection I run the Xorg server on the framebuffer, it hijacks the graphics output. If anyone has any idea on a better way to this please feel free to post on the comments section. Eventually (again this is a hack) the android system will appear to freeze (the screen stops updating)
cd /dev/graphics chmod 000 /dev/graphics/fb0 chown root:root /dev/graphics/fb0
If the graphics don't freeze right away, then keep running and killing the xorg server over and over until it does.
Start LXDE session (starts Xorg Server) xinit /usr/bin/lxsession &
If everything is configured good, you will get a full LXDE desktop with mouse and keyboard support. For any xorg server problems, have a look at the /var/log/Xorg*.log file
To stop the xorg server you can run (not the safest way but it doesn't really matter for this) killall X
BAM. Fully working linux system using the linux framebuffer with mouse/keyboard support.
In addition to support the USB keyboard and mouse, it is possible for other USB devices that are support ed by linux to be connected. Example of devices such as USB-DVI, USB-SERIAL, Arduino, etc...
Notes about the SD Card and EMMC:
It is possible to chroot into any part of the filesystem of Nook as long as you have rwx access. For my personal usage I chroot into the 8th partition on the EMMC (~4GB) of space and run Arch Linux from there, I find the EMMC runs faster than the SD Card.
that is definately an interesting option, i actually have a nook & xoom i could try this out on. i think that working within the API provided by moto for HDMI cloning might be the most direct and "seamless" display option. if im not mistaken the webtop itself scales and optimizes any application into "webtop" (basically tablet) mode. this is different from a simple cloning, which is preferable the if distro was being run through VNC.
there IS however a dock configuration for webtop (2.0 im sure of, need to test 3) where the display is outputed through HDMI, but the phone display is turned into a simulated mouse and keyboard combo. this would mean it is theoretically possible to run the chrooted OS when HDMI cable is detected, and automatically retask the phone as a HID. bluetooth / usb input is also supported at this point through the dock USB ports.
additionally, HDMI audio routing is only enabled @ 1 resolution output setting (the one for lapdock, need to double check #s). utilizing this feed would probably be the ultimate goal of the linux system (and would give the OS the highest resolution audio possible to work with)
cheers!
Can I get a bump already.
Will this work with any Droid Bionic ROM? I want to install on a custom ROM for use with my LapDock.
Can this allow me to install Ubuntu as WebTop onto the Liquid ROM I am running on the Safe Partition?
Droid Bionic Running:
Unsafe Leaked 6.7.232 Webtop v3.0.0 / LapDock functions perfectly
Safe Strapped Liquid 1.5-ICS-TARGA-MR2.3 is Rooted / No Webtop / my lapdock only charges
I would like to point out that WINE will never work with this as WINE is not a CPU emulator (WINE after all stands for Wine Is Not an Emulator).
Therefore althrough WINE does work on ARM you could only run ARM compiled .exe files which right now there arnt any, this may change once Windows 8 is released for ARM but still it will be pretty useless.
Other than that great to see more device specific guides! the more devices the better
zacthespack said:
I would like to point out that WINE will never work with this as WINE is not a CPU emulator (WINE after all stands for Wine Is Not an Emulator).
Therefore althrough WINE does work on ARM you could only run ARM compiled .exe files which right now there arnt any, this may change once Windows 8 is released for ARM but still it will be pretty useless.
Other than that great to see more device specific guides! the more devices the better
Click to expand...
Click to collapse
I don't know what I am doing here but you're wrong, WINE does work for ARM and apps for x86 works and ARM plus WINE, I tried it myself a long ago with my Atrix, I think I disscused this with you before.
TravisAntonio said:
I don't know what I am doing here but you're wrong, WINE does work for ARM and apps for x86 works and ARM plus WINE, I tried it myself a long ago with my Atrix, I think I disscused this with you before.
Click to expand...
Click to collapse
I was simply repeating whats been said here http://wiki.winehq.org/ARM if you have shown otherwise then great and by all means prove me wrong but you might want to talk with the WINE ARM team to let them know what does work
This is all pretty interesting... im liking the idea of linux on my phone. I cant wait to see how this progresses.
Sent from my Transformer Pad TF300T
Wow! Thank you for this.
I do have an issue though. I would love to get this running.
I entered the information in to PocketCloud as a VNC (is that correct?) and then when I launch "linux" in terminal emulator it says that the linux module isn't found in Busybox.
I followed the instructions (at least I think I did). I flashed the zip in recovery.
What am I missing?
Thank you.
check the linux.sh in /system/xbin/linux.sh or /system/bin/linux.sh make sure it is in both places with adb you can do
adb pull /system/xbin/linux.sh
adb push /system/xbin/linux.sh
adb pull /system/xbin/linux
adb push /system/bin/linux
That might fix the problem of not seeing the linux comand, if you cant mount your .img make sure inside the linux.sh it is in the correct location
for example one of the linux.sh might say /sdcard/ubuntu.img
the other might say /sdcard/-ext/ubuntu.img
for the location make sure your location of the image is in same place as the linux script
if you have the linux script or the zip you can put it on your sdcard in the same place as your ubuntu.img and type from the terminal
su
sh /sdcard/linux.sh
or
sh /system/xbin/linux.sh
that should start the chrooted enviroment
androidifyme said:
One thing I noticed was the hostname.sh has beenchanged to an upstart service, so in order to get internet you must make an edit to the rc_enter.sh you could use a root explorer or nano editor in terminal
nano /etc/init.android/rc_enter.sh
Chane the /etc/init.d/hostname.sh to:
service start hostname
Also it would be a good idea to add this to the file just before service start hostname put:
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/init/hostname
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/hostname
echo "nameserver localhost" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
echo "nameserver 192.168.1.1" >> /etc/resolv.conf
echo "nameserver 192.168.157.1" >> /etc/resolv.conf
echo "nameserver 192.168.43.1" >> /etc/resolv.conf
(Just to be sure i also added)
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Click to expand...
Click to collapse
Issue With Above Info
Just wanted to mention this is actually off. The nameserver [DNS server] you have listed here. Sorry if this was covered before don't have time to read all replies... 192.168 is reserved only for LAN use [not to be accessible to the Internet only behind a router on a private network]. So those may work for you via WiFi on your home network, but to others they won't be able to talk to those servers [unless a few have those same addresses on their private network setup for the same function].
Then Why does it still work stupid?
It works because the last one you have 8.8.8.8 is a public DNS on the internet so Ubuntu is essentially looking for a website address and 192.168.1.1 FAIL 157.1 FAIL 43.1 FAIL 8.8.8.8 FOUND.
Resolution [verified]
Also, OpenDNS [a very fast and nice FREE DNS nameserver service available worldwide] [http://www.opendns.com/home-solutions ] (scroll down to almost bottom of page there is a dark bar that lists the 2 server addresses if they were to ever change, or you want to check out signing up for an account so you can parental control and/or set custom settings like landing page for not found address (HTTP 404 error) etc.]
Free Worldwide Name [DNS] Servers:
Primary Nameserver [DNS]: 208.67.222.222
Secondary Nameserver [DNS]: 208.67.220.220
[you can use either server as a primary or secondary they just ask you to use 222.222 as primary and 220.220 as Secondary].
So, if you want to edit the OP with those they should work in 99.99% of all cases [can't vouch for people behind the Great Firewall of China or elsewhere if they severely filter the internet [speaking to the majority here]]. Now, usually if using a router [most cable modems are routers] then if you view the below info about opening a command prompt you can open one and type ipconfig [or if not on Windows view your basic network connection info]. Look for an entry labeled Gateway: This in 99% of cases will also have a DNS server [very basic] running and would be the address you could use when on your home network [99% of routers are generally set to 192.168.1.1 or 192.168.10.1 [or some variation on this theme [and yes you could in theory use almost any set of IP addresses on a LAN but I am trying to help the majority of general users]].
Verification [semi as ping helps you know if there is even a computer, but doesn't tell you if that computer runs a DNS server sprcifically]
If you want to see if an address works for you? Then try the following [Windows command listed as that again is the majority Linux users usually know their own ping but replace ping with hping if not sure as there is a good chance hping has been installed by default or by another package already]
Open a command prompt [click Start, run, then type "cmd" [as usual without quotes] in the white box and click OK or hit <ENTER>
When the Black Screen with white text [default yours may be different but should be text only and usually says C:\Blah]
Now type:
Ping 192.168.43.1 [or whatever can even use a website like www.google.com if you would like but we are checking certain addresses here]
Now it should start listing some text on the screen. If you see something like [I stopped it usually default for ping is to try 4x then exit]:
Code:
Pinging 192.168.43.1 with 32 bytes of data:
Request timed out.
Ping statistics for 192.168.43.1:
Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),
You can't talk to anything at that address [whether it is your network or the internet doesn't have that address anywhere, or there is something suchas a firewall blocking the ping command [be sure to enable ECHO ping on your router if not [usually is] and that you check your firewall settings to be sure that it is not filtering the packets].
Sorry this got long, just wanted to explain the issue, how to address it and how to verify things fully.
---------- Post added at 01:22 PM ---------- Previous post was at 01:12 PM ----------
ErisDroid? said:
Wow! Thank you for this.
I do have an issue though. I would love to get this running.
I entered the information in to PocketCloud as a VNC (is that correct?) and then when I launch "linux" in terminal emulator it says that the linux module isn't found in Busybox.
I followed the instructions (at least I think I did). I flashed the zip in recovery.
What am I missing?
Thank you.
Click to expand...
Click to collapse
Search the Play Market for Busybox installer [I prefer the one by Sterricson] and run that, grant it root [be patient on first open it takes it a min to request root usually], then allow it do it's checks [see status bar at top of screen fill as it runs and I suggest you say yes to the backup]. When it finishes tap Install and tap Normal install if prompted. This will ensure your busybox is correctly installed [it should have been your system saying command not found not busybox command not found something is a tiny bit off should have been more like sh: can't find command unless you actually used busybox as the shell itself [not advised is doable but not advised and I don't know any devs on XDA who have set their ROMs to do so [could be wrong I am sure there are devs here I don't know ]].
Ensure you ran his installer zip in recovery so that the linux file is in /system/xbin [or system/bin [some phones go one way others go the other and yes both directories are usually always there as even if it uses xbin usually there are file links to /system/bin for everything that is actually in /system/xbin].
If his installer sets it up in a way that your phone deosn't like follow as the OP states and open the zip find that file named linux [with no extension in Windows should appear as a white blank page icon]. Once you find that file just copy to your SDCard where the ubuntu.img file is.
Once done open terminal
Type in the following
cd /sdcard <ENTER enter key go key whatever your keyboard uses>
now type linux <ENTER> and that starts the server you should see starting vnc server or something verifying it is starting [unless author of the script omitted that which I highly doubt]
NOW try opening androidvnc, pocket cloud, whatever you use [I prefer AndroidVNC, but to each their own].
---------- Post added at 01:29 PM ---------- Previous post was at 01:22 PM ----------
zacthespack said:
I would like to point out that WINE will never work with this as WINE is not a CPU emulator (WINE after all stands for Wine Is Not an Emulator).
Therefore althrough WINE does work on ARM you could only run ARM compiled .exe files which right now there arnt any, this may change once Windows 8 is released for ARM but still it will be pretty useless.
Other than that great to see more device specific guides! the more devices the better
Click to expand...
Click to collapse
Yeah this is right when speaking of Android and WINE, THOUGH THEY ARE APPARENTLY WORKING TO GET WINE ON NATIVE ANDROID YAY, oh and yes they have a proof of concept video, BUT they have yet to release it at all.
As noted by the above quote it is indeed a CPU issue, WINE is coded really only for use with x86 based processors only, you have to basically re-code the whole thing so that it can use ARM instructions AND works with Android [theres a catch because yes there is BASIC support in WINE for ARM as of 2009 [See link below] which is 99.99999% of all Android devices [there are a couple now and more coming from intel with x86 based processors but TRUST me unless they SEVERELY upgraded x86 code ARM code is MUCH better battery use wise so I won't be buying any x86 based mobile devices myself.
http://wiki.winehq.org/ARM
Original poster I am replying to was thinking more along these lines An ANDROID based WINE client that runs is not quite to market yet see:
http://www.engadget.com/2013/02/04/wine-android-windows-apps/
Another Note here folks, I love the Windows, Linux, Unix Emulator [Title as listed on play market Just search Windows Emulator it comes up as first result [as of this writing]] As it does as it says allows the install of one of those systems in Android. I am not sure how well it may run on the Bionic [I use a Tmo Galaxy S2 [T989 1.5GHz Dual Core] and the awesome Nexus 7 [ Grouper 32G] I am here as I saw this while looking at other stuff for another person's phone I am working on
P.S see how easy that was when there is a disagreement or you want to be sure you give fully qualified answers you just do a little internet searching and find reputable [best you can] sources that may settle the question between you
Can someone upload Ubuntu.img
Can someone please upload the Ubuntu.img to somewhere besides 4shared.
Just for clarification:
The first reason I put the 192.168.0.1 and 157, and 43 is because the chrooted enviroment will connect to internet if your phone has a data connection pretty much no matter what because of 8.8.8.8 yes, but if no data, I added those dns for the wifi and virtual wlan0 and lan0, or eth0 on your phone and most of those default to the above addresses,
Second the wine that is installed on here is the wine/arm, but I think there are some broken dependencies, I was only trying to get wine to run for windows programs not an os, like the qemu emulator i think there is an apk in the market or online for it.
Yes I forgot to say you would need busybox to install and run this, so first make sure you have busybx installed, rooted, /system/xbin/linux, /system/xbin/linux.sh, /sdcard/ubuntu.img
open terminal type :
linux
[email protected]:vncserver
then connect to your localhost:ubuntu:ubuntu:5901
if you have any question or errors dont be affraid to message me or post here.
RealPariah said:
Issue With Above Info
Just wanted to mention this is actually off. The nameserver [DNS server] you have listed here. Sorry if this was covered before don't have time to read all replies... 192.168 is reserved only for LAN use [not to be accessible to the Internet only behind a router on a private network]. So those may work for you via WiFi on your home network, but to others they won't be able to talk to those servers [unless a few have those same addresses on their private network setup for the same function].
Then Why does it still work stupid?
It works because the last one you have 8.8.8.8 is a public DNS on the internet so Ubuntu is essentially looking for a website address and 192.168.1.1 FAIL 157.1 FAIL 43.1 FAIL 8.8.8.8 FOUND.
Resolution [verified]
Also, OpenDNS [a very fast and nice FREE DNS nameserver service available worldwide] [http://www.opendns.com/home-solutions ] (scroll down to almost bottom of page there is a dark bar that lists the 2 server addresses if they were to ever change, or you want to check out signing up for an account so you can parental control and/or set custom settings like landing page for not found address (HTTP 404 error) etc.]
Free Worldwide Name [DNS] Servers:
Primary Nameserver [DNS]: 208.67.222.222
Secondary Nameserver [DNS]: 208.67.220.220
[you can use either server as a primary or secondary they just ask you to use 222.222 as primary and 220.220 as Secondary].
So, if you want to edit the OP with those they should work in 99.99% of all cases [can't vouch for people behind the Great Firewall of China or elsewhere if they severely filter the internet [speaking to the majority here]]. Now, usually if using a router [most cable modems are routers] then if you view the below info about opening a command prompt you can open one and type ipconfig [or if not on Windows view your basic network connection info]. Look for an entry labeled Gateway: This in 99% of cases will also have a DNS server [very basic] running and would be the address you could use when on your home network [99% of routers are generally set to 192.168.1.1 or 192.168.10.1 [or some variation on this theme [and yes you could in theory use almost any set of IP addresses on a LAN but I am trying to help the majority of general users]].
Verification [semi as ping helps you know if there is even a computer, but doesn't tell you if that computer runs a DNS server sprcifically]
If you want to see if an address works for you? Then try the following [Windows command listed as that again is the majority Linux users usually know their own ping but replace ping with hping if not sure as there is a good chance hping has been installed by default or by another package already]
Open a command prompt [click Start, run, then type "cmd" [as usual without quotes] in the white box and click OK or hit <ENTER>
When the Black Screen with white text [default yours may be different but should be text only and usually says C:\Blah]
Now type:
Ping 192.168.43.1 [or whatever can even use a website like www.google.com if you would like but we are checking certain addresses here]
Now it should start listing some text on the screen. If you see something like [I stopped it usually default for ping is to try 4x then exit]:
Code:
Pinging 192.168.43.1 with 32 bytes of data:
Request timed out.
Ping statistics for 192.168.43.1:
Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),
You can't talk to anything at that address [whether it is your network or the internet doesn't have that address anywhere, or there is something suchas a firewall blocking the ping command [be sure to enable ECHO ping on your router if not [usually is] and that you check your firewall settings to be sure that it is not filtering the packets].
Sorry this got long, just wanted to explain the issue, how to address it and how to verify things fully.
---------- Post added at 01:22 PM ---------- Previous post was at 01:12 PM ----------
Search the Play Market for Busybox installer [I prefer the one by Sterricson] and run that, grant it root [be patient on first open it takes it a min to request root usually], then allow it do it's checks [see status bar at top of screen fill as it runs and I suggest you say yes to the backup]. When it finishes tap Install and tap Normal install if prompted. This will ensure your busybox is correctly installed [it should have been your system saying command not found not busybox command not found something is a tiny bit off should have been more like sh: can't find command unless you actually used busybox as the shell itself [not advised is doable but not advised and I don't know any devs on XDA who have set their ROMs to do so [could be wrong I am sure there are devs here I don't know ]].
Ensure you ran his installer zip in recovery so that the linux file is in /system/xbin [or system/bin [some phones go one way others go the other and yes both directories are usually always there as even if it uses xbin usually there are file links to /system/bin for everything that is actually in /system/xbin].
If his installer sets it up in a way that your phone deosn't like follow as the OP states and open the zip find that file named linux [with no extension in Windows should appear as a white blank page icon]. Once you find that file just copy to your SDCard where the ubuntu.img file is.
Once done open terminal
Type in the following
cd /sdcard <ENTER enter key go key whatever your keyboard uses>
now type linux <ENTER> and that starts the server you should see starting vnc server or something verifying it is starting [unless author of the script omitted that which I highly doubt]
NOW try opening androidvnc, pocket cloud, whatever you use [I prefer AndroidVNC, but to each their own].
---------- Post added at 01:29 PM ---------- Previous post was at 01:22 PM ----------
Yeah this is right when speaking of Android and WINE, THOUGH THEY ARE APPARENTLY WORKING TO GET WINE ON NATIVE ANDROID YAY, oh and yes they have a proof of concept video, BUT they have yet to release it at all.
As noted by the above quote it is indeed a CPU issue, WINE is coded really only for use with x86 based processors only, you have to basically re-code the whole thing so that it can use ARM instructions AND works with Android [theres a catch because yes there is BASIC support in WINE for ARM as of 2009 [See link below] which is 99.99999% of all Android devices [there are a couple now and more coming from intel with x86 based processors but TRUST me unless they SEVERELY upgraded x86 code ARM code is MUCH better battery use wise so I won't be buying any x86 based mobile devices myself.
http://wiki.winehq.org/ARM
Original poster I am replying to was thinking more along these lines An ANDROID based WINE client that runs is not quite to market yet see:
http://www.engadget.com/2013/02/04/wine-android-windows-apps/
Another Note here folks, I love the Windows, Linux, Unix Emulator [Title as listed on play market Just search Windows Emulator it comes up as first result [as of this writing]] As it does as it says allows the install of one of those systems in Android. I am not sure how well it may run on the Bionic [I use a Tmo Galaxy S2 [T989 1.5GHz Dual Core] and the awesome Nexus 7 [ Grouper 32G] I am here as I saw this while looking at other stuff for another person's phone I am working on
P.S see how easy that was when there is a disagreement or you want to be sure you give fully qualified answers you just do a little internet searching and find reputable [best you can] sources that may settle the question between you
Click to expand...
Click to collapse
Thanks for the post, This is great help
Also if you wanted to try to highjack the hdmi instead of the phones frame buffer we might be able to do that.
by taking over /dev/graphics/fb1 ,I have not personaly tested this, or someone who worked on the webtop2sd might be able to use this instead of the webtop2sd linux versoin used.
You can use "setprop ctl.stop media & setprop ctl.stop zygote" in adb shell to kill zygote server and media, if you want to return to android you can replace stop with start and run again, it's much better than chmod
Now we will setup our linux framebuffer (hack)
Try pikpok's suggestion first, if it doesn't work then try out this hack of mine.
Temporary hack to stop the android system from accessing the frame buffer device. I plan on writing a patch that toggles access to this framebuffer from linux. But right now what I do is I change permissions on the framebuffer and then wait for the android system to lose connection to the framebuffer device. Once android loses the connection I run the Xorg server on the framebuffer, it hijacks the graphics output. If anyone has any idea on a better way to this please feel free to post on the comments section. Eventually (again this is a hack) the android system will appear to freeze (the screen stops updating)
cd /dev/graphics chmod 000 /dev/graphics/fb1 chown root:root dev/graphics/fb1
If the graphics don't freeze right away, then keep running and killing the xorg server over and over until it does.
Start LXDE session (starts Xorg Server) xinit /usr/bin/lxsession &
If everything is configured good, you will get a full LXDE desktop with mouse and keyboard support. For any xorg server problems, have a look at the /var/log/Xorg*.log file
To stop the xorg server you can run (not the safest way but it doesn't really matter for this) killall X
BAM. Fully working linux system using the linux framebuffer with mouse/keyboard support.
androidifyme said:
Just for clarification:
The first reason I put the 192.168.0.1 and 157, and 43 is because the chrooted enviroment will connect to internet if your phone has a data connection pretty much no matter what because of 8.8.8.8 yes, but if no data, I added those dns for the wifi and virtual wlan0 and lan0, or eth0 on your phone and most of those default to the above addresses,
Second the wine that is installed on here is the wine/arm, but I think there are some broken dependencies, I was only trying to get wine to run for windows programs not an os, like the qemu emulator i think there is an apk in the market or online for it.
Yes I forgot to say you would need busybox to install and run this, so first make sure you have busybx installed, rooted, /system/xbin/linux, /system/xbin/linux.sh, /sdcard/ubuntu.img
open terminal type :
linux
[email protected]:vncserver
then connect to your localhost:ubuntu:ubuntu:5901
if you have any question or errors dont be affraid to message me or post here.
Thanks for the post, This is great help
Also if you wanted to try to highjack the hdmi instead of the phones frame buffer we might be able to do that.
by taking over /dev/graphics/fb1 ,I have not personaly tested this, or someone who worked on the webtop2sd might be able to use this instead of the webtop2sd linux versoin used.
You can use "setprop ctl.stop media & setprop ctl.stop zygote" in adb shell to kill zygote server and media, if you want to return to android you can replace stop with start and run again, it's much better than chmod
Now we will setup our linux framebuffer (hack)
Try pikpok's suggestion first, if it doesn't work then try out this hack of mine.
Temporary hack to stop the android system from accessing the frame buffer device. I plan on writing a patch that toggles access to this framebuffer from linux. But right now what I do is I change permissions on the framebuffer and then wait for the android system to lose connection to the framebuffer device. Once android loses the connection I run the Xorg server on the framebuffer, it hijacks the graphics output. If anyone has any idea on a better way to this please feel free to post on the comments section. Eventually (again this is a hack) the android system will appear to freeze (the screen stops updating)
cd /dev/graphics chmod 000 /dev/graphics/fb1 chown root:root dev/graphics/fb1
If the graphics don't freeze right away, then keep running and killing the xorg server over and over until it does.
Start LXDE session (starts Xorg Server) xinit /usr/bin/lxsession &
If everything is configured good, you will get a full LXDE desktop with mouse and keyboard support. For any xorg server problems, have a look at the /var/log/Xorg*.log file
To stop the xorg server you can run (not the safest way but it doesn't really matter for this) killall X
BAM. Fully working linux system using the linux framebuffer with mouse/keyboard support.
Click to expand...
Click to collapse
That's interesting I would have thought you could run a script and grep the interface IP if you are tying the Cell in for data. I know this takes time and all, but what I would suggest is you could prolly throw it in the linux wrapper script you have or if that is too early in the process maybe throw a script that loads on login to the image to do so and re-build. Again I know you just started this and that takes time just throwing it out there..
Also, if it is for LAN WiFi doesn't DHCP run and able to grab an IP?
I understand the ARM deal, I just threw in the emulator name for those who don't understand what WINE truly is and are trying to find something to run a more robust Windows environment [why, I am not sure, but hey there it is LoL].
UPDATE 27th November 2014
I have added an Xposed module for the clients below that will work around the issue with Google Play services 6.5
UPDATE 25th November 2014
Google have released Google Play services 6.5 which has strengthened security, effectively making this app useless (clients will be unable to connect). Until Google either loosen the security (which is unlikely to happen), or someone somehow were able to get a hold of the private keys from the chromecast/Android TV this app will no longer work and will no longer be updated.
Thank you all for your support!
Hi everyone! I've decided to finally release my modified Cast Receiver app from the ADT-1 for Android that will work on most devices (though not sure what the minimum api requirement is).
If you don't know what this is it's basically a chromecast receiver for your Android; I use it on my Android mini PC that's hooked up to my TV.
Downloads
Last updated Nov 05 2014.
Recovery install (requires KitKat or newer, or the Xposed module below)
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiaU5WSWRxeC02Tzg
Signed
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiVDR1a1o0WFVSWjg
System install (requires KitKat or newer, or the Xposed module below)
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiNFJGUE1acGZTeFE
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiOTRoanlyX19pVmc
If you are not rooted and can only install it as a regular apk, use the signed version. Note however that casting the screen from another Android device will not work due to a signature mismatch (Google Play Services checks the signatures of the app before allowing screencasting).
If you are rooted you should go for the recovery/system install option, as that will allow screencasting to work.
Xposed module for receiver
If you want to be able to use the system install version on devices older than KitKat you can use the following Xposed module:
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiZEFrN1RqLTRFdkk
Xposed module for client
Version 6.5 and newer of Google Play services makes it impossible to connect to the receiver due to some added security. This Xposed module works around that:
https://docs.google.com/uc?export=download&id=0B4FOzj4b2EYiWG1tU3NfYWwwV00
Install
Recovery install
No special instructions needed, simply copy SYSTEM-CastReceiver.zip to the internal storage (or sdcard) on your device and flash it through your recovery (follow the instructions for your specific recovery).
Signed
Simply install the apk as you would with any apk, either through adb:
Code:
adb install -r AndroidMediaShell-signed.apk
or by installing it from your sdcard.
System install
You will need rooted adb for this to work correctly.
If you come from an old install, you can safely remove the old lib first:
Code:
adb remount && adb shell rm /system/lib/libmedia_shell_content_view.so
Once that's done, run:
Code:
adb remount && adb push libcast_shell_android.so /system/lib/ && adb shell chmod 0644 /system/lib/libcast_shell_android.so
adb remount && adb push AndroidMediaShell.apk /system/priv-app/ && adb shell chmod 0644 /system/priv-app/AndroidMediaShell.apk
(Change priv-app to app on devices older than 4.4)
Running
Amazon Fire TV
Because the Whisperplay app implements a DIAL protocol of its own on port 8008, which the Cast Receiver app also uses and that causes a conflict between the two apps.
To get the app running correctly you need to rename WhisperplayCore.apk:
Code:
adb shell mv /system/app/WhisperplayCore.apk /system/app/WhisperplayCore.apk.bak
once that's done, reboot and follow the instructions below.
For the receiver to start you can simply reboot provided you are using the system install. If you are using the signed version you need to run:
Code:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.google.android.apps.mediashell/.AutoStartListener
After that it will run automatically in the background after each reboot, so you will be good to go!
Keep in mind that it might take a few minutes for the receiver to show up in the cast list, if it doesn't show after 10 minutes, try rebooting the device.
https://drive.google.com/file/d/0B4FOzj4b2EYiNFRfVDhtZXZGcjg/view?usp=sharing
Supported Apps
Currently not every app is supported. The ones I've tried are:
YouTube - Working
Google Play Music - Working
Google Play Movies & TV - Working
Google+ - Working
Google Photos - Working
Screen Cast - Working (if you follow the instructions above)
Chrome for computer - Working
Netflix - NOT Working (I'm looking into this)
Plex - Working
Chrome for Android - Workinghttps://drive.google.com/file/d/0B4FOzj4b2EYiWVlDTWNGOEw3UTg/view?usp=sharing
Those are the ones I've tried, others may or may not work.
Whether the app will work may also depend on what device you are running the cast receiver on, as well as the region you are in.
FAQ
My device doesn't show up in the official Chromecast app
This is a known "problem" that also affects the ADT-1. There is nothing I can do about it in the Cast Receiver app, only Google can fix it by modifying the Chromecast app. Screen casting etc should work though, it's only the Devices screen that doesn't show any devices.
The receiver doesn't work on my Amazon Fire TV
Please read the instructions under the Running category.
I can't find the receiver device in the cast list
Give it a few minutes. If that doesn't work, try backing out of the app, and enter it again. If it still doesn't show, post a new reply to this thread with a log from logcat.
App X doesn't work
Get me a log when you try to initiate the connection, keeping in mind that some apps may be easier to fix than others. And some may be next to impossible due to them being regional.
How?
I've had some people ask how this was done, so I've written up a list of the changes and a brief summary here:
https://docs.google.com/document/d/1tXnjDdurdoJ4ufulzaqGpuaNpLLt6LGAUk22MO2jta4/edit?usp=sharing
You can get a patch of the smali changes here:
https://drive.google.com/file/d/0B4FOzj4b2EYiTHZBRGVUWmlSV1U/view?usp=sharing
And a bsdiff of the lib changes here:
https://drive.google.com/file/d/0B4FOzj4b2EYiNFRfVDhtZXZGcjg/view?usp=sharing
The source code of the Xposed receiver module can be found here:
https://github.com/HomerSp/XposedCastReceiverFix
The source code of the Xposed client module can be found here:
https://github.com/HomerSp/XposedCastClientFix
And finally here is the code I used while testing the receiver, and writing the MediaDrm and JmDNS code:
https://github.com/HomerSp/CastTest
Changelog
Nov 05, 2014
* Fixed receiver not working while connected to ethernet (may be restricted to the Fire TV)
Oct 29, 2014
* Fixed app not working on API level 15 (tested by me on a real device).
* Disabled logging to file - this should significantly reduce the size of the data that's used by the app.
Oct 26, 2014
* Updated to new 5.0 preview from the ADT-1.
* Lowered API level to 15 on the signed version, keep in mind that this is untested by me. This also includes disabling some DRM API calls that were added in API level 18, so Play Movies will not work on API 17 or lower.
Oct 17, 2014
* Fixed receiver not always starting correctly due to device not being provisioned, thanks to @rkirmeier!
Oct 10, 2014
* First version!
Finally I would like to give out a big thank you to @death2all110 for doing extensive testing for me, as well as providing me with the system dump from the ADT-1. I couldn't have done this without him!
Enjoy!
Great! Works flawlessly on my Ouya (CM11). Run on boot via ScriptManager.
If you need help with Netflix you know where to find me!
Hi,
First of all, thanks, because this works nicely with my laptop! I can finally cast to my living room tv that has an android device connected.
I can cast from Chrome browser (Cast Extension) on OS X, but can't from a 4.2 Android handset (I've tried youtube and google play music). Whenever I try to connect to the Server on a 4.4 radxa rock, the server disappears from the list. It comes back after 10 seconds more or less. Can I help with debug logs or something?
Thanks!
krosk said:
Hi,
First of all, thanks, because this works nicely with my laptop! I can finally cast to my living room tv that has an android device connected.
I can cast from Chrome browser (Cast Extension) on OS X, but can't from a 4.2 Android handset (I've tried youtube and google play music). Whenever I try to connect to the Server on a 4.4 radxa rock, the server disappears from the list. It comes back after 10 seconds more or less. Can I help with debug logs or something?
Thanks!
Click to expand...
Click to collapse
Do you mean 4.2 or 4.4 (you mentioned both)? I haven't tried compatibility with 4.2, but 4.4 should definitely work. In any case, I would need a logcat from the receiver device to be able to see what's wrong.
@death2all110 I probably will, yes. It seems to be restricted to the US for now - I've tried hard-coding a proxy in the code, which makes it go further, but not far enough for it to work. I'll get back to you when I have something for you to test!
HomerSp said:
Do you mean 4.2 or 4.4 (you mentioned both)? I haven't tried compatibility with 4.2, but 4.4 should definitely work. In any case, I would need a logcat from the receiver device to be able to see what's wrong.
Click to expand...
Click to collapse
My phone (4.2) is not connecting to the server (screen) in 4.4. Your app is installed in the 4.4 device. I will send you logs later.
krosk said:
My phone (4.2) is not connecting to the server (screen) in 4.4. Your app is installed in the 4.4 device. I will send you logs later.
Click to expand...
Click to collapse
Of course, I completely misread your post. Sorry!
Nexus Q Install?
Any chance this can be installed onto a Nexus Q - I would love to get my Q-Ball back up and running!
Im not having any luck on a minix 8h (stock rooted rom - 4.4.2) or Note 12.2 running cm11. Same thing happens for me. Devices show up in the list but when you try to connect it fails and that device disappears from the list for a little while. I installed using root explorer by putting the files in the respected folders then setting the correct permissions and rebooting.
rkirmeier said:
Im not having any luck on a minix 8h (stock rooted rom - 4.4.2) or Note 12.2 running cm11. Same thing happens for me. Devices show up in the list but when you try to connect it fails and that device disappears from the list for a little while. I installed using root explorer by putting the files in the respected folders then setting the correct permissions and rebooting.
Click to expand...
Click to collapse
What version of Google play services do you have installed on the sender device? Also, a logcat from the receiver would be useful.
astro128 said:
Nexus Q Install?
Any chance this can be installed onto a Nexus Q - I would love to get my Q-Ball back up and running!
Click to expand...
Click to collapse
I don't own a Nexus Q myself, so I won't be able to do any testing. The Q is running a full Android system, right? If it is, the receiver app most likely requires a later API version, or the Q doesn't support some of the features the cast receiver app requires to function.
I'm casting from a LG G3 and the Google Play services is on version 6.1.74
How can I send you the logcat? Can you PM me your email address?
rkirmeier said:
I'm casting from a LG G3 and the Google Play services is on version 6.1.74
How can I send you the logcat? Can you PM me your email address?
Click to expand...
Click to collapse
You can attach the logcat to your post, or use something like pastie.org or pastebin.com
Log attached to this post.
rkirmeier said:
Log attached to this post.
Click to expand...
Click to collapse
Am I right in assuming that's from your phone? I would need one from the receiver (your X8) because the sender wouldn't output any logging if there was anything wrong, but the receiver will
HomerSp said:
Am I right in assuming that's from your phone? I would need one from the receiver (your X8) because the sender wouldn't output any logging if there was anything wrong, but the receiver will
Click to expand...
Click to collapse
That is correct. I'll work on getting the log from my minix and tablet tonight as they both have the receiver installed and do the same thing.
HomerSp said:
Am I right in assuming that's from your phone? I would need one from the receiver (your X8) because the sender wouldn't output any logging if there was anything wrong, but the receiver will
Click to expand...
Click to collapse
Minix log attached...
Thanks!
rkirmeier said:
Minix log attached...
Thanks!
Click to expand...
Click to collapse
Okay, I know why it happens now, but not the reason unfortunately. Do you think that you would be able to get a new log when you restart the media shell service? You should be able to connect to the Minix through the local network using ADB Konnect (https://play.google.com/store/apps/details?id=com.rockolabs.adbkonnect). Simply run ADB Konnect on the device and start the connection, then from your computer run:
adb connect <ip>
adb logcat
From another terminal run:
adb shell am force-stop com.google.android.apps.mediashell
adb shell am startservice -n com.google.android.apps.mediashell/.MediaShellCastReceiverService
The problem is that the signature that is used for device authentication is empty for some reason, and your log doesn't say why (the signature is generated when the service is first started).
HomerSp said:
Okay, I know why it happens now, but not the reason unfortunately. Do you think that you would be able to get a new log when you restart the media shell service? You should be able to connect to the Minix through the local network using ADB Konnect (https://play.google.com/store/apps/details?id=com.rockolabs.adbkonnect). Simply run ADB Konnect on the device and start the connection, then from your computer run:
adb connect <ip>
adb logcat
From another terminal run:
adb shell am force-stop com.google.android.apps.mediashell
adb shell am startservice -n com.google.android.apps.mediashell/.MediaShellCastReceiverService
The problem is that the signature that is used for device authentication is empty for some reason, and your log doesn't say why (the signature is generated when the service is first started).
Click to expand...
Click to collapse
I'm mostly new to adb other then a dozen or so roots I have applied (by guide) so I'm not sure if I'm doing something wrong here or what. I can connect from both computers and on the device I enter logcat then replies with "- waiting for device -". I know I"m connected because if I try to connect again it says I'm already connected. From the other computer I get the same response for logcat and when I enter your other commands to stop/start the service I get "error: device offline"
Any ideas to work around these issues? I would really like to get you the logs as it seems to be a common issue.
rkirmeier said:
I'm mostly new to adb other then a dozen or so roots I have applied (by guide) so I'm not sure if I'm doing something wrong here or what. I can connect from both computers and on the device I enter logcat then replies with "- waiting for device -". I know I"m connected because if I try to connect again it says I'm already connected. From the other computer I get the same response for logcat and when I enter your other commands to stop/start the service I get "error: device offline"
Any ideas to work around these issues? I would really like to get you the logs as it seems to be a common issue.
Click to expand...
Click to collapse
Is USB debugging enabled on the Minix? Settings > Developer options > USB debugging should be ticked.
HomerSp said:
Is USB debugging enabled on the Minix? Settings > Developer options > USB debugging should be ticked.
Click to expand...
Click to collapse
I confirmed USB Debugging is enabled. Wouldn't this be required to even make the connection?