Can a ROM be run on skin in PC environment? - Windows Mobile Development and Hacking General

After making a cooked ROM and before flashing into device, is it possible to run on PC enviroment in some sort of simulation or skin to try it out?

I doubt it.
The stand alone emulator from MS actually runs ARM code and uses a bin image file to load the OS.
Trouble is ROMs for different devices have somewhat different structure and are usually encrypted to some degree.
If a tool does exist to RUN certain ROM on a PC it would have to be leaked from the OEM.

Related

Linux as a Development Platform

I don't know if this is the appropriate discussion, but I thought I'd ask anyway. If it needs to be in another location, please feel free to move it.
I've noticed that many of the tools available on this site start off being available for Unix/Linux and then are ported to Windows (at least, this has been my impression). I was wondering if anyone here actively develops PocketPC applications under Linux and if so, how do you do it?
I'm currently investigating moving away from Windows as it has nearly destroyed my source code on several occasions due to NTFS partition corruptions (thank goodness for backups). If anyone knows if this is possible and how to do it, I'd appreciate it.
Thanks!
You may take source code of my GCC port and reconfigure and compile it to linux. http://mamaich.kasone.com/ppc/src_all.rar 36498405 bytes
It contains GCC with C/C++, G77, ObjC and can be built as a Win32 cygwin compiler, linux or WinCE-based compiler. It contains good C runtime library.
I don't think that there exist other native linux compilers that can produce WinCE applications except this my port, Voxware port and one unreleased port of GCC. There exist several compilers that produce ARM linux binaries, but they are useless for you.
My port is based on Voxware code and provides more functionality and faster FP-emulation. And I'm thinking on porting a GNU Pascal compiler.
There is one problem with linux. The only debugger available is GDB, and it is extremely slow and inconvenient.
Thanks! I'll take a look at it and see if I can get it to work. I assume that you have had no experience getting the emulators to run under Wine? I haven't made the attempt myself, yet.
I don't use linux, but it should be possible to run eVC compiler under WINE. But probably debugging is not possible and emulator may not work.
You may use VMWare
VMWare under linux works fine. I'm using it. This is commercial software, but you can try 30 day limited version. www.vmware.org

Emulator/Test tool?

Hello.
Is it any emulator/test tool available there you can test ROMS and other application on your computer before uploading them into the phone?
I don’t want to risk my phone to be unusable because of bad ROMS or applications..
Windows mobile SDK is a virtual PPC where you can install all your apps in order to test theim but I didn't succeeded in upgrading the ROM. If anybody has a solution...
The SDK emulator won't allow you to "flash" a rom, because that is device specific. You can test your apps in the emulator and see if they feet your need before installing them on your phone.

How To Download CE 6 OS design

