Wishnu: Debian on android one-click launcher and more (now with TV!) - Android General

*YO! New version can connect to a TV via HDMI. If you have a USB-host, you can also connect a keyboard and a mouse!*
Hi. I want to introduce you Wishnu. The essence of our project is the launch of computer OS Linux Debian inside an Android mobile device. Then this device connects to a computer by means of the USB-cable. Actually that allows transforming any Android device into a real computer. You can connect the phone to different computers at home, at work and on a visit and use the phone’s own screen and input equipment on the journey.
We have taken "running chrooted debian/ubuntu on android" idea as the base and created something interesting with it.
First, we have created Android application which starts Debian on android mobile device with one click (no need to type any commands in the terminal etc).
Second, we have written desktop client application which shows Debian desktop running on mobile phone on the PC or laptop with wide screen, mouse and keyboard, so this actually turns the solution to the docking station like Motorola Lapdock or devices such as Pocket Desktop, but much better, cause you don't need to buy additional docking station device and you will immediately receive tons of common desktop applications available from Debian MIPS/ARM repositories (even pdf document viewers, image editors, office with spreadsheets and presentations editors etc).
Also device SD card available inside chrooted system in /media/sharedSD dir.
Watch the video in action
And this one (sorry for the quality, I used my matreshka as a camera).
Screenshots
Currently Wishnu uses Debian 5.0 ARM image taken from this thread. We are planning to add more customized and fresh Debian and Ubuntu OS images.
System requirements
PC client
- OS Windows XP, Vista, 7 (x86) or Linux (x86, x64)
- Java Runtime Environment must be pre-installed.
- Device ADB driver on Windows (on linux no adb driver needed, but adb server should be started as root in most cases)
Android device
- MIPS or ARM
- Mobile processor 500 MHz, 256 mb RAM (Recommended: processor 1 GHz and >512 mb RAM)
- Android OS 1.5 or higher.
- The device must be rooted.
Download and install instructions
Or download on Android Market

This one is much easier to start with than existing LinuxInstaller - no need to type any commands in terminal or adb shell - just download image file and press start. Also desktop client is great idea.
Needs more options for system control though and also Ubuntu image for desktop instead of old debian.

yo, we need some response, please download our awesome application! or at least tell us why you won't do it (maybe Wishnu is useless or smb is better). Thank you!

How does it do with running heavier weight applications such as thunderbird?

agoodm said:
How does it do with running heavier weight applications such as thunderbird?
Click to expand...
Click to collapse
Actually it depends on your phone's performance. We use Sony Ericsson Xperia arc for testing and have no problems running such applications. You better try it and inform us about results)

Are you using the armel or armhf Debian distribution?

nicktastique said:
Are you using the armel or armhf Debian distribution?
Click to expand...
Click to collapse
Currently we have images of debian squeezy for armel and mipsel.

A bit busy with the holidays and all, but I will give it a look. I definitely recommend checking out armhf. I've been testing it on my Droid 3 and cursory benchmarks show it to be something like 850% faster than armel. armel is basically useless in comparison.
Debian's armhf Icweasel 9.0 was actually faster than the native Firefox Mobile 9.0 app on the SunSpider benchmark (by 80ms, but still).
Thanks for your work, looking forward to checking it out.
lokosokol said:
Currently we have images of debian squeezy for armel and mipsel.
Click to expand...
Click to collapse

Very interesting idea, and I'd love to give it a go. Unfortunately, it doesn't work for me. I get an error, "Can't connect to OS image".
The checks run okay, so everything appears to be okay.
I'm using a Samsung GS2, on 2.3.5 (stock ROM), so hardware and OS are more than adequate.
Edit: Okay, so it was the stock ROM that was the problem. I assume it doesn't support loop devices (whatever that actually means!) I've got a custom ROM on there now and it gets a lot further, but I still have an issue.
It gets to the "Starting System" stage and I get the error message "OS start failed (bad program identificator)".
So, any advice?

Thank you for your advice, guys!

nicktastique said:
A bit busy with the holidays and all, but I will give it a look. I definitely recommend checking out armhf. I've been testing it on my Droid 3 and cursory benchmarks show it to be something like 850% faster than armel. armel is basically useless in comparison.
Debian's armhf Icweasel 9.0 was actually faster than the native Firefox Mobile 9.0 app on the SunSpider benchmark (by 80ms, but still).
Thanks for your work, looking forward to checking it out.
Click to expand...
Click to collapse
Thank you very much for this hint — we are working on preparing better system images and will definitely give this option a try.

Archer said:
Very interesting idea, and I'd love to give it a go. Unfortunately, it doesn't work for me. I get an error, "Can't connect to OS image".
The checks run okay, so everything appears to be okay.
I'm using a Samsung GS2, on 2.3.5 (stock ROM), so hardware and OS are more than adequate.
Edit: Okay, so it was the stock ROM that was the problem. I assume it doesn't support loop devices (whatever that actually means!) I've got a custom ROM on there now and it gets a lot further, but I still have an issue.
It gets to the "Starting System" stage and I get the error message "OS start failed (bad program identificator)".
So, any advice?
Click to expand...
Click to collapse
Could you give us a log file of that failed launch? It should be in "/path_to_application_data/log" folder.

