WinCE ARM apps and Surface RT (jailbroken) - Windows RT Development and Hacking

I have an app (ECUTalk) that can run on both Windows x86 and ARM (WinCE). I would think that this would be easy to port over to the Windows RT device. Anyone think this would be possible?

Globalrebel said:
I have an app (ECUTalk) that can run on both Windows x86 and ARM (WinCE). I would think that this would be easy to port over to the Windows RT device. Anyone think this would be possible?
Click to expand...
Click to collapse
Title is misleading.
There is a thread for port request.
It uses .net 1.x which is not exist on Windows RT, thus it can not run as-is (assuming it's a pure .net program).
No source code, no port.

WinCE and Windows are two totally different beasts. You won't ever be able to just run a WinCE app on Windows. It'll require a fair deal of reworking.

It might be possible to run ARM WinCE apps if someone ports the Shared Source Device Emulator 1.0 Microsoft has made. Though, I doubt it would be easy as that thing probably makes heavy use of x86 ASM.
You could likely use QEMU to run an x86 build of WinCE in emulation.
Another possible option would be to use the MESS emulator package. There is at least one driver that can boot Windows CE on an emulated ARM board.

Related

VirtualBox Android Emulator with Marketplace

Does anyone know of any VirtualBox Android Emulator that has Marketplace?
Thanks!
Oh, I forgot to add "that's free" and not the $50 that some cheeky bastards are trying to charge for a thing called AndroidVM!
iridium21 said:
Does anyone know of any VirtualBox Android Emulator that has Marketplace?
Thanks!
Oh, I forgot to add "that's free" and not the $50 that some cheeky bastards are trying to charge for a thing called AndroidVM!
Click to expand...
Click to collapse
Android doesn't just load up and run on a PC. It's a source code project that a real developer has to spend time porting from platform to platform, unless you want to run it from a runtime built from the SDK. To do that requires an underlying OS, like Windows, Linux a MAC - something capable of running the SDK.
Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already.
attn1 said:
Android doesn't just load up and run on a PC. It's a source code project that a real developer has to spend time porting from platform to platform, unless you want to run it from a runtime built from the SDK. To do that requires an underlying OS, like Windows, Linux a MAC - something capable of running the SDK.
Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already.
Click to expand...
Click to collapse
I'm already running Android under Virtualbox - I just wondered if there's a version for VB that has Marketplace.
attn1 said:
Android doesn't just load up and run on a PC. It's a source code project that a real developer has to spend time porting from platform to platform, unless you want to run it from a runtime built from the SDK. To do that requires an underlying OS, like Windows, Linux a MAC - something capable of running the SDK.
Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already.
Click to expand...
Click to collapse
Wow. So much complete and utter wrong in one post... I've been running Android under a virtual machine for quite a while...
There is an x86 version of Android available at androidx86.org
It will definitely run under Virtual Box or any other virtualization software package. It's Android 1.6 by the way, and you will have to perform some geek-like activities to simulate an SD-card to install appz.
Big question is whether an ARM-device version of Android would work in a normal VM emulator (not talking about Bochs and stuff).
FloatingFatMan said:
Wow. So much complete and utter wrong in one post... I've been running Android under a virtual machine for quite a while...
Click to expand...
Click to collapse
Well, since I hadn't heard of a port to x86, I was certainly wrong about that, which makes the rest of the post moot, but not wrong. In any event, I stand corrected.
sorry to add a flame of any kind but this
"Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already."
is totally wrong.
Virtual machines virtualise the hardware of your machine (bad explanation I KNOW). if you have a PowerPC you can only emulate PowerPC (Mac for those that dont know) and intel/amd chips are things like x86 then theres smaller devices like ARM. my point is that if you have a Intel/amd box you can only emulate x86 O/S. however if you have a netbook with a version of linux or windows built on arm arch then u could prob get away with the original android if you are running normal x86 then u require android that has been built from source on x86.
this made me laugh
"Since Android is built on a Linux kernel, it's not impossible"
all i can say is what??
anyway back to the point... to run android on a x86 box u need x86 android
The problem with getting the Market to work is simply that the GApps are currently only available in a compiled for ARM version. period. that's the answer you wanted to hear i guess.
@others: stop OTing please...
hvc123 said:
sorry to add a flame of any kind but this
"Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already."
is totally wrong.
Virtual machines virtualise the hardware of your machine (bad explanation I KNOW). if you have a PowerPC you can only emulate PowerPC (Mac for those that dont know) and intel/amd chips are things like x86 then theres smaller devices like ARM. my point is that if you have a Intel/amd box you can only emulate x86 O/S. however if you have a netbook with a version of linux or windows built on arm arch then u could prob get away with the original android if you are running normal x86 then u require android that has been built from source on x86.
this made me laugh
"Since Android is built on a Linux kernel, it's not impossible"
all i can say is what??
anyway back to the point... to run android on a x86 box u need x86 android
Click to expand...
Click to collapse
VMware and Virtualbox emulate PC hardware. Since Android runs on a Linux kernel, and Linux was originally developed for an x86 PC, it follows that a port of Android could be done for a PC. Since this was not a generic discussion about virtual machines but a specific discussion about PC emulation, I don't see where the argument is.
PC = x86 and it's successors. You said I was totally wrong and then pretty much made my case. The only point I missed is that the work had already been done. To run Android in a x86 (PC) VM, you'll need an X86 (PC) compatible version of Android - right - what I said.
Right... Ok, now does anyone know the answer to the original question?
the_fish said:
The problem with getting the Market to work is simply that the GApps are currently only available in a compiled for ARM version. period. that's the answer you wanted to hear i guess.
@others: stop OTing please...
Click to expand...
Click to collapse
OP should read your thread.
arctu said:
OP should read your thread.
Click to expand...
Click to collapse
I have
Supposedly, these guys have Android with Marketplace for VirtualBox:
http://www.androidvm.com/home
So it must be able to be done - the only problem is that it's $49.95!
deleted
zgornz said:
They state they are running Ubuntu in a VM, then installed the Android emulator in Ubuntu, then the android emulator is setup to have the Marketplace. The android emulator is doing the ARM emulation.
I think using qemu User Mode emulation it might be possible to actually launch the Marketplace and apps via android-x86 without using a phone emulator. Not sure it would be that valuable, but it would allow lots more apps on a netbook running Android.
Click to expand...
Click to collapse
I imagine it would be a mess to get a touch screen working in android running on an emulator.
I read reviews on androidx86 booted (not emulated) on a few netbooks that ran great and very responsive..I also read one on a touch screen comp that worked fine..they claim all apps work-minus gapps obviously.
I plan on trying this on my Toshiba nb205 netbook today and can post a review if anyone is interested..
Sent from my Nexus One using the XDA mobile application powered by Tapatalk
A review would sure be appreciated. More knowledge is always better.
Just a quick follow up, I tried out the Androidx86 on my netbook this weekend, both booted off the usb and installed on the hd..it runs..nothing spectacular and slightly dissappointing. You still only have a 4x4 screen and the Marketplace is entirely different, very small selection of "blah" apps..none of my favorite android apps anyways-facebook,twitter,gmail..not really any widgets either. Lastly, you need to use an external mouse..the touchpad just moves the background but gives you no pointer (could be a hardware compatability issue tho)..
On the positive side, the internet was very fast and resume time was almost instantanious..not really any major bugs, just nothing too special..
This method works with 1.6 as originally described here:
link-> forum.xda-developers.com/showthread.php?t=529170
I got it to run with the signed-dream_devphone_userdebug-img-14721.zip image from HTC for the developer phone.
link-> developer.htc.com/adp.html
I replaced the android-sdk-windows\add-ons\google_apis-4_r02\images\system.img with the one from the signed-dream_devphone_userdebug-img-14721.zip
(you should backup the original system.ini)
I then used the Android SDK GUI interface to create a Google API Level 4 machine.
I did not need to install the marketenabler.apk, as described in the original thread.
It boots up like a new Dev Phone, it behaves like there is a valid SIM and working data connection.
CTRL-F11 rotates the screen (slide out keyboard).
I have only installed a few free apps (K9 mail) but they seem to work fine.
I can't post links so copy, and paste them.
It would be trivial to create an Ubuntu virtual machine and then install the Android SDK inside of it and modify the system.img. Installing the SDK on your own machine probably takes less space and resources then running it inside another VM.
attn1 said:
Well, since I hadn't heard of a port to x86, I was certainly wrong about that, which makes the rest of the post moot, but not wrong. In any event, I stand corrected.
Click to expand...
Click to collapse
Updated, not corrected.
Yes, you were absolutely correct except for being out of date, because that process you described has already taken place as others have now pointed out.
To the person who said he was wrong, actually, no.
Android as it stands on the phone, is an ARM system compiled in ARM machine code. Android apps are hardware/platform agnostic but the operating system is not, it does have to be ported and recompiled for any different hardware system. That being said, it seems that most of that work is finished, ala androidx86.org
Cheers,
Rob
x86 Android Market
I have been reading a bit. It seems that it is possible to have Gapps installed for x86.
Froyo, people have been using Cyanogen 6 Gapps for Tegra.
Android x86 launched their Gingerbread version not long ago. It would not surprise me if Cyanogen 7 Gapps worked with it. Different devices used different versions and now there is just one version for all. It should be possible to run VM from the desktop.
NDK dependent Apps: in theory, it may be possible taking the apk using android apk tool, x86 NDK from the x86 build and rebuild it for x86 code.
I will be playing with an old EEE900 and see how this goes sooon.

Emulating the Windows CE kernel and WinMo in QEMU or BOCHS

I have seen several QEMU setups, specifically on the Nexus One, Evo 3D, Xperia Neo, and other devices, all running various versions of Windows XP, 98, or 95. I'm looking at the source now. Is there any reason someone hasn't tried to run the Windows CE (PocketPC or WinMo) kernel within QEMU or can it only emulate x86 operating systems?
http://wiki.osdev.org/QEMU#Supported_Architectures
http://wiki.embeddednirvana.org/ARM_Emulation_Using_QEMU
So according to these articles, ARM emulation is possible.
ARM
QEMU booted into the ARM port of Fedora 8
QEMU emulates the ARMv5TEJ instruction set and all the derivative processors families like ARM7, ARM9E, ARM10E and XScale. It emulates full systems like Integrator/CP board, Versatile baseboard, RealView Emulation baseboard, XScale-based PDAs, Palm Tungsten|E PDA, Nokia N800 and Nokia N810 internet tablets etc. QEMU also powers the Android emulator which is part of the Android SDK (most current Android implementations are ARM based). Under development is iEmu, emulator of Apple's iPhone. Starting from version 2.0.0 of their BADA SDK, Samsung has also chosen QEMU to help development on emulated 'Wave' devices.
metroidnemesis13 said:
I have seen several QEMU setups, specifically on the Nexus One, Evo 3D, Xperia Neo, and other devices, all running various versions of Windows XP, 98, or 95. I'm looking at the source now. Is there any reason someone hasn't tried to run the Windows CE (PocketPC or WinMo) kernel within QEMU or can it only emulate x86 operating systems?
Click to expand...
Click to collapse
I've had limited success booting a custom x86 Windows CE 4.0 NK image with the newer WinCE QEMU port for the HD2 but I wouldn't call it usable. CE booted and I could see the mouse cursor but the desktop never appeared. There are real CE drivers for most of QEMU's hardware on x86, so it might just take a bit of fiddling if the ARM qemu builds aren't just broken.
Bochs was able to boot the image fine but it was pretty slow and only worked in the 320x200 VESA mode. One of the newer mobile Bochs builds for Android worked a little better and displays in a higher resolution but it's still slow and lacks networking. I haven't had as much success with QEMU. It seems like there are major differences between the generic c/c++ CPU core for all architectures and the x86 one and I"m pretty sure QEMU runs some x86 code natively even in user mode. It's either that or the mobile versions are quick hacks with some dirty workarounds that break the more obscure OSes. The difference in compatibility between different processor architectures in the same build is evidence enough of that. Though, I haven't tried them in an ARM debian build yet.
And as cross platform as it is, QEMU seems highly optimized for x86 these days. So many OSes that have problems on ARM qemu work just fine on a desktop. It seems to me like QEMU-x86 wasn't ever really extensively tested on ARM and the other less used archs. There is also a newer QEMU port based on 1.x in the Android Market called Limbo which I have yet to try but the current versions use VNC so video output is pretty slow.
If you want to give it a go, the following Windows CE based PDA platforms had x86 images available: Handheld PC 2000, Pocket PC 2002, Smartphone 2002, Pocket PC 2003/SE, Smartphone 2003/SE and of course the generic builds from 2.0-7.0. Most of these will boot on a sufficiently compatible PC with the right nudging and it should be possible to cook custom ROMs with appropriate HDD drivers if you prefer Windows Mobile and know how to modify WM2003 ROMs.
You might want to keep an eye on QEMU-KVM for ARM Linux too. If it ever works well enough on android, that may be able to virtualize an ARM CE image at near native speeds. QEMU does emulate a few CE compatible dev boards but I'm not sure if anyone ever successfully booted CE on them as they're mainly for testing Linux and don't emulate everything.
Edit: Here's a few YouTube videos I found demonstrating an early build of KVM-QEMU booting Android and Ubuntu on a Cortex A15 running Ubuntu:
http://www.youtube.com/watch?v=LWzoanrsaCI
http://www.youtube.com/watch?v=uD5Nu-VrHKI
Color me impressed! If CE can be ported to one of the boards QEMU emulates, (almost) native CE on countless Android devices seems very possible. Porting it on an emulator/VM is likely easier than running it on the metal.
Also, here's a thread about the Raspberry Pi's debian and QEMU. Based on the comments, they seem to have the same odd issues the WinCE and Android ports have.
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=62&t=10635

Windows Blue apps on Windows RT?

I saw that you can install two Windows Blue apps, Calculate and Alarms, on Windows 8 Pro. I installed this on both my WIndows 8 machines, and attempted to install them on my Surface RT, which didn't work.
I followed these instructions: http://forums.mydigitallife.info/threads/43951-Port-WinBlue-Apps-Alarm-amp-Cal-to-Win8Pro
I used the Windows RT Jailbreak tool to run the chinese tool to sideload the applications, but it always gives me an error. Is there a reason for this, and is there a way around it?
This is normal,since these the WinBlue application only running on x86 platform.
WinBlue for ARM architecture now is didn't disclosure.
hks25258 said:
This is normal,since these the WinBlue application only running on x86 platform.
WinBlue for ARM architecture now is didn't disclosure.
Click to expand...
Click to collapse
Okay, so it the leaked apps where only compiled for x86? I guess that makes sense, just didn't think it would matter since it's a Metro app.
even metro apps can have native code compiled only for 1 architecture or another. Its just rare, in theory making a metro app run on ARM instead of x86 should just be changing a few settings in visual studio so its hardly any effort to support ARM.
SixSixSevenSeven said:
even metro apps can have native code compiled only for 1 architecture or another. Its just rare, in theory making a metro app run on ARM instead of x86 should just be changing a few settings in visual studio so its hardly any effort to support ARM.
Click to expand...
Click to collapse
it isn't that rare, just most devs will compile for both architectures. there are a few that are specifically flipping the flag though and doing x86 only.
My guess on Windows Blue is that the SDK has only been prepared for x86 internally at this point in time, and not something that should be read into any further about the future of windows rt or if blue will run on it like some people have already started to do. It would make sense that x86 is the only test bed at this point.
Its not as if it is properly released software yet.

Windows on x86 based android phones?

I was curious about this, if the android smartphones/tabs powered x86 intel processors can be used such that we can install desktop windows or other x86 OSes?
Unlikely as we would need to build drivers for the phone which is rather difficult when the manufacturers like to have things on lockdown most of the time, also it would probably brake some strange contract with Microsoft as most things do. Look at the Surface and Surface RT
Also the UI (Even Metro) would struggle to work on the display adapter
So in short no we can't run Windows on x86 Android phones, yet anyway
Install Android in Windows without Virtual box
I tried this product DuOS which will install Android version Jellybean in Windows 7/8/8.1 platforms. This one is very simple for use comparing with Bluestacks and has good performance for applications. Refer the link for further details and installation check the website for amiduos:good:

Is there anyone knows how to do jailbreak and use desktop apps on windows RT 8.1?

Is there anyone knows how to do jailbreak and use desktop apps on windows RT 8.1?
No. Windows desktop applications are compiled for x86 architecture. Windows RT runs on ARM.
@jeddx21: There is not a jailbreak publicly available for Windows RT 8.1 yet.
Will there be? I've seen indication that progress has been made on that front, but it's been sparse lately. It's something that's been wanted for a while (do a search - you'll find all sorts of threads and comments about an RT 8.1 jailbreak), but it's not yet available.
@Banderburg: Desktop applications are simply Windows applications compiled for the desktop environment, not the Metro / Modern / whatever-Microsoft-is-calling-it-these-days environment. They can and do exist for Windows RT - a primary example of this is Microsoft Office; others include all of the applications that are available to run under a jailbroken RT 8.0 system, such as those in this thread.
So what should i do? should i downgrade it from 8.1 to 8 so i can use jailbreak?
Hey
That depends on your device. If it's a device that shipped with RT 8.0 when released (the original Surface RT and the Asus VivoTab RT, for example), the instructions are available elsewhere in the forum (use the search function).
If it was one that came only with RT 8.1, then there really isn't much that can be done to downgrade your device - missing drivers, signatures that are unrecognized by the device firmware, etc.
irony_delerium said:
@Banderburg: Desktop applications are simply Windows applications compiled for the desktop environment, not the Metro / Modern / whatever-Microsoft-is-calling-it-these-days environment. They can and do exist for Windows RT - a primary example of this is Microsoft Office; others include all of the applications that are available to run under a jailbroken RT 8.0 system, such as those in this thread.
Click to expand...
Click to collapse
[MENTION]@irony_delerium[/MENTION] I'm sorry - what? Desktop applications aren't compiled for an "environment". They're compiled for a specific CPU architecture and in this case, applications that run on desktop computers are compiled for x86 CPUs. Applications that run on RT are compiled for ARM CPUs.
You can't jail break a device running on ARM and expect it to run x86 applications. You would need to recompile the application and target it at the ARM CPU.
So again, to the OP's question, NO there will never be a jailbreak that allows you to run a desktop application on an ARM cpu. Period.
IF you re-compile an application to run on ARM, and IF you've modified your Surface RT to run applications that aren't digitally signed by Microsoft, then yes in that case you can run the "desktop" application.
banderberg said:
[MENTION]@irony_delerium[/MENTION] I'm sorry - what? Desktop applications aren't compiled for an "environment". They're compiled for a specific CPU architecture and in this case, applications that run on desktop computers are compiled for x86 CPUs. Applications that run on RT are compiled for ARM CPUs.
Click to expand...
Click to collapse
This doesn't change the fact that *desktop* applications exist for Windows running on ARM. Unless you mean to tell me that Audacity, SumatraPDF, or Notepad++ (for example) are not desktop applications, of course.
On Windows 8, applications are compiled both for an environment - Metro/Modern or Desktop - and a CPU architecture. Metro applications run in containers and have explicit blessing from Microsoft to run on both x86 based systems and ARM based systems. Desktop applications are locked down on ARM based systems, by default, to only those with a Microsoft signature. Applications built for either Desktop or Metro will not run in the other environment. Applications compiled for x86 will not run on ARM; applications compiled for ARM will not run on x86.
bandenberg said:
You can't jail break a device running on ARM and expect it to run x86 applications. You would need to recompile the application and target it at the ARM CPU.
So again, to the OP's question, NO there will never be a jailbreak that allows you to run a desktop application on an ARM cpu. Period.
Click to expand...
Click to collapse
This is true. I never said anything about x86 applications. I said desktop - of which, Windows on ARM has a desktop and applications for that desktop.
There are applications built to run on that desktop - even provided by Microsoft, unless you consider the applications forming the Office suite to not be desktop applications. Therefore, desktop applications are available for Windows RT.
No, of course desktop applications targetting x86 or x64 will not run in that environment.
Well put, @irony_delirium. I would expand on that a little, though.
First, not even all desktop computers are x86/x64. Windows used to run on a number of other architectures, like Alpha and PowerPC, and there were desktops (workstations, really, but recognizably desktop computers) with those architectures. Apple used to build all its desktops (and laptops) with PowerPC chips, and before that they used CPUs from the Motorola 68000 family. None of these can execute x86 instructions, but they were all desktops. Of course, the code that ran on them had to be compiled for the relevant architectures, but usually it's not that hard to port software from one 32-bit instruction set to another, unless you wrote the code in Assembly or did similarly platform-specific stuff.
Second, architecture-independent software can run on any platform that supports the intermediate language. For example, Windows RT can run .NET 4.x software, including on the desktop, just fine (though if the binary isn't signed by Microsoft, either the OS will need to be jailbroken or the method of loading the application will need some other convoluted hack). Let me make this clear, though: these are the exact same binaries, produced by Visual Studio (or the command-line C# compiler, csc.exe, that ships with all recent versions of Windows including RT), that you can run on x86 desktops. There's even a .NET program which implements the Java runtime, so you can run Java-based apps on (jailbroken) RT.
Third, it's actually possible to run code written for one instruction set architecture on a CPU with a different architecture, if you have a translation/emulation layer and are willing to take the performance hit of going through it. There's a half-finished homebrew of such a layer for Win32/x86 code on Win32/ARM (RT), but nobody has been working on it for months. It'll run some software, though - Heroes of Might and Magic 3, a closed-source commercial x86 strategy game from the 90s was one of the first apps it was shown able to run, and some other programs work as well - and while it's not fast in an absolute sense it's good enough to run old games or reasonably lightweight current programs. Hopefully, work on it will resume once there's a new jailbreak out.

Categories

Resources