I'm undertaking a stupid project and would like to ask some questions of some more experienced developers. Yes I know there's no practical reason for this, and no you cannot talk me out of it.
I would like to create a sort of "super nerd" adaptation of CyanogenMod for command line Linux junkies, or at least for Comp Sci grad students like myself. I want my phone to be able to recompile and reinstall nearly everything it runs. Yes I know that's a painful and slow operation: I did "emerge tightvnc" on a chroot Gentoo install and the command took about 18 hours. I remain undeterred.
Questions:
Sun JDK is apparently not available for arm7a. Am I reading the docs correctly, and one can indeed use Apache Ant to compile Android? Or is Ant not what I think it is? I'm not opposed to creating a small Bochs VM that boots, mounts a network filesystem, executes some JDK task, and then signals to terminate. I'd rather not if I can help it though.
How much access does the radio hardware get to the rest of the system? If I were to store something personal in an encrypted loopback partition, could someone abuse direct memory access to read from memory without the host OS knowing about it?
Has anyone played with adapting the Android boot process to use System V type init scripts? I'd like to make it easy for Tasker to say "we're running out of memory -- go from init level 5 to something arbitrary, say 7, which stops some services. Oops, still low, go init level 8, which disables more services.
I definitely plan on sharing my work. What do you guys think of the name CyanoGentoo?
Thanks all.
Apparently Apache Ant is not what I thought it is.
How about this then: does anyone know where I might find a community for people interested in general purpose computing on an Android phone?
Michael Spencer said:
Apparently Apache Ant is not what I thought it is.
How about this then: does anyone know where I might find a community for people interested in general purpose computing on an Android phone?
Click to expand...
Click to collapse
Don't know if you're still around but I'm very interested in helping and believe I may already have some solutions for you. If you're still running chroot or another form of ARM Linux distro (Debian based is what I'm coding for at the moment) then check my github
https://github.com/S0AndS0/Debian-Kit-Mods
The readme file has directions on how to clone and run the main modding script which curently has at least one if not two options that'll peek your interest for sure.
One set of options will download and install Java's JDK (either hard float or soft float) and another will download and install jMonkey (a user friendly programing SDK built on eclips) which will get you one step closer to compiling things on an Android device for Android devices. However, I've yet to crack running "Android SDK" because they have yet to reliece an ARM compatible source and "wine" (a Linux package for emulating other CPU's) is still under heavy development, so building Android from source and such is still out of the scope of what I've been able to script up for easy use.
On a side note; a quick google search of my user name and the key words guide, linux, jdk, arm and xda will result in links of what I've written up on enteracting with Linux on Android if you get stuck anywhere.
And if you search "raspberry pi android adb similar:xda" you'll find what I'll likely be working on bringing to Android; after debugging the script I'm working on to set up a Brendle (one of many methods of "cloud computing" availible for ARM) node/network through all availible network interfaces (bluetooth, 3G/4G, wifi) on Android.
Sent from my SPH-D700 using xda app-developers app
I am still around, and when I get a chance I'll take a look. I think I'm mostly satisfied with AIDE and chroot Ubuntu.
And those worried about dma exploits via radio hardware need only use a wifi-only device with a portable hotspot, I've concluded. No way to prevent these exploits otherwise.
Thanks again.
Michael Spencer said:
I am still around, and when I get a chance I'll take a look. I think I'm mostly satisfied with AIDE and chroot Ubuntu.
And those worried about dma exploits via radio hardware need only use a wifi-only device with a portable hotspot, I've concluded. No way to prevent these exploits otherwise.
Thanks again.
Click to expand...
Click to collapse
Indeed AIDE has been a fantastic tool for me as well.
Heh dma was indeed a concern of mine among other security issues with running Linux over 3/4G but its to bad there's no solution yet. I'm using old phones and tablets for most tests but try as I might I can't break into them from out side my hotspot network... even though I can connect to the divice running the hotspot remotely if it is running Linux too.
hmm, I'm working on a new script of examples for networking now, lots of building blocks to my latest project, which may help new scripters with some networking tedium of finding and assigning specific IP's to variables so they can be shared or saved or modified into other commands quickly. This will upon compleation will be one of the references for other scripts I'm working on for getting openstack and MPI running on multiple devices swiftly.
Speaking of MPI; the installer for Bramble on Android now works (install option 2 within for Debian Kit users) for getting that software package installed and all that is left to work on is the setup for machine files and sshkeys for multi-node quick set-up.
Two questions; seeing as how you have AIDE, perhaps you might be able to help with my other project that I'm working on? I've another github repo where I'm working to incorporate a; soft/hard float Linux installer, terminal emulator, rdp/vnc client, scripter, and forwarding of Linux GUI to a second device and/or Chromecast of a specific desktop or Linux window with x11... Currently stuck on the terminal but still very new to Java for Android.
or because that's a bit much to ask; perhaps some help with Android scripting for installing Linux on Android that uses Debian Kit's methods to provide hard float or soft float?
I'll be around and have modified my sig for easier tracking and will be pushing more updates to github today, hopefully by the end of the day have a sshkey passer script for quickly setting up passwordless remote login. After that will be some work on setting up bridges between USB, Bluetooth, Wifi, and any other network interface available for faster transfer of large data sets.
Edit 03192014
Michael Spencer said:
Has anyone played with adapting the Android boot process to use System V type init scripts? I'd like to make it easy for Tasker to say "we're running out of memory -- go from init level 5 to something arbitrary, say 7, which stops some services. Oops, still low, go init level 8, which disables more services.
Click to expand...
Click to collapse
Check out the Debian Kit app, from what I have found it exposes all of the Linux processes and file system to Android and if running as root user on Linux then the full Android file system is exposed too. Debian Kit doesn't use chroot to run Linux so it's "possible" to run a chroot environment at the same time. And running "ps" commands on Android or Linux terminals, produce nearly identical output, of both Linux and Android processes happily running meaning that if Tasker can't see these processes then a script can run the "ps" command and run a command to shut down Linux processes; likely it's a bit more complex because re-starting those services or even suspending some could cause un-wanted behavior. Still though with testing and time it is possible to have the memory better managed.
Update 03312014- Back on making your phone compile itself subject; I'm working on using(/scripting an installer for) OpenStack on Android, which has QEMU for emulating CPU processors which will eventually allow us to install Android SDK on Android(s) running Linux. I'm using OpenStack because to emulate a normal PC processor one even a quad core ARM processor is really slow (use to be an app for this called Limbo PC emulator but last I searched the market place this app was gone) so using OpenStack will allow us to throw what ever extra Android phones into a pool of sharable CPU power; essentially I'll be creating a 7 or 8 (virtual) core processor out of networked Android phones and then emulate a 2 or 4 core x86 processor within and install the tool kits for android that have CPU requirements.
I've other plans for OpenStack too but those will require that I incorporate mesh networking and google translate. So that users anywhere can build a cloud of shared processing power.
Sent from: SPH-D700 or myTouch3Gs or Sero 7 Pro
Linux Install guide for Android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Or
https://docs.google.com/document/d/1ssVeIhdBuuy8CtpBP1lWgUkG6fR6oHxP20ToYPPw6zI/edit?usp=drive_web
And my script pack for installing; Java's JDK, node.js and more to your Linux OS
https://github.com/S0AndS0/Debian-Kit-Mods
Note: if you're new to Linux/scripting/command line; check readme file for instructions.
http://www.timelesssky.com/blog/building-android-sdk-build-tools-aapt-for-debian-arm
http://www.timelesssky.com/blog/develop-app-on-android-with-android-sdk
Hey all found the ^answer^ if you've not already found this blog then you all are in for a treat dig around on that above site and you'll find some other really cool stuff for Linux Android systems.
Sent from: SPH-D700 or myTouch3Gs or Sero 7 Pro
Linux Install guide for Android devices that I'm writing:
http://forum.xda-developers.com/showthread.php?t=2240397
Or
https://docs.google.com/document/d/1ssVeIhdBuuy8CtpBP1lWgUkG6fR6oHxP20ToYPPw6zI/edit?usp=drive_web
And my script pack for installing; Java's JDK, node.js and more to your Linux OS
https://github.com/S0AndS0/Debian-Kit-Mods
Note: if you're new to Linux/scripting/command line; check readme file for instructions.
Related
I'm just curious about something.
I recently moved from the iPhone to a Nexus One.
While I noticed there are a lot of ROM cookers etc (thanks for your great work guys) the development community seems kind of thin?
For example, on the iPhone there are full sets of all GNU tools. Anything you can use in Linux/Darwin they have for iPhone. There is a full apt packaging system will full console tools. The full OpenSSH suite has been made supporting all the wireless administration that I've come to love on my phone. Basically, it makes it feel like a full computer in my hand.
Now, I love this Nexus One, but I wasn't sure what the reasoning behind no one out there doing development on this kind of stuff. You'd think a phone running Linux with all code available would attract hordes of eager coders.
Instead we get weird crap like "dropbear" that has to be recompiled yourself to even work right, and even then...haha.
Not much as far as package management in the console, and our tools come from Busybox! Just seems very odd to me, but there must be reasons that I am not seeing.
This post is really not meant as an insult because I love this OS so far etc, but it just really suprised me that full sets of standard tools are not available.
Anyone know why?
Because you have to replicate the entire standard GNU/Linux userspace, which is a bear. Most of the work is done on the Android userspace instead, and you can find the fruits of those labors on AOSP Gerrit (http://r.android.com/) and the CyanogenMOD repository (http://github.com/cyanogen/android_vendor_cyanogen).
The best bet for getting a standard GNU/Linux userspace is to just boot Debian.
For future reference, this is probably not considered the correct forum for this discussion (probably Android General or the generic Android Development, not too sure.)
EDIT: Just to address some more specific points, Android has a package manager (those .apk files you see everywhere) and Busybox makes the most of the limited internal memory and provides enough tools to manage the Android userspace.
Sorry I thought the development forum would be the right place.
The iPhone 2g/3g have only 128mb of memory, and since gnu tools aren't resident in memory there is no problem having a full compliment of them on the phone.
The problem with debian is it is not really a nice UI for a phone. It would just be nice to have my phone, plus having the GNU tools underneath.
It isn't like its a dealbreaker, it just struck me as odd that all the proper tools have been built for the iPhone, and using it really feels like a full computer you're SSHing into, where as an open source Linux based OS on android basically is lacking all of it, minus the limited functionality provided by Busybox and Dropbear (like..dropbear really?).
These things have more memory and comparable processing speed to computers running windows 98 and early XP, so there is no reason not to have everything available to you when you need it.
I'm kind of a sideline commenter here as I'm not a coder, but it just struck me as odd.
Thanks for your reply!
anethema said:
Sorry I thought the development forum would be the right place.
Click to expand...
Click to collapse
NP, it's side discussion though. "Here's a complete set of native GNU tools" would be a dev forum topic.
anethema said:
The iPhone 2g/3g have only 128mb of memory, and since gnu tools aren't resident in memory there is no problem having a full compliment of them on the phone.
Click to expand...
Click to collapse
Nonono, not RAM. Flash memory. iPhone has tons of it. G1 (where most of the developers got started, mind you) has very little. Further, the partitioning left limited room for additional binaries. There's some ways around that (symlinks, mostly), but they aren't elegant, and are subject to wiping at inopportune times if you aren't careful.
anethema said:
The problem with debian is it is not really a nice UI for a phone. It would just be nice to have my phone, plus having the GNU tools underneath.
Click to expand...
Click to collapse
I'm curious about your use case. "It would be nice" is, well, nice, but is there a need you have that the existing tools aren't fulfilling?
anethema said:
It isn't like its a dealbreaker, it just struck me as odd that all the proper tools have been built for the iPhone, and using it really feels like a full computer you're SSHing into, where as an open source Linux based OS on android basically is lacking all of it, minus the limited functionality provided by Busybox and Dropbear (like..dropbear really?).
Click to expand...
Click to collapse
I'm not sure what's with the Dropbear hate. There are not many use-cases for SSH servers on a phone, so few people have worked on it. I'd think the Android-phone-powered robot guys are the most likely to need it. But again, Dropbear is going to perform a whole heck of a lot better on a G1 than OpenSSH, and the G1 is the origin of all this stuff.
Remember, Android is explicitly not GNU/Linux. You might call it "Android/Linux." The fact that the Android userspace is open-source means that the alternate (and exciting new) userspace is attracting development, instead of people trying to port GNU just so they can use their closed-source iPhone. This is, in fact, a Good Thing, because it can result in improvements for all Android users (via contributions to AOSP), not just that subset of geeks (read: us) who mod their phones.
Understanding this difference is key to understanding the development pattern. People aren't working on the GNU userspace for Android phones because the Android userspace supplants it. The tools we have do what is needed, nothing more. In fact, `am' and `pm' are more useful in the Android context than anything that's left out of Busybox.
anethema said:
These things have more memory and comparable processing speed to computers running windows 98 and early XP, so there is no reason not to have everything available to you when you need it.
Click to expand...
Click to collapse
Back to my use case comment above. What is it that you need?
anethema said:
Thanks for your reply!
Click to expand...
Click to collapse
No problem, it's a good discussion.
I guess it is basically that you don't know what you need until you need it. I treat my phones like this basically like little computers. Certainly on a laptop/desktop no one would bother questioning why you need general tools you use to get jobs done.
For the iPhone there was a need for unique certification to apples push servers so phones that were basically 'tricked' into activating could still get push messages via these servers.
I wrote a tool called Push Doctor with phone based scripts and with a donor style one server side. Basically I was generating these certificates and people could download them. The whole thing on both side is just a bunch of shell scripts. One running on the phone, one on my and cert donors computers. Now this may or may not have worked in busybox as I haven't tested it, but I just mean you never know what you are going to use stuff for, and having a nice standard set of tools across all Linux platforms can be nice to have for this reason.
As far as the space issue, I think that whole thing seems crazy as well. You're right there is a ton of space on the iPhone, but the G1 came out after it, and the Nexus One long after it, so its too bad 'space' is still an issue these days requiring ugly hacks to circumvent.
Regardless the tools could be distributed as part of several core apk's which people could install if they wish.
Like I said above, these are hardly embedded devices anymore. It's not like there's 4kb of ram and 5 mips CPU.
As far as dropbear, it isn't that I hate it, I just think even the G1 has comparable speed to the first iPhone (not in the Graphics/UI but certainly as far as the CPU is concerned) and running something as insignificant as OpenSSH should not be an issue. I've never personally heard of dropbear, and have no idea what their security track record is, but I do know OpenSSH's. It is a VERY widely used package with a lot of eyes on it making sure it is doing what it is supposed to be doing.
Apparently the default dropbear will authenticate any password if you enable passwords and you have to build your own from source run about 50 commands, all to get it going.
Where is the APK for a working dropbear, or apt-get install dropbear? Can you even have APK's for system level packages? Everything I seem to find tends to be a custom download from someones site whcih you have to 'push' to your phone, try to follow some 50 step guide to hopefully get going, etc.
I am loving a lot of facets of this OS, I'm just curious where the community is to work on this stuff, get it going, and make it easy. Android isn't really -that- young.
anethema said:
For the iPhone there was a need for unique certification to apples push servers so phones that were basically 'tricked' into activating could still get push messages via these servers.
I wrote a tool called Push Doctor with phone based scripts and with a donor style one server side. Basically I was generating these certificates and people could download them. The whole thing on both side is just a bunch of shell scripts. One running on the phone, one on my and cert donors computers. Now this may or may not have worked in busybox as I haven't tested it, but I just mean you never know what you are going to use stuff for, and having a nice standard set of tools across all Linux platforms can be nice to have for this reason.
Click to expand...
Click to collapse
Market Enabler is in that class of application, and, like other "rooted" apps relies on shell calls to Busybox on the backend--ugly, but keep in mind this is an attempt to explicitly defeat the Android security model. BB is sufficiently standard and POSIX conformant that it hasn't posed any difficulties for these kinds of applications.
anethema said:
Where is the APK for a working dropbear, or apt-get install dropbear? Can you even have APK's for system level packages? Everything I seem to find tends to be a custom download from someones site whcih you have to 'push' to your phone, try to follow some 50 step guide to hopefully get going, etc.
Click to expand...
Click to collapse
So-called "native"--that is, ARM binary--applications aren't supported by the Android platform in the conventional way. In mid-2009, Google released the Android NDK which permits ARM binary libraries to be intermingled with Android applications via JNI. Since Android is explicitly intended to be compile-once, run-anywhere (which is why apps run on a VM), this is only recommended for computation-heavy code. However, the Mozilla project is using the NDK to directly port legacy code (Firefox/Fennec) with a thin Java interface to the Android system, so such a thing is possible.
This doesn't really make sense for the GNU toolkit, though. The SSH case; you could certainly set up an SSH server to run as a system service using NDK+JNI to connect any SSH library you like. The fact that this has not happened leads me to believe that there is little demand.
In general, the needs of existing developers appear to be met by the tools available.
Based on everything you've mentioned--you may want to take a look at the Android Scripting Environment.
"Over the weekend a new 0-day exploit was discovered that affects anyone running the Java Runtime Environment 1.7x. If you’ve got a fully patched Windows 7 machine running the latest version of JRE, your computer is still vulnerable, bringing home the seriousness of this exploit.
Tests carried out by security vendor FireEye have discovered the exploit allows an attacker to install malware on a targeted machine. This could mean a keylogger is installed, or your machine gets added to a botnet, or any number of other malicious activities can be initiated.
The origin of the exploit has been tracked back to a server in China. Infected machines have also been spotted making contact with command and control servers located in Singapore. For the moment its use is quite limited, but as with any exploit that works so effectively, it is going to spread very quickly.
The exploit is currently targeting Windows (7, Vista, and XP) machines specifically with an executable, but it can easily be tweaked to also target Macs and Linux machines simply by changing the payload. No browser is safe either, with the exploit thought to work on regardless of whether you are running Chrome, Firefox, Internet Explorer, Opera, or Safari.
With that being the case, the only way to protect your machine against the exploit is to disable the Java browser plugin. The only place a fix can come from is Oracle, and there’s no information as to when that will happen. It could be days at least, maybe longer.
Instructions on how to uninstall Java completely (for Windows) can be found on Oracle’s Java support pages. Disabling the JRE in your browser means locating your add-ons/plugins page and disabling the appropriate entry. Running some form of anti-virus and anti-spyware is also recommended, but you should already be doing that."
Source: http://www.geek.com/articles/news/j...-everyone-should-disable-java-today-20120828/
FromiOSToAndroid said:
"Over the weekend a new 0-day exploit was discovered that affects anyone running the Java Runtime Environment 1.7x. If you’ve got a fully patched Windows 7 machine running the latest version of JRE, your computer is still vulnerable, bringing home the seriousness of this exploit.
Tests carried out by security vendor FireEye have discovered the exploit allows an attacker to install malware on a targeted machine. This could mean a keylogger is installed, or your machine gets added to a botnet, or any number of other malicious activities can be initiated.
The origin of the exploit has been tracked back to a server in China. Infected machines have also been spotted making contact with command and control servers located in Singapore. For the moment its use is quite limited, but as with any exploit that works so effectively, it is going to spread very quickly.
The exploit is currently targeting Windows (7, Vista, and XP) machines specifically with an executable, but it can easily be tweaked to also target Macs and Linux machines simply by changing the payload. No browser is safe either, with the exploit thought to work on regardless of whether you are running Chrome, Firefox, Internet Explorer, Opera, or Safari.
With that being the case, the only way to protect your machine against the exploit is to disable the Java browser plugin. The only place a fix can come from is Oracle, and there’s no information as to when that will happen. It could be days at least, maybe longer.
Instructions on how to uninstall Java completely (for Windows) can be found on Oracle’s Java support pages. Disabling the JRE in your browser means locating your add-ons/plugins page and disabling the appropriate entry. Running some form of anti-virus and anti-spyware is also recommended, but you should already be doing that."
Source: http://www.geek.com/articles/news/j...-everyone-should-disable-java-today-20120828/
Click to expand...
Click to collapse
Oracle have been little *beep* lately. But so far its harmless. It is focusing on unix based os' first or so ive been told. So basicly the more upper class os'. Good thing i run windows
That's right, I'm a potato. Problem
Disabling Java in Chrome: Go to chrome://plugins/ and disable it.
But java is what runs half of my computer...im gonna take the risk BUT block it using admin controls to stop it from accessing unknows ips and proxys. Easy solution.
That's right, I'm a potato. Problem
gmaster1 said:
But java is what runs half of my computer...im gonna take the risk BUT block it using admin controls to stop it from accessing unknows ips and proxys. Easy solution.
That's right, I'm a potato. Problem
Click to expand...
Click to collapse
If you are a developer and you actually use the capabilities given in the Java 7 release then maybe, but just go to 6 and you'll be fine. No need for all this worry and/or panic.
DemisesAngel said:
Unless you are a developer and use the capabilities given in the Java 7 release, just go to 6 and you'll be fine. No need for all this worry and/or panic.
Click to expand...
Click to collapse
Yeah...im NOT a developer...he...hehe...hahe...im doomed if this is true. I started out with windows which is why im noob with android still
That's right, I'm a potato. Problem
I found something new. After going back in java v. I realised that java always had an exploit. Non accessable by any other computer. So looking at j v. X.7 i found out that its nothing of harm.
That's right, I'm a premium potayto. Problem
Hello everybody
I have a big problem. I recently bought an Asus Memo Pad 7 ME572C and I can't access to my files over my network.
With my old tab, I'm so use to mount documents with SSHFSAndroid app. So I can read my Ebooks and watch my pictures and videos like if they were onto the tablet (for music files I have a MPD server). But SSHFSAndroid doesn't work with this tablet (actually, I didn't get it to work). I tried Mount Manager and CIFSManager with a NFS server and same result.
So I come to ask some help and to know if someone else tried to do the same things and get a fix or a solution.
For me, this is a huge regression and I'm thinking to exchange or pay back this beautiful tab.
I do really love it (huge resolution, speed, lightweight, lollipop soon, maybe CyanogenMod), but I missed so much to read and watch with a tablet without any download (Since many years I already do it with my laptop thanks to GNU/Linux and SSH). Please, I'll really appreciate some helps.
Sorry for my poor English, I'm French
PS: Do you know which Android is It ? arm or x86 ? Because Atom processor inside is 64 bits and some apk I download were x86 package.
Hi, welcome to me572 users community !
Your issues are not hardware, thus asking a refund for those considerations seems irrelevant... Same thing for architecture : android is not arm or x86, but the underlying system it is running on is (architecture dependent), and bus length (32/64 bits) is another thing... Regarding x86 architecture, that has been there nearly since the beginning, we make a difference between 32 and 64 bits capable CPUs, thus having x86 and x86_64 architectures.
To me the right thing to say is that this tab uses android kitkat on a x86 architecture, thus using a x86 kernel and x86 system binaries : here we dont say x86_64 but it is implied as tablets/android didn't existed since we switched to 64 bits. As 32 bits cpu are gradually disappearing, the x86 name more and more refers to 64 bits capable cpus...
Anyway I don't understand the concept of arm or x86 applications as there shouldn't be any adherence with the architecture : android is "just" a java framework precisely intended to alleviate devs from those kind of considerations, unless it is a "system interfering" app like xposed or busybox installers... That's why vendors have to play an important part in the system that is delivered to you : they have to adapt the underlying os (gnu/linux kernel and binaries) to have the android framework to work properly on the device through specific drivers (system libraries and kernel modules). Whike doing this they also develop apps, bloatwares, benchmarck cheats, or other interfaces and add-on like ZenUI for Asus (Sense for HTC,....) in an attempt to make a difference and/or develop users loyalty like apple : that's actually the most visible but smallest part of their work on a ROM...
At last, I think I may help here : have a look at "owncloud", it allows to browse and download files and even keep contact/calendar/photo sync through a simple server, it even have its own http interface, windows and linux clients. You can host it yourself or find free online hosting, and use specific android clients apps like owncloud and DAVdroid among many others. It can also be used as a network filesystem under linux, and is way more stable and faster than sshfs...
hello
Thank you for those explanations. I understand. With Android we use x86 for 64bits because 32 never exist. My misunderstood was because on GNU/Linux processor 32 exist so there is x86 and x86_64.
For now there is some apps and games not yet compatible with x86, for example République or Banner Saga.
You say that sshfs is slow and unstable. I'm not ok with that. We don't care about speed when we use a mount point. And That was speed enough for watch movies or read comics.
Es explorer can watch Movies like a streaming without download cache (I don't now how It does) but for comics, pictures and music it entire download it.
For a long time I use sshfs with Linux at home and over the worldwide web and It'd not unstable at all. It's pretty easy and efficient to work with your files away from miles as if they were in your local device.
I will give a try to owncloud/webdav if they manage network mount.
I'm creating a Qt app so I thought I could publish it in the Winstore as well. But Windows is such a one big mess compared to Linux that I simply can't set it up.
I installed VS Community 2013, with the Emulator images, WinStore package management tools and the Qt SDK. I added the C:\Qt\Qt5.5.0\5.5\winphone_x86\bin to PATH, copied my program written with use of Qt Quick Controls.
I built the app with the Qt Toolchain for the WinPhone emulator. Is there any way to deploy the app directly to the emulator?
I knew no such way, so I tried generating a VS project. Even though Qt is in the PATH, qmake complains about uuidgen missing. What should I do with it?
To be honest, I'd rather deploy to the emulator directly from the Qt Creator.
It's pretty easy to deploy apps to the emulator. Just use the standard Application Deployment tool (it's installed with the WP8.x SDK, you can find it using Start search) and select which emulator configuration you want to deploy the app to, then select the .XAP or .APPX or whatever and hit Deploy. Bear in mind that the "emulator" is actually an x86 VM running on your PC; you'll need to compile any native code for x86 ("Win32" though technically that's an API used on many instruction set architectures, not an architecture itself) to use in the emulator, but to ARM (actually THUMB2) for the phone.
With all that said, I haven't heard of anybody trying to write a WP8.x app using Qt before. It might work if the compiler knows how to target the correct platform and how to bundle up the installable app and everything, but I haven't ever tried or heard about anybody else doing so.
GoodDayToDie said:
It's pretty easy to deploy apps to the emulator. Just use the standard Application Deployment tool (it's installed with the WP8.x SDK, you can find it using Start search) and select which emulator configuration you want to deploy the app to, then select the .XAP or .APPX or whatever and hit Deploy. Bear in mind that the "emulator" is actually an x86 VM running on your PC; you'll need to compile any native code for x86 ("Win32" though technically that's an API used on many instruction set architectures, not an architecture itself) to use in the emulator, but to ARM (actually THUMB2) for the phone.
With all that said, I haven't heard of anybody trying to write a WP8.x app using Qt before. It might work if the compiler knows how to target the correct platform and how to bundle up the installable app and everything, but I haven't ever tried or heard about anybody else doing so.
Click to expand...
Click to collapse
Well, it appeared to be a problem of VirtualBox. It doesn't support nested virtualization and thus Hyper-V is not detected as supported.
Yeah, that wouldn't work; the WP8 emulator uses Hyper-V and requires hardware virtualization support.
You could just get a test device; even brand new the Lumia 5xx series can be had for under $100 US. Used ones are cheaper. I think BLU and Huawei also have some very low-cost WP8 handsets.
GoodDayToDie said:
Yeah, that wouldn't work; the WP8 emulator uses Hyper-V and requires hardware virtualization support.
You could just get a test device; even brand new the Lumia 5xx series can be had for under $100 US. Used ones are cheaper. I think BLU and Huawei also have some very low-cost WP8 handsets.
Click to expand...
Click to collapse
Well, I managed to copy Flash.vhd from the Win8 fs and have it booted in VirtualBox on Linux host. The only problem is that I don't know how to copy an app to the phone machine.
The Windows Phone SDK (installed as part of recent Visual Studio versions, though I think you can still get it stand-alone) includes an "Application Deployment" tool (xapdeploy.exe). It uses USB, so you have to forward the USB device from your host to your guest VM, but after that it should work.
Hello,
I want to use Linux on my Galaxy Tab S8+ through Termux and proot distro (Arch, actually).
However, no matter what I do, there's no way to make GPU work on it...
Using the last Termux from github + Termux-X11, I managed to launch xfce4 desktop on my Arch proot, but when I try glxgears, I get:
Error: couldn't get an RGB, Double-buffered visual
Click to expand...
Click to collapse
glxinfo:
Error: couldn't find RGB GLX visual or fbconfig
Click to expand...
Click to collapse
Blender:
intern/ghost/intern/GHOST_WindowX11.cpp:136: X11 glXQueryVersion() failed, verify working openGL system! initial window could not find the GLX extension Writing: /tmp/blender.crash.txt Segmentation fault
Click to expand...
Click to collapse
I do have compiled mesa on Arch with freedreno-KGSL enabled and zink.
My final goal is to make Blender work with GPU while using proot (no chroot because I don't want to root it yet and loose warranty).
Unfortunately, due to this issue: https://gist.github.com/agnostic-ap...#how-to-disable-the-phantom-processes-killing , you're going to need to root if you want to run Linux desktop apps on ANY Android 12 device.
Once you root your Tab S8, install Linux Deploy (https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy), run it and install whichever distro you like (I chose Kali), and Remote Desktop Manager (https://play.google.com/store/apps/details?id=com.devolutions.remotedesktopmanager) to connect to it via VNC
The only settings I had to change in Linux Deploy was changing the installation type to Directory and the installation path to
Code:
${ENV_DIR}/rootfs/linux
, but your mileage may vary depending on what distro you want to install. If you want to use your Android filesystem from Linux, enable mounts and mount /data/media/0 to /mnt/android.
I haven't messed with PulseAudio, because I really just wanted full LibreOffice. Let me know if you get it to work. You may also want to go into GUI settings in Linux deploy and change the resolution to 1920x1200, but again it depends on your distro chosen.
But keep in mind, rooting will 1. Brick your KNOX chip permanent 2. Without KNOX chip, apps like secret folder, samsung pass and few more will stop working. 3. To root you need to unlock the bootloader which triggers the knox chip and permanently disables it and it cannot be recovered or enabled again since knox chip has a tiny fuse inside itself so when bootloader is unlocked it will burn the thin copper thread inside fuse and snap off that will permanently disable knox and this would also void your warranty when knox chip gets triggered and disabled.
So take time think about it before doing it. Do you want warranty or not? Do you want to lose those apps that you may want to use later or already using?
Thanks for your answers.
I know that root and bootloader will break the waranty and is not recoverable. It's why I'm trying to make it work using proot.
skrowl said:
Once you root your Tab S8, install Linux Deploy (https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy), run it and install whichever distro you like (I chose Kali), and Remote Desktop Manager (https://play.google.com/store/apps/details?id=com.devolutions.remotedesktopmanager) to connect to it via VNC
Click to expand...
Click to collapse
I use termux-x11 or termux-wayland rather than VNC because it's more fast and smooth.
The GPU seem to work from termux itself (tried glxgears on openbox). However, it doesn't work from proot-distro.
After some research, I found that I could use the GPU by compiling virglrenderer with egl enabled, and then, export GALLIUM_DRIVER=virpipe from proot-distro.
However, to compile virglrenderer, I need to compile mesa from source with gbm enabled, but the compilation give me errors :
../src/vulkan/wsi/wsi_common_display.c:1238:4: error: implicit declaration of function 'pthread_setcanceltype' is invalid in C99 [-Werror,-Wimplicit-function-declaration] pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); ^
../src/vulkan/wsi/wsi_common_display.c:1238:4: note: did you mean 'pthread_setname_np'? /data/data/com.termux/files/usr/include/pthread.h:352:5: note: 'pthread_setname_np' declared here int pthread_setname_np(pthread_t __pthread, const char* __name); ^
../src/vulkan/wsi/wsi_common_display.c:1238:26: error: use of undeclared identifier 'PTHREAD_CANCEL_ASYNCHRONOUS' pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); ^
../src/vulkan/wsi/wsi_common_display.c:1268:7: error: implicit declaration of function 'pthread_cancel' is invalid in C99 [-Werror,-Wimplicit-function-declaration] pthread_cancel(wsi->wait_thread); ^
../src/vulkan/wsi/wsi_common_display.c:1268:7: note: did you mean 'pthread_once'? /data/data/com.termux/files/usr/include/pthread.h:275:5: note: 'pthread_once' declared here int pthread_once(pthread_once_t* __once, void (*__init_routine)(void)); ^
../src/vulkan/wsi/wsi_common_display.c:2183:10: error: implicit declaration of function 'pthread_cancel' is invalid in C99 [-Werror,-Wimplicit-function-declaration] pthread_cancel(wsi->hotplug_thread);
Click to expand...
Click to collapse
I found out that pthread_cancel is not supported in the android libc.
Now, I don't know what to do...
Here's the Termux discussion about it here: https://github.com/termux/termux-app/issues/2366
Trust me that I spent a lot of time looking into it and there are no workarounds. You MUST root to use Linux in Android 12, period. Termux is no longer viable for background processes (like an X server), but you can still use it to do stuff interactively (working directly in your shell with Termux never losing focus). Your background processes will eventually get murdered by the OS and your X session will just suddenly go poof. It's sad too, because I really liked Termux.
skrowl said:
Here's the Termux discussion about it here: https://github.com/termux/termux-app/issues/2366
Trust me that I spent a lot of time looking into it and there are no workarounds. You MUST root to use Linux in Android 12, period. Termux is no longer viable for background processes (like an X server), but you can still use it to do stuff interactively (working directly in your shell with Termux never losing focus). Your background processes will eventually get murdered by the OS and your X session will just suddenly go poof. It's sad too, because I really liked Termux.
Click to expand...
Click to collapse
Just tried, and yeah, you right...
I though "acquire wakelock" would fix that, but I never used Linux though X11 more than 5 seconds...
Why do the OS ever do that?
You should just probably wait until you've had your tab s8 long enough that you're satisfied it won't need to be returned and are willing to void the warranty by rooting it. Come back to playing around with linux then. Until then, just install linux in a VM on one of your computers and VNC into it with your tablet.
skrowl said:
You should just probably wait until you've had your tab s8 long enough that you're satisfied it won't need to be returned and are willing to void the warranty by rooting it. Come back to playing around with linux then. Until then, just install linux in a VM on one of your computers and VNC into it with your tablet.
Click to expand...
Click to collapse
Wait... Even with root, termux-x11 will still not work, won't it? It's a problem from android 12 itself.
I don't want to use VNC since it's too slow.
shim80 said:
Wait... Even with root, termux-x11 will still not work, won't it? It's a problem from android 12 itself.
I don't want to use VNC since it's too slow.
Click to expand...
Click to collapse
Check https://gist.github.com/agnostic-ap...#how-to-disable-the-phantom-processes-killing , they talk about commands you can run (as root) to disable the phantom process killing, which would allow termux to run. That said, termux's proot is MUCH MUCH slower than real chroot.
On localhost, you're very unlikely to be able to tell a difference between old school x11 and vnc. Wayland improves it somewhat, but it's probably still a very negligible difference on a local machine.
skrowl said:
Check https://gist.github.com/agnostic-ap...#how-to-disable-the-phantom-processes-killing , they talk about commands you can run (as root) to disable the phantom process killing, which would allow termux to run. That said, termux's proot is MUCH MUCH slower than real chroot.
On localhost, you're very unlikely to be able to tell a difference between old school x11 and vnc. Wayland improves it somewhat, but it's probably still a very negligible difference on a local machine.
Click to expand...
Click to collapse
You can execute this via adb btw
Can anyone explain to us, newbies in Linux , who can't understand what is the difference between x11, Wayland, vnc. If we root the tablet, will Linux work fast, or it will work somehow like we run it in an emulator?
What is the best/fastest approach. If we do the fastest method, how slower will it work compared with, if it could work Linux internal as default os. Just an estimation. Because I'm thinking if I'll root it to install Linux.
Thanks,
Checkout my gameplay with termux :
Guan Yu said:
Checkout my gameplay with termux :
Click to expand...
Click to collapse
What device are you using?
shim80 said:
What device are you using?
Click to expand...
Click to collapse
Redmi Note 11
sosimple said:
Can anyone explain to us, newbies in Linux , who can't understand what is the difference between x11, Wayland, vnc. If we root the tablet, will Linux work fast, or it will work somehow like we run it in an emulator?
What is the best/fastest approach. If we do the fastest method, how slower will it work compared with, if it could work Linux internal as default os. Just an estimation. Because I'm thinking if I'll root it to install Linux.
Thanks,
Click to expand...
Click to collapse
If you are entirely new to Linux, you probably should not be doing this yet. If you need a comparison as to why I'm stating this, here is one that is probably not as good: it is similar to trying to do a professional figure skating move that they do in the Olympics while you are still learning how to just balance without falling.
In other words, learn more about Linux and also get used to using Linux on a normal desktop / laptop computer before trying to do such stuff on your mobile device.
CtrlAltCuteness said:
If you are entirely new to Linux, you probably should not be doing this yet. If you need a comparison as to why I'm stating this, here is one that is probably not as good: it is similar to trying to do a professional figure skating move that they do in the Olympics while you are still learning how to just balance without falling.
In other words, learn more about Linux and also get used to using Linux on a normal desktop / laptop computer before trying to do such stuff on your mobile device.
Click to expand...
Click to collapse
Thanks for the reply, but it actually isn't a reply as it doesn't explaining what i ask. What are the differences of all those. I have linux in my pc, although i don't use it much as i can use windows there. If Linux in tab s8 ultra is working very good, i might use it here as i can't use windows.
skrowl said:
... I really just wanted full LibreOffice.
Click to expand...
Click to collapse
Why not just use the LibreOffice release for Android?
Renate said:
Why not just use the LibreOffice release for Android?
Click to expand...
Click to collapse
There isn't. You probably mean colabora office. It's not very good..
LibreOffice for Android and iOS | LibreOffice - Free Office Suite - Based on OpenOffice - Compatible with Microsoft
www.libreoffice.org
sosimple said:
There isn't. You probably mean colabora office. It's not very good..
Click to expand...
Click to collapse
Yeah, I was misled by the Wikipedia article. I did see that the Colabora stuff.
I don't use portable devices for anything productive.
At the most I'll use them with a BT keyboard to capture raw typing that will later get corrected/converted/used on a desktop.
shim80 said:
Hello,
I want to use Linux on my Galaxy Tab S8+ through Termux and proot distro (Arch, actually).
(...)
Click to expand...
Click to collapse
If you are still interested in Linux (for example, Ubuntu) on a smartphone, then take a look at the thread full of inspiration.
[GUIDE][NO-ROOT] How to install Ubuntu and other Linux Distros on Your Phone or Android TV Box, using Termux
NOTICE: THIS METHOD IS ONLY FOR NON ROOTED DEVICES PROOT-DISTRO GITHUB PAGE Hello Friends! Today I wanted to start a thread that will house prebuilt Linux environments, as well as instructions for building the Linux environments yourself...
forum.xda-developers.com