I tried it out and I get "Error:OS start failed (timeout expired)
Here is the log:
Code:
############Preparing Base System############
############Preparing Base System Check############
***Checking Ext2 exists/not exists***
true
***Checking system loop device file '/dev/block/wishnuloop' exists***
true
############Preparing Base System Check Finishes############
############Preparing Base System Ends############
############Mounting System Image############
############Mounting System Check############
**Checking /dev/block/wishnuloop mounted/not mounted**
#busybox losetup /dev/block/wishnuloop
/dev/block/wishnuloop: 0 /mnt/sdcard/wishnu/system.img
Return code: 0
**Check /data/data/edu.phystech.wishnu/system mounted/not mounted**
#busybox mountpoint /data/data/edu.phystech.wishnu/system
Return code: 0
############All Correct############
############Mounting System Image Ends############
############Preparing System############
############Preparing System Check############
**Check /data/data/edu.phystech.wishnu/system/dev/pts mounted/not mounted**
#busybox mountpoint /data/data/edu.phystech.wishnu/system/dev/pts
Return code: 0
**Check /data/data/edu.phystech.wishnu/system/proc mounted/not mounted**
#busybox mountpoint /data/data/edu.phystech.wishnu/system/proc
Return code: 0
**Check /data/data/edu.phystech.wishnu/system/sys mounted/not mounted**
#busybox mountpoint /data/data/edu.phystech.wishnu/system/sys
Return code: 0
**Check /data/data/edu.phystech.wishnu/system/media/sharedSD mounted/not mounted**
#busybox mountpoint /data/data/edu.phystech.wishnu/system/media/sharedSD
Return code: 0
############All Correct############
############Preparing System Ends############
############Starting System############
############Starting System Check############
############start from ip_forward############
#busybox sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
Return code: 0
#busybox chroot /data/data/edu.phystech.wishnu/system /bin/bash -l
su: applet not found
#busybox fuser -k /data/data/edu.phystech.wishnu/system
Return code: 1
#rm /data/data/edu.phystech.wishnu/system/root/.vnc/localhost:1.pid
rm failed for /data/data/edu.phystech.wishnu/system/root/.vnc/localhost:1.pid, No such file or directory
Return code: 255
############Start Failed############

According to the log your busybox is a bit "incomplete" - it doesn't include a chroot applet (which is really strange). I think reinstalling it should solve the problem (in this case busybox installer or BusyBox from android market should help).

I have tried several versions of busybox (1.19.3, 1.18.4, etc) and they all give the same error. It seems that it tries to run "busybox su" when it does not exist..

Ok, this means that we also have some problems with log printing.
Using "busybox su" seemed to be a bit safe command (it worked on all devices we have for testing). Now it turned out that it doesn't work on every device.
By the way I think I should introduce myself - I'm one of the Wishnu developers, so with any problems you can write to me.

The website claims the app on android can run by itself without using a computer. Does this mean the Debian environment is self-contained and can be run as such? The app seems to start linux, but a computer is then required to view the desktop, correct? How does one view the linux desktop from the phone itself?
The app runs fine on my phone. The image file needs to be place on the internal memory, rather than the SD card itself for it to run properly.
Droid 3 running Steel Droid 3 with root.

GoTeamScotch said:
The app seems to start linux, but a computer is then required to view the desktop, correct? How does one view the linux desktop from the phone itself?
Click to expand...
Click to collapse
You can use any VNC client from the android market to get the picture from the linux desktop on your phone.
There connection address is "localhost", port 5901 and password is "android".
You can check gallery on our site to see how it works (photo with phone connected to the TV).
e334 said:
It seems that it tries to run "busybox su" when it does not exist..
Click to expand...
Click to collapse
Checked the source code of the app - version that should be on the android market and the site shouldn't run any "busybox su" command (however it is always possible that we made a mistake).
So first of all I want to make sure that your busybox has chroot applet.
Please, could you perform "busybox chroot " command from the adb shell (or in the terminal emulator in your phone) and post here a result of this command?
If it works I'll attach the launching script (nearly the same we have in the app) and I hope we will find out what's wrong with the launching procedure.

Awesome, thank you very much for the tip! I downloaded a free VNC viewer app from the market and entered the info you gave and it worked! The desktop is a little sluggish but that's sort of to be expected, even with a dual-core phone.
This is very cool software! I didn't realize running Linux on a Droid 3 was possible as of yet because of loopback support. I've been looking into ways of installing Linux since I got the phone, but couldn't find a way around my kernel's lack of loopback. How does your software overcome this obstacle? Are there any plans of improving speed in future releases?
By the way, if your group would like a graphics designer for UI elements or website images I am available! I work for a company in Olympia, Washington making graphics (in-store signs, exterior posters, skins, icons, etc...). This seems like a cool project and I'd be willing to help out for a cup of coffee or something.

Great project.
Do you have more info on building Debian for Android? Also, how much of the "native" Debian UI apps are transferable (and usable) from the phone?

Related

Installing Debian on the G1

