Chuwi Hi10 Air Linux Installation Guide - General Topics

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

Related

how to make a rom PART 1.5 (w/ and w/out virtualaztion)

THANK YOU JOHAN DE KONING
This will explain how to make your computer fast enough to run ubuntu (a form of Linux). And how to download the android package. This will take up 7 to 8 gb of space.
THIS IS FOR PEOPLE WHO WANT UBUNTU (NOT VIRTUAL AND NOT DUAL IF DON'T WANT TO BE)*This could delete windows if you didn't partion your hard drive right
NOT FOR NOOBS BE WARNED
Go to the ubunutu download page given below and download the 700 mb iso image file. Iso is a cd formatted file u can open it with a zip appclation(but don't). When it is finished I recommand getting a dvd but maybe it could fit on a cd.(*Note that you don't have to burn on to cd u could extract to decktop and run the setup manually.) Burn the ubuntu on to the cd/dvd and than restart your computer with the cd/dvd still in the computer's cd/dvd rom. When the computer goes to a blink screen and asks you if want to boot from cd/dvd press enter. And than from here on follow the instractions.
STEP 1 (CLEAN COMPUTER)
*Note: for performance do this in safe mode.
First we need to make your computer fast as possible. Create a backup just in case you want to back up something. So go to download.com and download Advanced SystemCare Free(7 -10 mb). After you have installed click on the CARE! button to get started. This could depend on your computer usage space the bigger the longer it will take. It will wipe all internet data. If you don't want that to happen just go to maintain windows and click on the Privacy Sweep box to uncheck. Than scan. Than go to utilities and run all the following Disk Check, Disk Cleaner and install Smart defrag. After installing Smart Defrag click start on all the options in this order defrag only, deep optimize, and fast optimize.
STEP 2: RESTART COMPUTER
After restarting go back to System FreeCare and run game booster(install). Click game mode and a pop up will show. Click the button on the left side of the box. Check all boxes but not explore. than go to game mode.
STEP 3: Download virtualbox(68 mb download)
You could have a dual if you want. The download page is http://www.virtualbox.org/wiki/Downloads. Download the correct version. (windows= *VirtualBox 3.0.4 for Windows hosts x86/amd64). than install it.
Install Virtualbox(takes from 5-30 minutes depending on your computer)
Next>accept>next>next>next>yes>install>continue anyway(i got this like 6 times so...)>finish(i think)>cancel>new>Next>name=ubuntu>next>Next>Next>Next>Next>Next>
when u get to the virtual size thing move the bar to 7.5 gb (min). this should be a little extra space. Next>Finish>Next>
STEP 4: Download UBUNTU(700 mb)
DOWNLOAD PAGE http://www.ubuntu.com/getubuntu/download and choose the ftp. than begin downloading. After download save the file to desktop and DON'T DO ANYTHING. go to the VirtualBox and click CD/DVD-ROM. Check the box and also ISO IMAGE FILE after that and mount to that image on the desktop. THAN OK. press CTRL+ALT+DELETE. go to processes and end explore(for speed). Click Start.
PART 2
OK. START by running VirtualBox with the mount on the ISO ubuntu and than click start on the top right hand side. press enter to leave language than enter again to install ubuntu. on the top of the bar it may pause alot so go to machine and resume it. if it total doesn't work just exit and power down and reboot with explore.exe gone and also no windows up and running. and than just follow the instructions to installing it about 1 hour to 2 hours depending. Make sure that it is completely partation to the virtual drive. After like forever when u reach the main desktop go to app... terminal and make sure u knoe your password. Than type
The rest is here http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/. How to bulid the enviroment and getting the libs and other tools together. After all that run.
Sudo apt-get autoremove
Sudo apt-get autoclean
Than on Saturday and Sunday I will teach u how to make a rom.
There is a kernel problem with johan's idea I think I know what it is
Was going to wipe one of my computers anyway. This gives me a reason to stop procrastinating! Will give this a try. Waiting for part 2!
I know I will never get into rom making but it is very interesting to read about.
P.S. Make the paypal link a bit bigger, I can't read it
I already turned my back on windows so I run ubuntu so this is useless to me but I am waiting for part 2 so I can learn more about this, prob won't ever use it but it is good to knowhow to
Already running Mint in VB .. runs just great. I am interested in reading the ROM part though
WTF? Why do you need to do all of this crap on your computer to run Ubuntu? If I was going to dual boot with windows I would not use the stuff you listed. Why not just explain how to use it create a ROM and let people figure out how to get Ubuntu on their computer.
this seems more like spam, an advertisement for those products he listed. Any sensible person would not use virtual box to build android from source (problems you run into with the jvm running out of memory).
Besides, Johan already has a well posted blog about this:
http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/
but I would really recomend installing ubuntu through the windows installer (wubi) if you're a linux virgin, that way you don't risk anything in your windows partition, it's faster than virtualization, and eventually you'll drop windows once you learn how to use ubuntu at least.
Really, I think this is spam though.
jubeh said:
Really, I think this is spam though.
Click to expand...
Click to collapse
I think you are right. I don't know if "part 2" is ever going to come, or if it will just be a copy/paste from the link you posted.
Wasn't it simpler to just install ubuntu as second os? If someone wants to dedicate himself to developement it would be better to have ubuntu not virtualized
jubeh said:
this seems more like spam, an advertisement for those products he listed. Any sensible person would not use virtual box to build android from source (problems you run into with the jvm running out of memory).
Besides, Johan already has a well posted blog about this:
http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/
but I would really recomend installing ubuntu through the windows installer (wubi) if you're a linux virgin, that way you don't risk anything in your windows partition, it's faster than virtualization, and eventually you'll drop windows once you learn how to use ubuntu at least.
Really, I think this is spam though.
Click to expand...
Click to collapse
I am not sure if you have ever tried virtual box but it is quite responsive and seems too run better than wubi. I am sure it depends somewhat on the system a person is running, but with a quad and 4 gb of ram VB runs very well. While I have a dual boot with Ubuntu , I have still found it easier to do my android stuff in it's own virtual space. With a dedicated 75gb I can use it seamlessly with my Windows 7 install. You should try it it really works very well and I have had no memory problems at all and have manged to build from source without any difficulty whatsoever. My Ubuntu install stays clean and I can mess with my virtual Mint install as much as I like without ever affecting my Ubuntu partition.
Personally I have Ubuntu on a Prtition of My portable drive,which means I can boot it up anywhere (so long as the computer can USB Boot). I shall certainly be following the original info. The same guy has posted many good Android Articles.
As for the OP here, he only really needed to post a link, not copy the whole thing.
pixel-painter said:
I am not sure if you have ever tried virtual box but it is quite responsive and seems too run better than wubi. I am sure it depends somewhat on the system a person is running, but with a quad and 4 gb of ram VB runs very well. While I have a dual boot with Ubuntu , I have still found it easier to do my android stuff in it's own virtual space. With a dedicated 75gb I can use it seamlessly with my Windows 7 install. You should try it it really works very well and I have had no memory problems at all and have manged to build from source without any difficulty whatsoever. My Ubuntu install stays clean and I can mess with my virtual Mint install as much as I like without ever affecting my Ubuntu partition.
Click to expand...
Click to collapse
Almost everything runs well with quad processors and 4GB of RAM. Oracle 10g runs well with that hardware. So that isn't saying much.
miketaylor00 said:
Oracle 10g runs well with that hardware. So that isn't saying much.
Click to expand...
Click to collapse
ha! this bit gave me a chuckle.
I freaking hate Oracle. I run a bunch of dbms' & 95% of my headaches come from them.
I prefer dual-booting, personally. I just started messing around with ubuntu (about 6 months maybe) and i love it, after using ubuntu i fully hate Windows Vista and all its sparkly, money-making horse-****. So now i have ubuntu and Windows both running smoothly on a compaq presario f700 laptop, and the only thing i really use my windows partition (i know thats not the correct technical terminology, just pay attention to the story) for is, well, basically just theming, and media storage. I use photoshop, and havent bothered to try using GIMP very much yet, and so i do all my theming (which isnt much really) in windows, which is where i also already have the autosign tools and draw9patch and other such things setup...and then all my music, pictures, whatever are all on my fat32 partition, and can all be accessed from either OS. aside from that, my computer boots into ubuntu by default. so if im using my computer, im doin it the ubuntu way, unless i NEED to use windows, for something like photoshop, and thats about it.
So long story short...(like its not already to late for that) im eagerly awaiting part 2 cuz ive been hitting some roadblocks...hope it helps!
-BMFC
mohsinkhan47 said:
Please donate and help me get a good ubuntu desktop from the case to the motherboard. Please donat.
Click to expand...
Click to collapse
I'll get right on that. Is $500 enough?
miketaylor00 said:
Almost everything runs well with quad processors and 4GB of RAM. Oracle 10g runs well with that hardware. So that isn't saying much.
Click to expand...
Click to collapse
Ok Granted u are right about that and so it should.
But assuming I am not the only person with a quad and 4 gb of RAM, this may work just as well for others too. As as a relative newb with Linux, I can honestly say I have killed a few installations of Linux on my Hard Drive by breaking packages and other things that prevent it from working properly. Sometimes it is easier for me to reinstall the whole thing because I lack the knowledge to fix it.... in comes Virtual Box. I can totally screw it up as much as I want and my Linux partition on my hd remains intact with no errors.
pixel-painter said:
I am not sure if you have ever tried virtual box but it is quite responsive and seems too run better than wubi. I am sure it depends somewhat on the system a person is running, but with a quad and 4 gb of ram VB runs very well. While I have a dual boot with Ubuntu , I have still found it easier to do my android stuff in it's own virtual space. With a dedicated 75gb I can use it seamlessly with my Windows 7 install. You should try it it really works very well and I have had no memory problems at all and have manged to build from source without any difficulty whatsoever. My Ubuntu install stays clean and I can mess with my virtual Mint install as much as I like without ever affecting my Ubuntu partition.
Click to expand...
Click to collapse
I do have virtualbox running on my linux box, my laptop's ubuntu side, and my laptop's win7 side. I also have a third computer that I have loaded with windows vista for the computer illiterate people in my house and a tiny dell mini 9 that I bought god-knows-why.
My main computer (since I can take it anywhere and my linux box i use mainly as a file server) is a gateway fx p-7805u. I won't have you google the specs, it's a 2.27 Ghz core 2 duo, 4 gb of ram, 320 gb main hard drive (plus I tossed a slow 5400 rpm 500 gb hd for files), so yeah, I can run virtualbox, but I mainly use it for running micro-xp on it for whatever else I need it.
I've used vb before like i said even configuring the vm with dual core support but there's no way it's as fast as a native system.
Anyway, wubi is not virtualization. It's an actual, loop-mounted image file/partition that fully utilizes the hardware it runs on. It's exactly the same as running a dual-booted system through partitioning, the only difference is that the ubuntu filesystem exists inside your ntfs partition rather than it's own partition, this has the effect of having a very slight hit on disk performance (much less than virtualization though), but everything else is running natively, even drivers. It's entirely safe for your host file-system and can be removed leaving no residual files anywhere on your system. It's also easy to share files with your host computer (with vb you have to set up a network share and then edit your /etc/init.d/rc.local to have it automount on startup, with wubi, it automatically creates a link to the host filesystem located at /host).
I've had to leave my computer building on vb overnight and then I come back to find that the process is stuck at some dex or java compilation, with an actual running system, this doesn't happen.
Give it a try, it costs nothing.
mohsinkhan47 said:
U guys are evil
Click to expand...
Click to collapse
Wow thanks! I really appreciate your work and considering donating to you. Since you make your paypal link so large, it really inspires me to donate.
Thanks again!
edit: (hope this post isn't considered to be spam like the original post is)
Better if you do
sudo apt-get autoremove --purge
jubeh said:
I do have virtualbox running on my linux box, my laptop's ubuntu side, and my laptop's win7 side. I also have a third computer that I have loaded with windows vista for the computer illiterate people in my house and a tiny dell mini 9 that I bought god-knows-why.
My main computer (since I can take it anywhere and my linux box i use mainly as a file server) is a gateway fx p-7805u. I won't have you google the specs, it's a 2.27 Ghz core 2 duo, 4 gb of ram, 320 gb main hard drive (plus I tossed a slow 5400 rpm 500 gb hd for files), so yeah, I can run virtualbox, but I mainly use it for running micro-xp on it for whatever else I need it.
I've used vb before like i said even configuring the vm with dual core support but there's no way it's as fast as a native system.
Anyway, wubi is not virtualization. It's an actual, loop-mounted image file/partition that fully utilizes the hardware it runs on. It's exactly the same as running a dual-booted system through partitioning, the only difference is that the ubuntu filesystem exists inside your ntfs partition rather than it's own partition, this has the effect of having a very slight hit on disk performance (much less than virtualization though), but everything else is running natively, even drivers. It's entirely safe for your host file-system and can be removed leaving no residual files anywhere on your system. It's also easy to share files with your host computer (with vb you have to set up a network share and then edit your /etc/init.d/rc.local to have it automount on startup, with wubi, it automatically creates a link to the host filesystem located at /host).
I've had to leave my computer building on vb overnight and then I come back to find that the process is stuck at some dex or java compilation, with an actual running system, this doesn't happen.
Give it a try, it costs nothing.
Click to expand...
Click to collapse
Thanks for the info... now I know you have a lot of computers in your household But seriously, I am not trying to put anyone's opinion down here... so there is no need to be quite so elitist I am just pointing out my own experiences with Virtual Box which have been very good. If it doesn't work for you... fine.. but you are suggesting to everyone else that it doesn't work properly or well and I can quite definitively say that yes it does.. and very well too.
I would imagine that your system from what you say may not be powerful enough to handle it as well... so maybe a quad is needed to make it run the way it does for me, I don't profess to know the answer... only that it works great on my system.. it is not slow.... does not have errors and compiles Android source quite easily using Mint Linux (another Debian based Linux Distro for those that are unfamiliar with it)
I don't think I ever mentioned it was as fast as a native system... all I am saying is that it runs well and for a noob it can be run without messing anything else up as it runs in it's own little environment.

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

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

*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?

Linux4Tegra R23.1/R24.1 beta for the Shield Tablet

Stuff that doesn't work: 3G/LTE, accelerometer, GPS, camera, and maybe some other stuff that I'm not remembering
Stuff that does work: GPU (full OpenGL 4.5 and Vulkan), sound, USB device and host, WiFi, Bluetooth, touchscreen (including stylus), SD/USB install
Downloads:
Linux4Tegra R24.1 beta (mirror) (updated on February 18th 2016)
Linux4Tegra R23.1 (mirror) (updated on November 21st 2015)
Linux4Tegra R21.4 (mirror) (updated on July 21st 2015)
Linux4Tegra R21.3 (mirror) (updated on March 9th 2015)
Installation instructions:
Install MultiROM (+ TWRP + touch support + patched kernel)
Download Linux4Tegra and install it through TWRP (Advanced -> MultiROM -> Add ROM)
Tips/notes:
To enable the on-screen keyboard during setup or login, press the blue icon in the corner and select on-screen keyboard from the menu that appears.
To enable the on-screen keyboard on desktop, run Onboard.
If your touch input becomes misaligned, install and run xinput-calibrator.
I am *very* interested in knowing which kernel you have used for this. Upstream, L4T, Android? This looks very promising in any case.
Gnurou said:
I am *very* interested in knowing which kernel you have used for this. Upstream, L4T, Android? This looks very promising in any case.
Click to expand...
Click to collapse
I've tried L4T 21.2, 19.3 and Lollipop. All of them need a small kernel patch (which might break HDMI, I have no idea) for the graphics to work, but apart from that they should all work fine for the most part.
Code:
In drivers/video/tegra/dc/dc.c, in tegra_dc_probe, after "int i;" add:
static int num_probed = 0;
if (++num_probed > 1) return -ENOENT;
Edit: this actually isn't needed, I was just using the wrong cmdline
Getting Started
THESE INSTRUCTIONS ARE OUTDATED. CONSIDER USING THE PREBUILT INSTALLER FROM THE MAIN POST INSTEAD!
You need a computer with Linux installed and some free space (I don't have the exact numbers, but 5GB would probably be enough). On the tablet, you need 2-3GB of free space (on the internal memory), an unlocked bootloader , root and you need Busybox installed too.
On the computer, you'll need to compile your kernel first (this guide includes the compiler, and there's a prebuilt boot.img in the attachments if you want to skip this part). I recommend using https://github.com/Bogdacutu/STLinux-Kernel, with st8_linux_defconfig.
The initramfs is pretty simple, it just mounts the relevant system partitions and loads Linux from them: https://github.com/Bogdacutu/STLinux-Initramfs. You'll need to edit KERNEL_PATH in build.sh and make the kernel beforehand, then running build.sh will result in a boot.img which you can boot with fastboot:
Code:
fastboot boot new_boot.img -c "console=tty1 fbcon=map:10 fbcon=rotate:2 fbfix"
For the rootfs, Linux4Tegra is the easiest place to start from. All the Tegra K1 versions should work fine. For example, with R21.2: (the sudo is necessary there)
Code:
$ wget http://developer.download.nvidia.com/mobile/tegra/l4t/r21.2.0/pm375_release_armhf/Tegra124_Linux_R21.2.0_armhf.tbz2
$ tar xfvj Tegra124_Linux_R21.2.0_armhf.tbz2
$ cd Linux_for_Tegra
/Linux_for_Tegra$ wget http://developer.download.nvidia.com/mobile/tegra/l4t/r21.2.0/pm375_release_armhf/Tegra_Linux_Sample-Root-Filesystem_R21.2.0_armhf.tbz2
/Linux_for_Tegra$ cd rootfs
/Linux_for_Tegra/rootfs$ sudo tar xfvj ../Tegra_Linux_Sample-Root-Filesystem_R21.2.0_armhf.tbz2
/Linux_for_Tegra/rootfs$ cd ..
/Linux_for_Tegra$ sudo ./apply_binaries.sh
/Linux_for_Tegra$ cd rootfs
/Linux_for_Tegra/rootfs$ sudo tar cfvj ../rootfs.tar.bz2 .
The resulting rootfs.tar.bz2 you'll need to somehow get on the device. For the next part, I'll assume it's in /sdcard/rootfs.tar.bz2. You'll need to do this on the device (through ADB or through Terminal Emulator)
Code:
$ su
# cd data
/data# mkdir linux
/data# cd linux
/data/linux# tar xfvj ../media/0/rootfs.tar.bz2
Enabling Bluetooth with brcm_patchram_plus:
Code:
$ sudo brcm_patchram_plus -d --patchram /system/etc/firmware/bcm43241.hcd --baudrate 3000000 --enable_lpm --enable_hci --use_baudrate_for_download --no2bytes --tosleep 1000 /dev/ttyTHS2
Prebuilt boot images:
new_boot(80).img - working WiFi and sound
new_boot(90).img - added pointer emulation to touchscreen driver
new_boot(94).img - fixed Bluetooth stability
new_boot(114).img - fixed HDMI, added support for non-LTE partition table, my tegra driver patch is now optional (without it fbcon doesn't work properly, enable by adding fbfix to cmdline)
new_boot(123).img (newest at the moment) - fbfix isn't needed anymore, added support for tmpfs ACLs, enabled XZ compression (because after reaching a certain size, the kernel wouldn't find the initramfs anymore), enabled KVM
Bogdacutu said:
Code:
In drivers/video/tegra/dc/dc.c, in tegra_dc_probe, after "int i;" add:
static int num_probed = 0;
if (++num_probed > 1) return -ENOENT;
Click to expand...
Click to collapse
Won't this code always return - ENOENT?
Sent from my Xperia Z1 Compact using Tapatalk
_TB_TB_ said:
Won't this code always return - ENOENT?
Sent from my Xperia Z1 Compact using Tapatalk
Click to expand...
Click to collapse
It will always return -ENOENT except for the first time the function gets called (which is enough for the screen to get initialized).
Unless you are looking to completely break the Ubuntu install, do not perform a release upgrade to 14.10.
Everyone here probably already knows this but I wanted to see what would happen, which was rendering the x-server unusable. These results did not surprise me but hopefully this will save someone else who has the same idea as I did some time.
joshtheitguy said:
Unless you are looking to completely break the Ubuntu install, do not perform a release upgrade to 14.10.
Everyone here probably already knows this but I wanted to see what would happen, which was rendering the x-server unusable. These results did not surprise me but hopefully this will save someone else who has the same idea as I did some time.
Click to expand...
Click to collapse
Try doing
Code:
sudo apt-mark hold xserver-xorg-core
before doing the upgrade, to prevent the driver from being overwritten.
Bogdacutu said:
Try doing
Code:
sudo apt-mark hold xserver-xorg-core
before doing the upgrade, to prevent the driver from being overwritten.
Click to expand...
Click to collapse
Thanks, that was the command I couldn't remember. Let me do a backup of it first then I will try again to see if the outcome is any different, I'll let you know how it goes once I have a chance.
Great i need a dual boot Android/Linux
Bogdacutu said:
What works:
Audio
WiFi
Click to expand...
Click to collapse
Bogdacutu said:
Got it working thanks to /u/GenuineAster, will post a full guide in a day or two.
Click to expand...
Click to collapse
Bogdacutu said:
Photos:
https://s3.amazonaws.com/pushbullet...OAfew/Screenshot from 2014-12-28 12:51:51.png
Click to expand...
Click to collapse
I got my tablet 2 days ago, and I'm already trying to mess up with it... I decided to try to install Ubuntu on my Shield Tablet (WiFi only, EU model).
So basically, I managed to boot it up thanks to you tutorial. It seems to be working well, but there are some things that does not work, and I see you apparently solved those issues already...
The issues I have are the following, ordered by priority:
- No WiFi (I see that you apparently solved this issue, can you please explain how you managed to do that?)
- While I was writing this message, I went to keyboard layout options, and the OS crashed, it went back to login screen twice (I was on the same window each time, it showed nvidia black screen, then the login screen)
- No audio (I only have a device named "Dummy audio input/output", you seem to have audio, can you confirm that?)
- Graphics flickering on some textures, for example, on the main sidebar menu, when my mouse pointer is over an icon, there is a background on that icon, but the background is flickering, that's weird...
- No touchscreen (But you don't neither)
For the moment, I think the most important thing is WiFi, since I can't do anything without network connexion. Can you help me with that? Thank you!
etienne51 said:
I got my tablet 2 days ago, and I'm already trying to mess up with it... I decided to try to install Ubuntu on my Shield Tablet (WiFi only, EU model).
So basically, I managed to boot it up thanks to you tutorial. It seems to be working well, but there are some things that does not work, and I see you apparently solved those issues already...
The issues I have are the following, ordered by priority:
- No WiFi (I see that you apparently solved this issue, can you please explain how you managed to do that?)
- While I was writing this message, I went to keyboard layout options, and the OS crashed, it went back to login screen twice (I was on the same window each time, it showed nvidia black screen, then the login screen)
- No audio (I only have a device named "Dummy audio input/output", you seem to have audio, can you confirm that?)
- Graphics flickering on some textures, for example, on the main sidebar menu, when my mouse pointer is over an icon, there is a background on that icon, but the background is flickering, that's weird...
- No touchscreen (But you don't neither)
For the moment, I think the most important thing is WiFi, since I can't do anything without network connexion. Can you help me with that? Thank you!
Click to expand...
Click to collapse
I just updated the boot.img from post #4, WiFi and sound work now, Bluetooth works if you load firmware but it's pretty unstable at the moment.
Ok, I just tested it, and I confirm it works! I haven't tried bluetooth for the moment, but I have WiFi and audio now with v80. Thank you for the update!
I have another question, I saw your previous screenshot showing glxgears running at around 900-1000fps. Since I have some small lags sometimes, I decided to try glxgears and I'm running at around 450fps, that's less that half the framerate you have on your Shield Tablet. Did you do something special with the drivers after the tutorial you wrote?
etienne51 said:
Ok, I just tested it, and I confirm it works! I haven't tried bluetooth for the moment, but I have WiFi and audio now with v80. Thank you for the update!
I have another question, I saw your previous screenshot showing glxgears running at around 900-1000fps. Since I have some small lags sometimes, I decided to try glxgears and I'm running at around 450fps, that's less that half the framerate you have on your Shield Tablet. Did you do something special with the drivers after the tutorial you wrote?
Click to expand...
Click to collapse
Not really, you can try messing with the governors and max frequency, iirc there's a script in the driver package that automatically sets the CPU frequency lower on boot.
Update: I got the touchscreen to work with the Android drivers! I will upload the changes to my kernel repo soon (as soon as I figure out which of all the changes I did are actually required).
How is HDMI out? I find it mildly function on Android, can I expect the same from Ubuntu? Also, I didn't see if LTE is supported.
adampdx said:
How is HDMI out? I find it mildly function on Android, can I expect the same from Ubuntu? Also, I didn't see if LTE is supported.
Click to expand...
Click to collapse
No idea if HDMI works, I don't have a cable (my patch might break it though, in which case we'll probably need to change it). And it works on LTE tablets, but mobile data doesn't work (at least for now).
adampdx said:
How is HDMI out? I find it mildly function on Android, can I expect the same from Ubuntu? Also, I didn't see if LTE is supported.
Click to expand...
Click to collapse
I just ordered a Mini HDMI to HDMI cable, it will arrive in less than a week. As soon as I get it, I'll tell you guys how it works!
/u/GenuineAster confirmed that HDMI isn't working. I'm going to get an Ethernet adapter for netconsole soon, so that I can find out why it doesn't work with my patch to the tegra driver (which I'm sure is the reason HDMI isn't working). I'm also working on a way to get libGL.so to work in an i386 chroot (so that we can try to play desktop games that aren't compiled for ARM yet).
I'm impressed that this actually works so well. Makes what I have on my Shield Portable look pitiful. No sound, no video acceleration, etc. Now the question is, what changes have to be made to a mainline kernel to get similar results? Well, minus the video acceleration that's likely hard-coded to a specific kernel version. Bogdacutu, do you have a patch of your changes? Your github repo isn't a forked copy of the kernel, so it's hard to see the initial changes. I'd like to get a copy of Fedora running. Also looking forward to your touchscreen fix. My usb-otg cable is flakey to the point it causes Ubuntu to reboot if I bump it too much...
Question to the larger community: Anyone know how to get the wireless controller to work with this? I poked at wpa_cli and a couple of the p2p_ commands, but so far haven't picked up anything from the controller when it's searching.
Edit: Seems the otg charging thing doesn't work either. Makes long-term use impracticle when an input device has to be plugged in. Any of the kernel hackers know the bits that changed in nvidia's lollipop kernel to allow this?

[APP][4.1+] Tuxoid v0.1.1 - A full Linux desktop environment on your Android

Code:
*** Disclaimer
As usual, I am not responsible for thermonuclear war or other apocalyptic futures.
TL;DR: If you break your device with this project, it's not my fault (although I will of course be willing to help you in your troubles!!).
Introduction
Have you ever wanted to use your Android device as a fully-fledged desktop Linux box? Now you can, with Tuxoid!
A year or two ago, I discovered the Linux-on-Android project. (http://forum.xda-developers.com/showthread.php?t=1585009) I was fascinated by the possibility of running Linux on top of Android and using a desktop environment. However, I was slightly disappointed by the lack of some features, as well as a lack of development over the time of the project's existence. Thus I embarked upon an epic quest (well maybe not quite that dramatic) to build my own version from the ground up, basing it upon the ideas explored by Linux-on-Android.
After some on and off hacking on my OnePlus One, I now have some very early working code.
Below is a video demonstration of the current state of Tuxoid, demonstrating a few of its features.
Here is a list of some of these features:
- The big one: fast and high quality display system
- Native keyboard and mouse support (automatically disables Android's built-in system)
- Audio support. Audio from the desktop environment is piped into Android's audio system, so you can use your device's speakers, headphones or bluetooth etc
UPDATE: First builds!
I've built the first publicly available versions of the project. Before you get excited, I should warn you that they are in an unstable state. You can grab the APKs in the Downloads section of this project, as well as on the Releases page of the project on GitHub. These builds are not for n00bs! If you're still determined to give them a try, here are the instructions:
Requirements
An Android device running 4.1 or newer (it will be availabe for older versions in the future, but for know only Lollipop is supported) Older versions now supported!
Root with SuperSU for managing permissions. I will not explain this here, as there are already hundreds of guides available. If you don't know how to root your device, this project (at least in these early stages) is not for you.
A reasonable amount of internal storage (at least 1-2 GB free)
A stable internet connection. Make sure you're using WiFi for best results.
A mouse and keyboard to control the desktop environment. You should be able to use wired ones (via an OTG adapter) or wireless via bluetooth. As long as Android recognizes it, you should be good to go.
This is not a requirement, but you won't be able to do much without it (for now): knowledge of the Linux command line and preferably how to use the pacman package manager for Arch Linux, as that is the distro upon which Tuxoid is based (more distros will be available down the line!)
Setup and installation
Once your device is rooted, open up the SuperSU app and go to the Settings tab. Find an option labelled "Mount namespace separation" and ensure it is UNchecked. (Make sure to reboot before continuing if you had to do this)
Download and install the APK for Tuxoid. Again, if you don't know how to do this, you shouldn't be attempting to install an early build Tuxoid...
Open the Tuxoid app and tap the gear in the actionbar to go to the settings menu. There are a few options you can tweak here, but the main one you should be interested in right now is 'Disk image size'. Select a size that suits the amount of space you have free on your internal storage. I would recommend 4GB (the default) to allow room for installation of your own packages later. If you have less space free on your internal storage than you select here, the setup process will fail.
Go back to the main screen of the app and ensure you have a stable internet connection. Now connect your keyboard and mouse (you must connect them before booting Tuxoid up every time). Then, press 'Start' to begin the setup process. This will probably take a while, so just leave your device down for a while and check up on it every once and a while.
Eventually, if all went well, you should see a screen with a grey background and an xterm window. Feel free to run some commands. To start, I'd recommend installing the Chromium browser (open source version Google Chrome). To do this, run 'sudo pacman -S chromium' (without quotes). The password is the same as your username. Once installed, run 'chromium' to start the browser. For those who are interested, the window manager installed by default is Openbox. If you want to install some more packages, the list of available ones in Arch Linux for ARM devices is available here: http://archlinuxarm.org/packages If you weren't able to get up and running (i.e. no screen with a cursor and no xterm), you can try some of the steps described in Troubleshooting & Tips.
When you're finished playing around, follow the steps below to ensure clean shutdown of Tuxoid. If you want to boot up again, you can just open up the app at any time and tap on the start button. Tuxoid will use your existing system image.
Shutdown procedure
When you're done, simply press the back key on your device to close the GUI and press the stop button to shutdown Tuxoid. After a few seconds, the log will show "SHUTDOWN!", meaning the shutdown procedure was completed successfully.
Troubleshooting & Tips
If Tuxoid failed to boot during the initial setup, you can retry by first removing files in the 'droidtop' folder on your internal storage (usually 'system.img' and 'arch.tar.gz') and then pressing 'Start' again in the app.
If your mouse and keyboard aren't working in Tuxoid, ensure that they were connected to your device BEFORE you pressed the start button and make sure they were detected by Android. If they weren't detected by Android itself the they definitely won't work with Tuxoid.
If you something goes wrong at any stage while using Tuxoid, please press the 'Send log' button in the app to send me a copy of the log shown on the main screen.
If the app crashes, a dialog will pop up asking you to send a report. Please do this as it makes it much easier for me to fix bugs!
If you have any feedback and suggestions, feel free to post them here in the forums! You can also submit issues on the GitHub project (although this is really more orientated towards developers)
If you are a developer and want to get involved in the project, you can post here in the forums and/or submit pull requests on GitHub.
Source code
I've published all of the source code for the app to GitHub (http://github.com/jackos2500/tuxoid) Feel free to fork and make changes, and, even better, submit pull requests to move the project forward!
Finally, I would like to say thanks to the guys over at Linux-on-Android for their great work, without which the idea for this project would never have existed!
XDA:DevDB Information
Tuxoid, App for all devices (see above for details)
Contributors
jackos2500
Version Information
Status: Testing
Created 2015-06-13
Last Updated 2015-06-14
Reserved
Changelog
v0.1.1
Adds compatibility for Android versions as far back as 4.1 (API level 16).
Bug fixes:
screen resolution could be detected incorrectly
'setenforce' could fail to execute due to its lack of existence on older platform versions
v0.1
Initial public release.
Reserved
Its really interesting to hear about linux on android
shahzu3 said:
Its really interesting to hear about linux on android
Click to expand...
Click to collapse
Yup! I think I'll put out a build later with some instructions so that people can try it for themselves.
Mm
shahzu3 said:
Mm
Click to expand...
Click to collapse
Well I've pushed out the first public build. Give it a try and tell me what you think!
Hi. Your project sounds great ??
Is really necessary to have so internal space or could it be possible one day to have the whole stuff on the external sd.??
That is just amazing, thanks for your work, a tablet running this would be really nice... I'm going to try it out.
Hello! This looks very promising but I can't find any download link. Is it missing?
Edit: My phone just didn't load the page fully, the download section is on the top.
DirkStorck said:
Hi. Your project sounds great
Is really necessary to have so internal space or could it be possible one day to have the whole stuff on the external sd.?
Click to expand...
Click to collapse
Good point! I'll see if I can do something about that sometime soon. Unfortunately if the chroot environment is not stored in a disk image the filesystem it is stored on must support Unix permissions, so no FAT32 formatted sdcards without disk images. FAT32 also limits file size to 4GB, so that would be the max size for a disk image there. I'll probably add a way of optionally adding an extra partition to your SD to get around this at some stage.
WideBRs said:
That is just amazing, thanks for your work, a tablet running this would be really nice... I'm going to try it out.
Click to expand...
Click to collapse
Cool, tell me what you think when you give it a go!
jackos2500 said:
Good point! I'll see if I can do something about that sometime soon. Unfortunately if the chroot environment is not stored in a disk image the filesystem it is stored on must support Unix permissions, so no FAT32 formatted sdcards without disk images. FAT32 also limits file size to 4GB, so that would be the max size for a disk image there. I'll probably add a way of optionally adding an extra partition to your SD to get around this at some stage.
Cool, tell me what you think when you give it a go!
Click to expand...
Click to collapse
I have been using Linux Deploy on my tablet and it worked quite well. They have the environment as an image on the internal or external sd card. I think 4GB is a enough for a Linux system. For those who want more would have to format the external as ext4.
DirkStorck said:
I have been using Linux Deploy on my tablet and it worked quite well. They have the environment as an image on the internal or external sd card. I think 4GB is a enough for a Linux system. For those who want more would have to format the external as ext4.
Click to expand...
Click to collapse
I've pushed a new release with support for devices running Android 4.1 and above. I think I'm going to start working on improving the user-friendliness of the project tomorrow. This will probably include improving the UI and setup process, as well as better error handling. Once that code is in place I won't have to refactor any new features I add to the new UI, so it makes sense to do it first. It will take a while, and whenever it's done, I'll probably start working on some of those new features.
Hi,
Could you tell me if:
a) my phones built-in keyboard will work?
b) if there's an option to use the touch screen to control the mouse?
Thanks
moodroid said:
Hi,
Could you tell me if:
a) my phones built-in keyboard will work?
b) if there's an option to use the touch screen to control the mouse?
Thanks
Click to expand...
Click to collapse
Right now, no. Both of these are definitely a high priority though.
jackos2500 said:
Right now, no. Both of these are definitely a high priority though.
Click to expand...
Click to collapse
Excellent, thanks. I'll keep an eye on this...
Can i decompile and compile apk with this Linux for Android? I havent pc
this is really amazing, as it is very useful for tablets, at least for my tab s 10.5 inch, keep it up!
Currently using Xserver Xsdl, with the pain of slow refresh rate and input interrupt.
Thank you for this effort!
Hello,
So far, I had these issues before it worked, otherwise its awesome, the only way to render x server on android smoothly and no input latency without using direct (kernel) framebuffer:
1)Latest arch armv7hf use xorg-server and xf86-input-evdev compiled for/by version 1.18.x , had to recompile 1.17 from source since your module (the source code isnt released in your github :/, guess you forgot) is compiled for ABI module 20, currently 23.
2) High cpu usage, probably implement refresh rate limitation on the app side for displaying the shared memory framebuffer, though having the source code for the module would really help, guess its a modified dummy.so (?) to copy framebuffer to shm? Anyways ill try to workaround the issue using a compositor.
Thats all! working perfectly... If anyone need the compiled 1.17 versions of xorg-server and evdev, just use ABS or pm me.
Thanks!
EDIT: I think it would be better to turn this into X server framebuffer viewer app, and combine it with Linux deploy (+ 'custom scripts' option is already implemented in Linux Deploy, useful for evdev and xorg config) for more linux flavours
apparently, it seems that you have copied droidtop project without mentioning it (license: MIT) : https://code.google.com/p/droidtop/
which has been archived now with no public access

Categories

Resources