Hi
I want to transfer my own windows ce 6.0 os design to a htc prophet ?
Is it possible?
I found a nk.bin file in os release dir. is it the same as nk.nbf or it needs something to be added to it like ipl/spl?
No.
Let me just verify that I understand you correctly:
You have Platform Builder for Windows CE (not Mobile) 6 and you compiled and OS.
Now you want to put it on your Prophet?
Here is why this can not work:
a) You do not have the hardware drivers. Even if by some miracle you got the Prophet BSP (board support package) from HTC, because CE 6 architecture is so different from CE 5 on which the BSP is based you would have to rewrite them.
b) The nk.bin Platform Builder produces is in plain binary format. The nk.nbf which the Prophet bootloader can recognize is in HTC's special encrypted format so the bootloader will not read the bin.
Yes. You get it right. I know if I want to use phone features completely I need BSP. But what if I want just use some standard features? just LCD and phone features.
Also I saw nbftool that decrypt and encrypt nbf files. Can I use it to encrypt files for prophet?
You need BSP for everything, not just "full features". Every little bit of hardware that connects to the CPU requires a driver unique for your device, that includes the screen, the digitizer (touch screen), hardware keys, USB port, SD card, etc.
This is why the Linux project for these devices hasn't moved beyond booting the kernel.
There are tons of work to be done (not to say it is impossible).
I am not sure about the nbftool but even if you manage to create an image that boots best case scenario is you will see something on the screen.
But you will have no way of controlling the device - no touch screen or keys, and no way to connect to it from windows since you do not have USB drivers.
Then what are the BSPs which exist in Wince by default. There is a ARMv4. How can I use it? Can you help me?
There is ARMv4 and there is Samsung, TI, Xscale, etc. Unlike x86 - all are different. Different memory map, different GPIO, different periferials.
Better waste your time on something else. Anyway CE 6 does not have phone features at all. Compile it for your PC and see that yourself.
mamaich said:
There is ARMv4 and there is Samsung, TI, Xscale, etc. Unlike x86 - all are different. Different memory map, different GPIO, different periferials.
Better waste your time on something else. Anyway CE 6 does not have phone features at all. Compile it for your PC and see that yourself.
Click to expand...
Click to collapse
I think ARMv4 BSP in Platform Builder already have enough driver for this type of CPUs. And HTC phones are ARMv4. So normaly I should be able to build and transfer my OS to there. CE 6 have buitin drivers for modem,LCD and so on. But there is no phone. Because phone is an app that runs on CE. So if I just want to use devices like modem It is enough. The problem is nbf files ae encrypted and os.bin file should encrypt to os.nb and then transfer to device.
shariat said:
I think ARMv4 BSP in Platform Builder already have enough driver for this type of CPUs. And HTC phones are ARMv4. So normaly I should be able to build and transfer my OS to there. CE 6 have buitin drivers for modem,LCD and so on. But there is no phone. Because phone is an app that runs on CE. So if I just want to use devices like modem It is enough. The problem is nbf files ae encrypted and os.bin file should encrypt to os.nb and then transfer to device.
Click to expand...
Click to collapse
you dont really understand the problem.
ARMv4 is not a cpu, it is the ARM version 4 instruction set ....
afaik your phone has some kind of OMAP.
i don't know if CE6 has a BSP for that, but even if it does, it will still not work without modifications.
a recent example. a friend of mine wanted to download a generix xscale 25x eboot (bootloader) to a device that had xscale 255. he almost killed the whole device because the RAM memory map of this generic eboot managed to overlap with the device's original bootloader memory space in ROM. (the virtual memory mapping differed in such an unlucky way.) and so the device's own bootloader thought it had to flash it in instead of loading it into RAM and it overwrote part of itself. luckily only the splashscreen got damaged...
(and of course the device would not boot this eboot.)
that's what happens when someone who has not ever dealt with hardware and memory mappings (i.e. you) tries to play with platform builder and flashing.
also, what is this about CE6 having built in drivers for the modem (you mean GPRS?) and LCD. it doesn't have the correct ones for your device.
and, the phone is more than just an app, it also needs drivers. the modem needs it too.
all in all...i strongly discourage you trying to flash that nk.bin.
it is not even in a format that your bootloader will understand, it is MS BIN format. the nk.nb0 in same release dir (or if there is none then cvrtbin will convert it) will be the raw format that needs to be encoded for nbf, but that is far from enough because it will never boot anyway. so forget this info.
cmonex said:
you dont really understand the problem.
ARMv4 is not a cpu, it is the ARM version 4 instruction set ....
afaik your phone has some kind of OMAP.
i don't know if CE6 has a BSP for that, but even if it does, it will still not work without modifications.
Click to expand...
Click to collapse
But at least the way of using loader is possible. Like how Linux is loaded
shariat said:
But at least the way of using loader is possible. Like how Linux is loaded
Click to expand...
Click to collapse
loader, for what purpose?
cmonex said:
loader, for what purpose?
Click to expand...
Click to collapse
For running WinCE , like Linux. Am i right? Linux devs uses Loader to load Linux on Mobile devices. I think I am confused. Help me on this. My purpose is to use my own OS design.
shariat said:
For running WinCE , like Linux. Am i right? Linux devs uses Loader to load Linux on Mobile devices. I think I am confused. Help me on this. My purpose is to use my own OS design.
Click to expand...
Click to collapse
well, for linux, the drivers have to be written too. (most of the time there are existing ones with source available that can be modified, though.)
so it is more complicated than that.
shariat: writing your own OS for this hardware is not impossible, but is not easy.
I suggest you go away for a while and get hold of platform builder and an arm reference guide and read everything you can about the device, the memory structure, your dedicated hardware structure, and then start writing.
Knowing how the hardware and CPU operate is fundamental to the OS you will write. Platform Builder will give you some source code access and help give you some ideas.
This is a nearly impossible task for a hobbyist coder. I'm sure people will help you, but you need to discuss what you have in mind.
Have a look here for some other easier ideas:
http://simpleos.iroot.ca/index.php
V

[Q] Auto-Configuring ROM