This was already mentioned by alansj here, but I though it was important enough to have it's own thread
Saurik has created a Debian image you can install onto your sd card. Once installed, you have the full power of debian on your phone. No more puny little busybox
Instructions and such are here.
Thanks Saurik!
I was actually looking into this earlier... let me know how it runs
cant download a few things
can not open ext2.ko......when i type insmod $kit/ext2.ko ...i get "insmod: can't open ' /sdcard/kit/ext2.ko'...some one please help me out
What graphical interface does this install, or is there one?
cbrunner said:
What graphical interface does this install, or is there one?
Click to expand...
Click to collapse
That was my question when I heard about this... I just went for it though because when I read through the instructions, I realized that everything is stored in the MicroSD card and in RAM (which is reset when the phone is rebooted)
It turns out that there is no GUI - just a good old text-based Debian install! I'm sure that someone will get one working... or maybe just port the entire BSD Subsystem along with apt so we can just forget the Market...
amgupt01 said:
That was my question when I heard about this... I just went for it though because when I read through the instructions, I realized that everything is stored in the MicroSD card and in RAM (which is reset when the phone is rebooted)
It turns out that there is no GUI - just a good old text-based Debian install! I'm sure that someone will get one working... or maybe just port the entire BSD Subsystem along with apt so we can just forget the Market...
Click to expand...
Click to collapse
This awesome article has answered tons of my questions and also seems to imply otherwise:
"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."​
In addition, this IRC channel is where the author of that article idles.
cbrunner said:
This awesome article has answered tons of my questions and also seems to imply otherwise:
"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."​
In addition, this IRC channel is where the author of that article idles.
Click to expand...
Click to collapse
Right. No gui, but you have a full working linux distro on your phone. You can apt-get just about any of the normal stuff.. You could probably even get a x-windows installation to working, although you would have to connect to it remotely - it would probably be "difficult" to get it to display a gui on the phone itself (although that would be sweet).
I've installed Saurik's image on my phone, it works great. Although if you do the "unionfs.sh" step, the wifi settings don't quite work right anymore. It won't let you enable or disable wifi.
But I was able to get an ssh server (with real user and password management) and even a samba server running on my phone quite easily with this . I've also got gcc installed, and will start playing around with developing directly on the phone (instead of having to cross compile).
Sorry for not being hip to the game, but what the heck is Debian?
donutman said:
Sorry for not being hip to the game, but what the heck is Debian?
Click to expand...
Click to collapse
Arguably the most influential distribution of Linux ever. Its package management system, apt, is awesome, and it is what Ubuntu and tons of other distros were started from.
Why would you not use Google before asking here?
can anyone help with my above mentioned problem
i want this baby to run
Is your phone connected to your computer? You lose access to the storage card when it is, I think (you can't cd to it when it's plugged in) and unplugging my phone allowed me to install the module.
/a
Installing Debian errors?
Here is what I get:
insmod $kit/ext2.ko
insmod: init_module '/sdcard/kit/ext2.ko' failed (Operation not permitted)
i've been through this, i'm not gonna explain what happens and why, but imo, the only way to get a real root is the following:
-Install telnet client to your device (from android market).
-Reboot your phone to be sure no telnet-daemons/shells are running.
-When you are on the desktop, just type "enter", "telnetd", "enter". (If you do it from the terminal app it will run under the uid of the terminal app which is not root).
-Then run the telnet client app, and connect to local host. (Or skip this step + the first one if you wanna connect from another pc)
I know it's weird, but when you run something from the terminal app it runs under the terminal app's uid, even if you run a new shell, you still are eg. "app_33", not root. and btw you will have to set the environment variables all from the same shell, that means you can't have a script cause it will run under another shell, with another uid. I'm so confused... maybe I'm wrong but android is not the most friendly environment.
aggtrfrad said:
i've been through this, i'm not gonna explain what happens and why, but imo, the only way to get a real root is the following:
-Install telnet client to your device (from android market).
-Reboot your phone to be sure no telnet-daemons/shells are running.
-When you are on the desktop, just type "enter", "telnetd", "enter". (If you do it from the terminal app it will run under the uid of the terminal app which is not root).
-Then run the telnet client app, and connect to local host. (Or skip this step + the first one if you wanna connect from another pc)
I know it's weird, but when you run something from the terminal app it runs under the terminal app's uid, even if you run a new shell, you still are eg. "app_33", not root. and btw you will have to set the environment variables all from the same shell, that means you can't have a script cause it will run under another shell, with another uid. I'm so confused... maybe I'm wrong but android is not the most friendly environment.
Click to expand...
Click to collapse
Haha I feel you. Now the thing is when I am at the home screen on my G1 i push "Enter" on the keyboard and then type "telnetd" and then push enter again it doesnt do anything. When I open up telnet client on my PC it wont connect with wifi on.
So I then go to Telnet client on myG1 and go to connect to "localhost:23" and it says "Error while connecting to server: localhost/127.0.0.1:23 - Connection refused" the thing is that my local host for my wifi is not 127.0.0.1:23
And when I "netstat" from inside Terminal Emulator there is no address with port "23"
ballaholyk84 said:
Haha I feel you. Now the thing is when I am at the home screen on my G1 i push "Enter" on the keyboard and then type "telnetd" and then push enter again it doesnt do anything. When I open up telnet client on my PC it wont connect with wifi on.
So I then go to Telnet client on myG1 and go to connect to "localhost:23" and it says "Error while connecting to server: localhost/127.0.0.1:23 - Connection refused" the thing is that my local host for my wifi is not 127.0.0.1:23
And when I "netstat" from inside Terminal Emulator there is no address with port "23"
Click to expand...
Click to collapse
Are you already running RC30?
SplasPood said:
Are you already running RC30?
Click to expand...
Click to collapse
Yes, I am running the Modified RC30 posted by JesusFreke
cbrunner said:
Why would you not use Google before asking here?
Click to expand...
Click to collapse
Because I wanted you to tell me baby. That is what a wife is suppose to do.
JesusFreke said:
Right. No gui, but you have a full working linux distro on your phone. You can apt-get just about any of the normal stuff.. You could probably even get a x-windows installation to working, although you would have to connect to it remotely - it would probably be "difficult" to get it to display a gui on the phone itself (although that would be sweet).
I've installed Saurik's image on my phone, it works great. Although if you do the "unionfs.sh" step, the wifi settings don't quite work right anymore. It won't let you enable or disable wifi.
But I was able to get an ssh server (with real user and password management) and even a samba server running on my phone quite easily with this . I've also got gcc installed, and will start playing around with developing directly on the phone (instead of having to cross compile).
Click to expand...
Click to collapse
What command did you use to get the SSH to install? Every time I do the one in the tut by saurik it errors and wont install all the way. I get an error after x11-common and it wont finish.
ballaholyk84 said:
So I then go to Telnet client on myG1 and go to connect to "localhost:23" and it says "Error while connecting to server: localhost/127.0.0.1:23 - Connection refused" the thing is that my local host for my wifi is not 127.0.0.1:23
Click to expand...
Click to collapse
localhost usually refers to the loopback interface which on most devices will be 127.0.0.1.
I'm getting the same thing here... I think there's something wrong with apt-get having to write to /tmp which does not exist (and is mounted read-only).

Replacement for craptacular adb shell

