3 ms·
Thought I would chime in, because I've had a fair amount of experience with this and it's basically a battleground... if you try just once to install a reasonab
by yebyen 14y ago
Thought I would chime in, because I've had a fair amount of experience with this and it's basically a battleground... if you try just once to install a reasonable Linux on your android transformer, you might get the wrong idea and believe that Android Linux is just not usable.
My favorite configuration on my TF-101 is TeamEOS nightly builds with a separate partition for Ubuntu Precise which I run without X11. The partitioning can be accomplished using OLiFE Prime (don't mind that you may not have the TF Prime, that's not what prime means here.)
There are various APKs that will let you install Linux from several (mostly debian-based) distros into a chroot, by mounting a loopback file. I had good luck with "Debian Kit" and my current install of Ubuntu is older than my current install of Android, so I can't tell you exactly how I got it installed, but if you're not familiar with the chroot method of installing Linux, there are several different market apps with the goal of making it easy for you.
I found it's best to forego any X11 stuff. You wanted Linux so you could run a terminal, apt-get, and compile software? You got it. Android Terminal Emulator supports the control key, shift, and "back" for escape, it's perfectly usable.
That all works OK, but you have to take some care to get the armhf (not armel) versions installed, they work great and are much faster. You can also ignore that. I have read that they are much faster but I don't have empirical evidence to support that. "Feels true"
Finally for end of the 2 minute elevator pitch for Android Linux, as soon as you try using something that requires SYSV IPC, you will probably find it doesn't work (that means Apache, MySQL, basically any kind of multi-process server), unless your kernel mastery far outstrips my own, or if you settled on AOKP instead of EOS build of Android. The AOKP builds I tried _do_ support SYSV IPC. But nobody else does.
I did manage to enable X11 once by OLiFE installer, the system I installed was a "natty" at least two generations old, it worked fine out of the box from OLiFE, but it was kludgy at best, I tried upgrading everything to oneiric and precise, and from then on nothing worked. I did not want to lose my Android notifications backbone, so I went back.
I do everything in a chroot now.
Don't get me wrong. It worked. I just don't see the point of having a touch screen on a system that was engineered for a mouse and keyboard first. So, tl;dr, you can most certainly get a full working Linux terminal on Android JellyBean, I have... it's possible to install rvm in the usual way, and if you are a vim user, you'll be wanting that escape key, don't forget to set the options correctly in the Android Terminal Emulator app.
- yebyen 14y agotl;dr #2 Yes you can, install Linux on your Android I started with Linux Installer STANDARD (Galoula) It worked, but only for a short time (random freezes) Debian Kit (Sven-Ola) worked great I outgrew it, eventually picked Linux Deploy (Anton Sk.) All of these are a great choice, none of them will get you ARMHF binaries by magic, unless I missed some feature changes. ARMEL is fine though.
- Buzaga 14y agofrom what you said I got the impression this sort of setup is way unfit for development... wouldn't MySql, Apache means plenty of other development environment tools would be out too(postgreSQL, other web servers come to mind, browser...)? you then mentioned some are a great choice... could you explain to me how you rate this developing experience? I can see how being able to dish out some code anywhere would be useful, but I hoped to be able to do serious development/have it as my main work tool, even if the environment was a bit limited/lacking...as the advantages could surpass the issues (my Dell XPS Notebook already lasts only 1hr without being plugged! 1 year old only... )
- yebyen 14y agoI am going to defend the platform, while you should understand that if you absolutely need a local webserver or database to make your development go, what I have to say does not apply to you at all. EDIT Same goes for X11. I am an E17 user, but not on Android. I don't care about X11. There are plenty of software out there that do not depend on Apache or MySQL. Postgres too. (I tested postgres, it also does not work.) There is nothing stopping you from using a sqlite database and they are very advanced nowadays, although if your goal is to use Go (ARM port) with SQLite, you will probably find as I did that it's not tested and not working. But the system sqlite library and client in Debian/Ubuntu is not at fault. Many Android apps (android java) depend on sqlite databases and they are IMHO the new ubiquitous data store here. You need to re-evaluate your expectations for this platform. The shell should be a means to an end. I am thinking always, do I have a way to accomplish this task that does not involve running a shell yet? The end of all development on Android should probably be an APK, with buttons and ready to take your orders by touch, no heavy requirement of memorized shell commands. The platform is not meant to run a shell, and the shell should not be a part of your end-user product. That said, nothing stopping you... Android Terminal Emulator is a quality, finished product. I use the shell every day to ssh somewhere else and access screen or tmux. After a while I find that there are not many "standard linux" processes that I want to use on Android, past the phase of testing for "does it work at all?" level of compliance. When you think about using apache/database, think about uptime requirements for those packages. On half of the environments I tested, the system could not stay up reliably past an average of 20 process forks in the chroot. I had to kill my entire chroot and start again. You can imagine this made apt-get completely unusable. Still, try enough times, you get the software that you needed installed. These processes don't throw away their work just because they are stopped or killed. This was the problem I experienced on Galoula's installer, and it did not occur with Debian Kit or Linux Deploy. YMMV. These (androids) are systems that are meant to be running on wireless networks, without public IPs, and powered by batteries. If your process is going to cry when your battery runs out and the socket it's listening on closes, or if a cron job fails to fire on time, it should be deployed on a real server. Take Android out of the picture. You can get a "plain linux" system by using OLiFE installer, with no Android. Now the hardware will do what you want. It's just not Android. But if you want to preserve the Android userland experience, and just gain access to compilers, Linux Deploy or Debian Kit are perfectly suited to what you want to do. There is nothing stopping you from connecting to a MySQL server that's hosted remotely, or pushing to a git repository. You can apt-get install libmysqlclient-dev all day. All of that stuff works. SYSV IPC is responsible for a very small subset of what we Linux guys take home / really need for development. I would recommend against AOKP on the transformer (and cyanogen, and basically everything but stock or EOS roms) because they all seem to reboot themselves for no reason with an unacceptable frequency, and they all have "the sound bug" where you may have to reboot it yourself just to get an app to play a sound after some length of uptime / some event I don't quite understand happens. EOS has been completely free of these bugs in my experience. I only reboot when I'm feeling frisky. BUT AOKP does not have the SYSV IPC bug. So if you are just playing, and you want to have debs that require IPC, that is your platform. Still require batteries, still other criticisms apply.