Hi,
I was just wandering if an auto-configuring ROM exist. What I mean is so if there was a ROM (let's just call it Cool), and it could be used on any device, and comes in different formats (zip, exe, cab, nbh, nbf), and once it is executed/launched it flashes on your phone (Hermes in my case) and then it reboots and boots up Cool. But because it doesn't have any drivers for the phone, it does a "search" and finds all the hardware on the device, and estimates what that hardware is for. Once the "search" is finished, the phone starts to generate drivers for use with the device's hardware that it found during the search, and then you are able to use Cool on your device. I have seen that on Windows(XP), when I reinstall it I have to install the drivers again, but when I boot Ubuntu from a Live CD, it already has the important drivers (LAN, WLAN, Sound, etc..),so is this possible with a phone?
I'm not a developer per-se, though have cooked ROMs in the past.
What you're talking about I'd call a "live" ROM Kitchen
My initial thought is that your idea is a good one, though in the past had been an impractical/impossible approach due to ROM file size... since every driver for every device would have to be present.
This idea, if possible, would probably have to be implemented/run from a PC.
Why don't you develop it? If you could do it you'd raise a lot of eyebrows, LOL.
Oh, and PS - nope it doesn't exist in the case that you didn't get that

Install Windows 10

So i know the Intel atom in this thing supports Windows 10. I just can't figure out how to get the Windows 10 install disk to boot. Custom boot loader?
AceHack00 said:
So i know the Intel atom in this thing supports Windows 10. I just can't figure out how to get the Windows 10 install disk to boot. Custom boot loader?
Click to expand...
Click to collapse
Custom rom that microsoft has provided.... Win 10 is free for all device's.... Tho you may need a custom recovery in some cases.... Theres also a program that microsoft has that will convert it as long as you have root and able to connect it through usb...
ErocKxMoBz said:
Custom rom that microsoft has provided.... Win 10 is free for all device's.... Tho you may need a custom recovery in some cases.... Theres also a program that microsoft has that will convert it as long as you have root and able to connect it through usb...
Click to expand...
Click to collapse
This is... Just wrong. Microsoft provides no special tool to convert android devices into windows 10. They have released Windows 10 Mobile ROMs for 2 devices and they aren't distributed in a way that they can be ported.
Nt true i have a few tablets with intel inside that ran on android i just ran the roms with a bootloader and yea as for the program its not by microsoft exacly but a company they own.. And another thing look at china they have tens of thousands of differnt devices that run both virtualy. Using a custom bootloader
ErocKxMoBz said:
Nt true i have a few tablets with intel inside that ran on android i just ran the roms with a bootloader and yea as for the program its not by microsoft exacly but a company they own.. And another thing look at china they have tens of thousands of differnt devices that run both virtualy. Using a custom bootloader
Click to expand...
Click to collapse
Got any links or how to?
AceHack00 said:
Got any links or how to?
Click to expand...
Click to collapse
No. And there won't be.
ErocKxMoBz said:
Nt true i have a few tablets with intel inside that ran on android i just ran the roms with a bootloader and yea as for the program its not by microsoft exacly but a company they own.. And another thing look at china they have tens of thousands of differnt devices that run both virtualy. Using a custom bootloader
Click to expand...
Click to collapse
Ok, those Intel tablets you refer to probably use a legacy bios booting system, which would support both Android in the x86 variant, and Windows x86. And MAYBE they support a custom bootloader, but I doubt it (you could provide some links as proof). If you refer to the Windows 10 Mobile ROM released for the Chinese phone a while back. That is literally the one exception, but it isn't Windows 10. Its Windows 10 Mobile, which isn't nearly as full featured, and provides no admin level access. And before someone mentions it, NO this cannot be ported to other devices, Android is much easier to port due to the fact that we know how things function due to the Open Source nature of Android, but Windows is not, and likely never will be Open Source.
Now, onto the "custom bootloader" you refer to. Firstly, no Nexus device EVER has been able to run a custom bootloader (lest I mention the Nexus One with S-OFF). All Nexus devices EVER (yes, even after unlocking the bootloader) enforce aboot (high level bootloader) signature verification, they just don't enforce kernel/recovery partition signature checks when the bootloader is unlocked. This means that flashing an unsigned bootloader (no, you can't sign a bootloader yourself, it would have to be released by Google, which they have NEVER done).
You also mentioned running it virtually? Did you mean like Hardware virtualization like VirtualBox and VMware? Good luck finding a functional x86 Virtual Machine manager for Android that doesn't run horribly.
And without links, or any proof, I have never heard of Microsoft (or any subsidiary) releasing a tool to convert Android phones into Windows phones. Because, it just isn't that simple. You don't just install a program and boom, its Windows 10. It requires a complete re-flash of the device, and different bootloader (which I told you is impossible on this device above), it would also require drivers that are more than likely closed source, or don't exist for the Windows platform.
Don't just go saying things you /think/ are possible. Just cause a CPU architecture matches the requirement of the OS doesn't mean that that. OS will ever run. Much more is required.

Categories

Resources