Hey everybody. I'm on windows and adb's shell just keeps on pissing me off. Mainly, how pressing tab actually inserts a tab rather than tab completion . I'd really like to do something about this.
Here's a list of the things i've tried to get rid of this super-annoying behaviour.
-rolled a cross-compiler toolchain (glibc-based) for my phone (HTC Magic) and cross-compiled bash (in a vm). I actually made this work even with dynamic linking, and can start bash from within an instance of "adb shell". Unfortunatly, this doesn't change the tab behaviour, which appears to be baked into adb rather than a problem with the default shell.
-I thought i'd try something fancy by doing...
adb shell mkfifo /fifo
adb shell "bash > /fifo < fifo 2> /fifo"
adb forward tcp:9001 dev:/fifo
and starting putty in raw mode, connecting to localhost:9001. Unfortunatly, all is what happens is i get an echo of what i type and if i press enter a few times putty spits out ": command not found". I can't see why this shouldn't work but I suspect i'm Doing It Wrong.
-Searching the forum revealed puttycyg, which is actually really handy but unfortunatly suffers from the same tab completion problem as using adb shell in cmd.exe
How do you guys do it? Am I onto something with the adb forward thing? If so, how do I make that work?
I have also compiled bash but I have tab completion though adb. I do however use Linux as my desktop OS and am connecting through Konsole. So you could just try to install KDE for Windows. I know that I've looked for good terminal applications for windows but found none. They're all **** compared to what's available on nix.
This is my simple bashrc:
Code:
# If interactive do nothing.
[ -z "$PS1" ] && return
export HOME="/sdcard/"
PS1='[email protected]\h:\w\$ '
Also it's full of aliases for busybox. By replacing built in ls and similar you even get nice colors But still no line editing for some reason. I figure I might just need a proper libreadline or similar for that.
If anybody's interested in how I got this working, i cross-compiled socat for the droid. Required configuring with --disable-termios and manually editing config.h to set the #define for CRDLY_SHIFT and a couple other *_SHIFT macros to some values i found in Config/linux-2.6.24.h (or something similar, posting from memory here)
Once socat is on the phone, I made it pipe data from a bash shell to a unix socket it is listening on:
socat unix-listen:/dev/adbsock,fork exec:"/bin/bash -li",pty,stderr,setsid,sigint
(command shamelessly copied from http://superuser.com/questions/123790/socat-and-rich-terminals-with-ctrlc-ctrlz-ctrld-propagation ).
Then, on the pc i run adb forward tcp:9001 localfilesystem:/tmp/adbsock
And if i connect putty to localhost:9001 in raw mode (disabling line editing and local echo) I get a fairly complete bash shell that you can not only use tab completion on but even vi works
Again, posting from memory here so if anyone wants to try this and is running into problems i can dig it up from my ~/.bash_history.
Any chance you can post your socat port?
The tab completion thing is driving me insane! I don't understand why the ADB shell in *nix is proper, but the windows version sucks so much hairy donkey balls.
I've been using Ansicon so I at least get color in my shell, but ADB still mangles tab, and I don't even want to talk about what it does to Nano. Ugh!
Oh wow, this takes me back. I don't even have my android phone anymore (cancelled the contract due to terribly crap network service, and (unfortunately) the iPhone was the best phone in its price range from my new carrier).
So I don't have any files to give to you...
But, from what I can remember, to make it work, I built a cross binutils and gcc loosely following the instructions from the LFS book, compiled glibc + a few other libs socat wanted with it, and then socat itself, and then bash. I then copied the cross libc.so.6, ld-linux.so.2 (or whatever it's called on ARM) and all the libs socat wanted to /lib on the phone, and the socat and bash binaries to /bin. It's convenient that android keeps its important stuff in /system because it means you can avoid screwing around with your toolchain to make it look for a dynamic linker in some location other than /lib.
From memory socat was the only thing I had problems compiling, and thankfully I've already posted roughly what i had to do to it to make it build (because there's no way I remember lol)
Sorry I can't be more helpful!

Linux Installer 3.3 is out

https://market.android.com/details?id=com.galoula.LinuxInstall
New every thing. Redesign of everything every where, rewite of all English parts, many bug fixes.
What for ? install Debian using debootstrap in chroot, and use your Android device like if you had installed Linux on a standard computer.
Bugs shall be reported to [email protected] .
Misc questions about how to use and feature request and general discussions to [email protected]
Market description:
This application will allow you to install a complete Debian distribution in your Android device. Based on chroot, it will perform a standard debootstrap and install a legacy Debian so that you can install, and run any classic Linux command, tool, daemon or service.
The package has few limitations; it is not restricted to Debian; we already offer the choice to use Ubuntu, and will add more distributions in close future. Each distribution is available in several tastes (stable, testing ...). It will not require to reboot; chroot is run inside Android. Installation can be done on any storage device, either on SD card, or inernal memory; no need to repartition any thing, run mkfs or fdisk. We do with what you let use. If you have almost nothing, the package will manage with almost nothing; if you can afford for a large ext4 partition on your SD card, the package will be happy to use it.
It will allow you to install all classic LAMP services like Apache, MySql, PHP, Samba, Netatalk, or just any classic Linux tool like vim, xterm, aterm, Abiword, Firefox, dillo, wget, cron, Perl, Python ... just everything.
Package utilisation will require a rooted device.
Reasons to install this package can not be listed. Just too many: want a cron daemon ? want to have gcc inside your phone ? want to recompile some kernel driver because the legacy Android driver for your Wi-Fi card has is bogus or limited ? want to use vim, or the real full featured desktop ls, ip, nmap, or top commands ? this package will give you all this for free, and much much more.
Requierments:
- an Android device based on some Linux kernel
- a rooted environment
- 300M free space
That's all.
Optionnal registration on our website, http://android.galoula.com/LinuxInstall/Register.php , will allow you to use advanced management features, and install package from within the application interface. You will not need to type any strange command in any terminal. And you will be able to make some services start automaticly at phone boot, and/or application start.
Online documentation: http://android.galoula.com/en/LinuxInstall/
Quick installation guide: http://android.galoula.com/en/LinuxInstall/QuickTutorial.html
Click to expand...
Click to collapse
Free space must be on sd-card or phone memory?
Both accepted You choose where to install.
500M by default on SD card using loop method (on ext2 or fat). Down to 180M using the directory method (does not work on FAT).
thanks for this man.
Sorry if this is a noob question but will this in any way brick/soft brick my device?
Sent from my GT540RR using XDA App
Yes, it can.
But this app is underdevelopment since almost two years, and nobody ever bricked yet. I have written a very long complete tutorial, where I say what you should NOT do. I could easily tell you how to brick in 5 steps.
But we have been working very hard on default settings, to make default settings as much safe as possible.
There are many bugs, many known bugs; but 99.999% bugs will just make the chroot not work. Data loss is very rare. Data loss was highly probable in previous version 3.2 . But default settings are now safer. And if you do not do what we claim to be dangerous ... you are safe.
The most frequent case with 3.2 was complete wipe of /sdcard and /data . This have been fixed.
We never ran into wipe of /system until now. Never bricked.
And since Galoula and me are working on it, we are the most exposed ones. We test every single feature, in all possible situations. And when we find a wipe case, we repro it dozen time until we understand why, and how to fix, so that it won't happen to YOU.
3.3 is way safer than 3.2. And nobody reported wipe on 3.2 ...
But if you blindely clik any where, yes it can. And if I tell you where to click, you can brick in 5 steps for sure And it won't be a soft brick. I promise a good real brick where even HTC will be in trouble to repair it It's explained in the tutorial.
Wow. Thanks for the reply. At least i have an idea now. Is the tut on the app itself? I'll nake sure to read it very carefully coz i wanna learn all about this stuff
Sent from my GT540RR using XDA App
A not so short tuto is inside; but since most mobile devices have only one screen, you may want to read the online tuto on your computer: http://android.galoula.com/en/LinuxInstall/
Default settings are safe. Just follow the guide.
Will go ahead and read this tut. I'll make sure to give feedback. Thanks for paying attention to this noob
Sent from my GT540RR using XDA App
this is just great, are there any videos or screen shots?
edit: nevermind i just checked the market
Feel free to send us screen shots; I am not good at doing that (i can to shots, but I don't know what could be nice to upload).
We would apreciate shots of working (of course ) VNC clients connected to server running localy, or local consoles (like Connectbot) doing funny things.
Send to support. Thanks.
Spent the whole weekend on this...
I'm trying o get an X- GUI on the Samsung Captivate, (hope i said that right) like Ubuntu so i can VNC to a linux desktop environment. I'm on FASTY and wondering why I keep running into refusal of connection. I have the password and localhost as well as the port correct. I've lost sleep on making this work. Can anyone help...?
You question is somehow off topic.
You seem to have a basic VNC connexion issue.
Could not help without deeper description. And I rarely use VNC, i have very low experience.
First point: do you have free space in the distro ? depending on installation method, and what you installed, you may have run out of disk space (especially Ubuntu, uses lot more than Legacy Debian).
The distribution manager is still beta AOT. It may report the VNC service to be up and running, when it could not rally run. First thing to check is: is it up ?
- from local machine, to ps, and check if process is up
- from remote machine, just scan your IP for the device. VNC should be port 5800 or 5900, forgot which one.
Your VNC password is *NOT* your distribution password. VNC password need to be set at a different place (this is VNC specific; VNC is not UNIX, and never claimed to be fully a *UNIX "merged" service*).
Never used VNC in LinuxInstaller. Never yet. Not enough time to test it. We take report, and will test only major and frequent issues. We have many "easy success" reports, so, we don't worry about it. We have much more issues about rooting (getting root on phone), and starting debootstrap; this is what we focus on.
Make sure you have enough free space (at least 50M free left), then join any Debian or Ubuntu forum. They will ask you if you have a CLI; you shall use either adb shell, or connectbot. Fact you are in a chroot is not an issue, chrooting is not frequent for debian users, chrooting is the normal procedure to install Gentoo; and all debootstrap users use chroot daily; forums should not reject you for this reason. As long as you have a CLI.
Good luck.
Lost me fast...
Sorry..but you lost me, and FAST! I really don't have the terminology down...but I do have the Linux 3.3 Installer running properly...it indicates so. I was assuming that this would allow me to somehow load Ubuntu on my Captivate..as I've seen on some screen shots...I guess I'm just lost...a little knowledge is dangerous...I have a little. Just enough to accomplish the basics..but the vernacular is LOST to me. Guess I'll have to wait for the Ubuntu apk...thanks for trying...
I've got this errors...(see attached files).
I have busybox 1.19, connectbot and the superuser (v2.3.6.3 and su binary v2.3.2, the latest from the maket)...
What can I do?
you guys are still lucky.your able to make it work...
im running the ongoing cm7 2.3.5 on moto defy...
kernel is not supporting this yet.
hailmary what's missing in your kernel ? I don't know any Android that won't have ext2 in; if you have an Android without any ext2 filesystem, please contact me in private, I know it could be done, and I would be VERY CURIOUS to see how HTC did it.
If you are missing loop support in kernel, try block or directory method. Blocck will require ext2; directory won't (but will work only over ext FS ... so ... unless you can use NFS )
dugryce , ScumpinatoS, I will come back later (maybe today, maybe not).
ScumpinatoS said:
I've got this errors...(see attached files).
I have busybox 1.19, connectbot and the superuser (v2.3.6.3 and su binary v2.3.2, the latest from the maket)...
What can I do?
Click to expand...
Click to collapse
Reading the first message, you as, as said, a CPU issue. What's your CPU ? device model ?
run in some console:
uname -a
which tail
Application could not load viable environment to work; it is an issue, but it can be fixed. I can help digging, but I won't give you any solution. Send an email to Galoula; the bug report system via the console should work for you.
doublehp said:
Reading the first message, you as, as said, a CPU issue. What's your CPU ? device model ?
run in some console:
uname -a
which tail
Application could not load viable environment to work; it is an issue, but it can be fixed. I can help digging, but I won't give you any solution. Send an email to Galoula; the bug report system via the console should work for you.
Click to expand...
Click to collapse
I have a Huawei Ideos CPU: MSM7225 without GPU.
I am use it and try install Ubuntu Natty but after download all deb package i get error installation, "issue binary, try other version"
Can someone help me what distro (Ubuntu/Debian) and what version of it that have installed succesfully.. please...
Sent from my GT-S5570 using XDA App

[Q] use tf to unlock and root phones

hey everyone,
so i finally got the dock for my TF a couple weeks ago.. i have several friends that are not as tech savvy as i am, but still like android, well i want to offer to root their devices for them. more out of curiosity then need i was wondering if it is possible to unlock and push the recovery from a TF? i know that the TF has ADB on it, but i havent really started any development on the TF its more for fun, i use my nexus 1 for development.. any light you can share on this would be appreciated.
Interesting...
Nice thread i hope some one comes up with further info about this idea i would like to do this too!!!! I have sold mi laptop TF can do everything... And soon W8 will be possible on it and STABLE Ubuntu!!!
I was contemplating this also since a girl I work with wanted me to root her Galaxy S1 but I only had my TF with me and we can't install drivers on the work computers.
I assume it should be possible, you just may need more of the Linux binaries, for example you may need to do it via a chroot install of Ubuntu or as a native (dual-boot) system. Look at the shell scripts and see what binary tools they require (cp, mv, cd etc...), you may be able to do it with Android's toolchain.
There's something in the market called "remote adb" which "might" be of use, but I kind of doubt it. It could also be one of those adbwireless versions of adb where you still do the heavy lifting from the PC.
My take would be to look at the results of google "+source +adb +android" and you'll get a couple of hits that point at adb repos in git format.
Then use a linux box to clone one and point it at some crossbuild tools (see for example the howto build kernel threads that are here and there) and built it for our architecture (arm{le}). I've done this for the bash shell and a few other things I liked in linux and it should be possible. One built, push it into /system/xbin, chmod 755 adb and see how things go.
I don't have the keyboard dock or the OTG dongle so no point in my doing it since I can't test.
Good luck -
edit: http://lackingrhoticity.blogspot.com/2010/02/how-to-build-adb-android-debugger.html seems like as good a place as any since it has source, instructions, etc. So probably all you have to do (if this nutty project will work at all) would be to modify the Makefile so that it's pointing to the toolchain for armv7le (or that's what uname -a shows on my eeepad).
edit: Another one that's already been built for android (I tested it), is sshd or dropbear and here is a link: http://jhulst.com/c/dropbear-ssh-android .
The main thing is being able to hit the device you want to setup using either ssh or scp, and functionally this'll do most if not all or more than adb will. What won't work are any scripts written that are already using adb commands.
thanks for the input originally i was thinking being able to use terminal inside honeycomb, but i suppose the easier (or perhaps better stated, the "road more traveled") route would be dual booting linux and just setting up the dev kit on there..
Latest version of ubuntu by little stevie is your best bet

Chuwi Hi10 Air Linux Installation Guide

Disclaimer: I got this device from the Manufacturer to test Linux on it. The below findings are my own and express my own opinion.
Specs and short review:
Intel Atom x5-Z8350 CPU (4x1,92 GHz)
Intel Integrated GPU
1920x1200 10.1" IPS Screen
4GB RAM
64GB Internal Storage
1 x USB C
1 x USB Micro B
1 x Mini HDMI
Bluetooth 4.2
2.4GHz WiFi
Rotation Sensor
Front and Back Camera
Mico SD Card slot up to 400GB (Website claims 64GB but I sucessfully tested it with an 128GB Card that uses the SDXC Standard)
Headphone Jack
Stereo Speakers
Keyboard Dock Support
Touchpen support
The Chuwi Hi10 Air is a compact 10.1" Tablet running a Windows 10. It has a sturdy Aluminium Body and the overall build quality is astonishing.
The speakers are surprisingly good for a tablet in that price segment. Paired with Bluetooth, a headphone jack and the 1920x1200 WUXGA display it's perfect for all kind of Media Playback. The battery is powerful enough to easily survive a few Movies. The optional detachable keyboard is a welcome addition for when you need to write some text.
The keyboard is nice to type on, but I had cases where it would send keys out of nowhere. I can't guarantee that's not caused by the few drops of water I accidentally spilled on the connection to the tablet at some point. I'm not a big fan of the trackpad, mainly because it's way to small to be usable for me but that might be because I am used to the trackpad on my 15" MacBook Pro.
The Touchpen is very accurate thanks to the digitizer, however the touchscreen does not send different signals for Pen and Finger to the System. That means trying to take notes while resting your hand on the screen doesn't really work.
Sadly, the full Windows 10 install user experience is really impacted by the entry level Intel Atom Z8350. It's just not powerful enough to accomplish any advanced tasks.
However, Chuwi sent me the device to bring linux to it, so that's what I did. This allows us to use lighter Window Managers and therefore more resources for actual tasks, resulting in a better performance.
Install Linux
First of all you need to install Linux on the tablet. That means you will erase your internal Windows installation, so make sure to either do a backup of it, or at least make yourself familiar with how to reinstall Windows in case it's needed.
Please note that you can NOT install Linux on an SDCard because the BIOS can not boot from the SDCard.
Backup
You can find the Hi10 Air Windows drivers here:
https://forum.chuwi.com/forum.php?mod=viewthread&tid=6861
And a guide here (applies for the Hi10 Air too):
https://forum.chuwi.com/forum.php?mod=viewthread&tid=15&page=7#pid29091
https://forum.chuwi.com/thread-15-1-1.html
Install
Next up, it's time to choose your Linux distro.
I recommend anything that is based on Arch Linux and that uses either LightDM or lxdm, because that is what my guide will be using to setup certain features. Of cause you're free to choosewhatever you want.
That means you could for example use Antergos, an ArchLinux based distro that includes Desktop managers (for Antergos I recommend XFCE), or go the hard way and install ArchLinux from scratch and use lxdm with LXQt. LXQt proved to me to be the best lightweight and yet High-DPI friendly Desktop Environment, so that's what I used.
I trust you will be able to find the guides on how to install either with a quick Google search, so I will not go much further into detail here.
To get into the boot menu, you need to press F7.
After your installation is done most things are already working.
Fixing Remaining Issues
Out of the box, there are a few issues and things that do not work because they are missing drivers or similar.
Automatic Rotation
We're getting started with the most important which is rotation.
As you'll need to enter a couple commands to get automatic rotation working, start off with manually rotating the screen by opening a terminal and run the command
Code:
xrandr -o left
Note: xrandr is part of xorg-xrandr, and you will need that package for autoration to work.
There are a couple solution on how to rotate the screen out there, however I decided to go for the one with least overhead that looked the cleanest to me.
First of all, compile the 2in1screen binary. The sourcecode can be found on my GitHub. Download, compile it and push it to /usr/local/bin.
Note: Make sure to install xorg-xrandr and xorg-xinput for this tool to work.
Code:
wget https://raw.githubusercontent.com/Myself5/Chuwi_Hi10_Air_Linux/master/2in1screen.c
gcc -O2 -o 2in1screen 2in1screen.c
sudo mv 2in1screen /usr/local/bin/
sudo chmod +x /usr/local/bin/2in1screen
Now configure the Desktop Manager to start it after login.
LXDE: add
Code:
/usr/local/bin/2in1screen &
to
Code:
/etc/lxdm/PostLogin
LightDM: Place the screenrotate.sh in /etc/lightdm/screenrotate.sh and set
Code:
display-setup-script
in
Code:
/etc/lightdm/lightdm.conf
to
Code:
display-setup-script /etc/lightdm/screenrotate.sh
screenrotate.sh
Code:
#!/bin/bash
pkill -9 2in1screen
/usr/bin/2in1screen &
Reboot and make sure everything works as desired.
Touchscreen
The Hi10 Airs Silead touchscreen requires drivers that are not bundled with a Linux install. You can download them here: https://github.com/onitake/gsl-firmware/tree/master/firmware/linux
See the Readme on how to install them.
These drivers get loaded by the Linux kernel. I submitted a commit to add support for the Hi10 Air to the Linux Kernel and it has been approved. The commit is merged in the 5.1 (and newer) Kernel. That means you need to update your kernel for a proper touch support.
If you previously used my Kernel you can go back to the official kernel by running:
Code:
sudo pacman -R linux-chewbacca linux-chewbacca-headers
sudo pacman -Syu linux linux-headers
sudo grub-mkconfig -o /boot/grub/grub.cfg
Now reboot and enjoy your touchscreen.
Audio
If your Audio isn't working, make sure to update the alsa-lib to Version 1.1.7 or above. On Arch that package is in the stable repos so a
Code:
sudo pacman -Syu
will be enough.
Bluetooth
Install blueman and follow the firmware instructions mentioned here:
https://github.com/lwfinger/rtl8723bs_bt/issues/28#issuecomment-432806835
Which means you need to clone https://github.com/lwfinger/rtl8723bs_bt
and run
Code:
sudo cp rtlbt_fw /usr/lib/firmware/rtl_bt/rtl8723bs_fw.bin
sudo cp rtlbt_config /usr/lib/firmware/rtl_bt/rtl8723bs_config.bin
cd /usr/lib/firmware/rtl_bt
sudo ln -s rtl8723bs_config.bin rtl8723bs_config-OBDA8723.bin
General UI
Now, you probably already noticed, everything is a bit small to use your Fingers.
As a browser I recommend Google Chrome as that has a great touchscreen UI already.
For File browsing and reading I suggest using nautilus and evince because of their touch friendlyness.
System DPI
For the whole system, there is a few things you can improve:
First of all, increase the general DPI.
You can do so by adding
Code:
Xft.dpi: 150
to
Code:
~/.Xresources
. If the file doesn't exist, create it.
LXQt Tweaks
Next up a few additional tweaks for LXQt:
First of all increase the Panel bar
Rightclick on the Panel and Press "Configure Panel". Then set the Size to 50px and the Icon Size to 30px.
Next up, Go to the Menu -> Preferences -> LXQt settings -> Appearance -> Font and set the DPI to 96
and finally go to Menu -> Preferences -> LXQt settings -> OpenBox Settings -> Font and increase the individual fonts to get a window title bar to drag/drop as well as hit the navigation with the finger. I set mine to Cantarell 16 and Cantarell 14.
Install OnBoard
Another Handy feature I found myself in need of was an onscreen keyboard. For that I installed OnBoard, and found a very neat feature here: https://bugs.launchpad.net/onboard/+bug/1232107
You can map a button to open/close the keyboard.
I set mine to Super L, which equals the left Windows button and the touch button on the tablet itself.
In the LXQt Settings Menu you can configure Shortcut Keys.
Create or edit the existing shortcut and either map the following DBus Call.
DBus Call:
Service:
Code:
org.onboard.Onboard
Path:
Code:
/org/onboard/Onboard/Keyboard
Interface:
Code:
org.onboard.Onboard.Keyboard
Method:
Code:
ToggleVisible
If your Desktop environment doesn't support DBus calls, use the following command:
Code:
dbus-send --type=method_call --dest=org.onboard.Onboard /org/onboard/Onboard/Keyboard org.onboard.Onboard.Keyboard.ToggleVisible
I got a Chinese manufactured pad-like device which is supported by the Linux mainline kernel and works pretty well except for the ****ty wifi chipset from Broadcom. That device has z8300 Soc and runs pretty well. I really like the On-The-Go device design as it is easy to carry around. Thanks for sharing!
Does this do a total partition wipe? Can you install to the Android partition and keep windows?
Droid_Nut said:
Does this do a total partition wipe? Can you install to the Android partition and keep windows?
Click to expand...
Click to collapse
The Hi10 Air is Windows only, there's no Android on it.
You could, however, resize the Windows Partition and install Linux alongside it. Generic Tutorials that float around the internet apply just fine here.
For Tablets that have Android and Windows like the Hi10 Plus, I don't quite know how the Android system is setup there. As far as I know you can remove Android entirely though, then you can just follow the procedure to resize Windows and Install Linux alongside.
I would love to get one of these units for review
Myself5 said:
The Hi10 Air is Windows only, there's no Android on it.
You could, however, resize the Windows Partition and install Linux alongside it. Generic Tutorials that float around the internet apply just fine here.
For Tablets that have Android and Windows like the Hi10 Plus, I don't quite know how the Android system is setup there. As far as I know you can remove Android entirely though, then you can just follow the procedure to resize Windows and Install Linux alongside.
Click to expand...
Click to collapse
Okay, I have the Chuwi hi10, dual boot Android and Windows 10. I will have to run live CD and run Gparted and take a look at the Partition Structure. I suppose I will be doing a total backup with Clonezilla before I do anything.
@Myself5 How's the battery life? And I guess, technically it's possible to install Android-x86 on it right?
Droid_Nut said:
Okay, I have the Chuwi hi10, dual boot Android and Windows 10. I will have to run live CD and run Gparted and take a look at the Partition Structure. I suppose I will be doing a total backup with Clonezilla before I do anything.
Click to expand...
Click to collapse
That sounds like a good plan. Clonezilla backup is what I went for too.
silv3rfox said:
@Myself5 How's the battery life? And I guess, technically it's possible to install Android-x86 on it right?
Click to expand...
Click to collapse
Battery life is great, i'd say better than Windows. Can't give you any numbers though because I didn't really pay attention to it yet.
Android-x86 is technically possible and with the Linux drivers even easier but I havn't looked into that yet.
Hey guys happy to see there is interest in this tablet. I do got the dualboot version too.
To install Android i found this:
jonathansblog. co.uk/ factory- restore- android- on- chuwi- hi10
After i personally Installed remix OS
konstakang.com /devices /chuwi_vi10plus /RemixOS/
When I installed Ubuntu, just Ubuntu Started, Android stuck, i found a solution here:
github.com /floe /tuxblet
I Just cant figure out this one:
Unfortunately, this still causes the Android install to hang on boot after Linux has been installed. I was assuming, for a very long time, that this is also an EFI-related problem. However, after multiple factory resets (see https://forum.chuwi.com/thread-2341-1-1.html and https://01.org/node/2463 for instructions), I finally found out that the problem is related to the very eager Ubuntu automounter, which grabs any ext4 filesystem it can find and mounts it read-write.
Of course, this shouldn't be a problem in theory, but this also happens for the Android system/data/etc. partitions, and whatever Ubuntu does to the ext4 FS when it's mounted, causes Android to croak. This means that even just booting a Ubuntu Live System from USB one single time will likely render the Android installation unbootable.
I've finally managed to fix this by setting the respective UUIDs to noauto in /etc/fstab as follows:
# do _not_ automount the Android partitions
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b /none ext4 ro,noauto 0 0
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b1 /none ext4 ro,noauto 0 0
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b2 /none ext4 ro,noauto 0 0
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b3 /none ext4 ro,noauto 0 0
If you look closely, you will notice that entries 2-4 are not actually proper UUIDs, they have an additional digit from 1-3 at the very end. The reason for this is that all the Android partitions (system, cache, data, config) have the same UUID and show up with the extra digit when the automounter grabs them. I'm not sure if this UUID duplication might actually be the root cause...
Unfortunately he does not explain how to no auto mount this partitions without a live CD and / or it is going to work even if Ubuntu installed is.
Hi everybody
Did kernel 5.1 resolve any problem. I use mint 19 but it seems that nothing happened
nikmag said:
Hi everybody
Did kernel 5.1 resolve any problem. I use mint 19 but it seems that nothing happened
Click to expand...
Click to collapse
5.1 includes the touchscreen fix on it's own so you don't need to use the kernel I provided anymore.
Thanks for your reply. I had 5.09 and I installed 5.1 but no touchscreen activation. I had to return to 5.09. Any update for Bluetooth drivers? I installed them manual, it seems to be active but cannot see any Bluetooth device . Also the problem with the bios or boot screen is always in vertical position and not touchscreen or other way to select OS. I use windows 10 and Mint 19.1 Thanks again.
nikmag said:
Thanks for your reply. I had 5.09 and I installed 5.1 but no touchscreen activation. I had to return to 5.09. Any update for Bluetooth drivers? I installed them manual, it seems to be active but cannot see any Bluetooth device . Also the problem with the bios or boot screen is always in vertical position and not touchscreen or other way to select OS. I use windows 10 and Mint 19.1 Thanks again.
Click to expand...
Click to collapse
So it does work with my 5.09 kernel though, right? Otherwise you'd have forgotten to install the touch drivers (see the OP on how to do that).
Bluetooth works flawless for me on Arch. Maybe Mint has some other packages that don't fully work with the chip yet?
As for Grub: there's nothing we can do about that. As it currently stands grub has no support for touchscreens or screen rotation. You could try different UEFIs (rEFInd comes to mind here) but other than that it's not possible. I thought about possibly mapping the volume buttons to up/down for selection, but that would still leave us without an enter key.
Although, now that I think about it again: it might be possible to register the windows touchkey as "enter". I guess I'll take a look into that
Actually I did not use your 5.09 kernel. I had already done a successful procedure with different kernels before reading your post. Yes probably is Mint issue. I need to find some time to install Arch. If you manage to do something with buttons it will be wonderful. I boot to Mint and then with a command a switch to win10. Are you pleased with the active pen? I really thank you for your support. I would also like to help if I can.
nikmag said:
Actually I did not use your 5.09 kernel. I had already done a successful procedure with different kernels before reading your post. Yes probably is Mint issue. I need to find some time to install Arch. If you manage to do something with buttons it will be wonderful. I boot to Mint and then with a command a switch to win10. Are you pleased with the active pen? I really thank you for your support. I would also like to help if I can.
Click to expand...
Click to collapse
According to a quick Google search custom keymapping for grub seems to be harder than expected. rEFInd seems to have touch support for some tablets though. I might look into that instead.
The "active Pen" on Windows is useless because it's not "active". It does get prefered over your hand, but the Hi10 Air doesn't have proper pen support. So the 256 pressure level touchpen they sell you is effectively as good as your finger. There is no pressure sensitivity support. On Linux this get's even worse because the pen is apparently using a different kind of calibration, so if you use it it's horribly offset. I was looking to use it for Notes during lectures, which is impossible to do. Even on Windows it's just not working. I've been in contact with my contact at Chuwi (who also sent me the device) and he just kept on talking around the topic. He never officially claimed the Pen would be supported but also never denied it. All he did was keep on sending me different touch drivers to "make the pen work" (although the definition of the term "work" can mean everything here).
TL;DR: Not pleased AT ALL.
P.S: I just updated the OP. the 5.1 kernel is released and works flawless on my Hi10 Air.
Hey everyone.
Can't make touchscreen work even on 5.1.2
see some screenshots:
https://imgur.com/598zrHM
kernel version:
https://imgur.com/qGtHJoc
heenry20 said:
Hey everyone.
Can't make touchscreen work even on 5.1.2
see some screenshots:
https://imgur.com/598zrHM
kernel version:
https://imgur.com/qGtHJoc
Click to expand...
Click to collapse
So which tablet do you have? A normal Hi10 Air?
Myself5 said:
So which tablet do you have? A normal Hi10 Air?
Click to expand...
Click to collapse
Yes, running kde neon.
M5 you are right, the finger is much better than 'active' pen! I bought also nebo app for recognition but the pen is totally invisible. Probably you checked drivers from you know https://forum.chuwi.com/thread-6861-1-1.html. It will be a big help if you manage to do something with rEFInd . Thanks

Categories

Resources