[Request] PSFreedom Recovery Mod For HTC Evo - EVO 4G Q&A, Help & Troubleshooting

Klutsh/Amon_RA has released his own version for HTC Dream owners, I'm looking for a recovery that will work on the EVO that does the same job. Something built directly into the recovery image is awesome and will no longer require battery pulls, restores, etc.
Here is the feature list on the Dream Recovery release:
Features :
Default Android features :
ALL features of my recovery for the Dream are supported (including ABD and Mass storage toggle).
PSFreedom :
A new menu-item called “- Run PSFreedom” can be found in the main menu.
The menu-item will lead to a submenu allowing you to choose different payloads and even a test shellcode :
* No Blu-Ray emulation (Hermes) : This is a modded PSGroove payload, which allows you to play backups without the need of a BluRay disc inside the PS3.
* Blu-Ray emulation : This is the standard payload with Blu-Ray emulation support, which allows you to play backups.
* Homebrew only : This is the standard payload without Blu-Ray emulation support. It does not allow you to play backups.
* Blu-Ray emulation + peek/poke : This is the same as “Standard payload with BD-Emu”, with additional peek and poke system calls. It is based on the PSGroove payload. It is only needed by developers.
* Homebrew only + peek/poke : This is the same as “Standard payload without BD-Emu”, with additional peek and poke system calls. It is based on the PSGroove payload. It is only needed by developers.
* Test only shellcode : This is a test only shellcode that will force your PS3 to LV1 Panic (beeps, shuts down and blinks the red LED). It is useful to debug whether the shellcode gets executed or not, independently of the content of the payload.
Got word of the release from this post

Aren't we all??? This thread is like asking for 4g on CM6

Bumpity
iitreatedii said:
Aren't we all??? This thread is like asking for 4g on CM6
Click to expand...
Click to collapse
I agree it is as awesome but this is not at all a super difficult or unreasonable request as its already been ported to the hero and a few other devices. I personally cant wait for it either!

iitreatedii said:
Aren't we all??? This thread is like asking for 4g on CM6
Click to expand...
Click to collapse
This isn't the same at all. This was a simple request to bring attention of the release to the evo devs on xda and show some support for a port. Looking at your posts, it looks like you are more interested in selling dev boards instead supporting this thread.

Instead of flaming, I'll give you a PG response. His comment is basically saying you're stating the obvious. It's true, only because the majority of the EVO users using the PSFreedom exploit, is awaiting for their own PSFreedom recovery. This thread is needed because instead of spamming the other threads that have their own already, you've created your own. Personally, I can't wait for this either and decided I won't JB until this out for the numerous Android device I have at my disposal.
^That or I purchase a Minimus/Maximus AVR, which I'm leaning on.

I've been hoping for this since the method was first released. Since it's already possible on several other devices, it's only a matter of short time that someone comes up with a solution for the EVO. As with Android, the PS3 dev scene is HOT right now.

+1! Can't wait for the Evo version of this recovery. As hot as Evo development is right now, I'm actually shocked it isn't already available.

Very much looking forward to having Hermes payload since my spare fat PS3 has a dead blu ray drive. Not having to reflash the kernel every time will be a nice change as well

Htc evo can not recover to do a backup
Some one please help me. I rooted my evo with the last unrevoked3 and now i can not do a recovery to back up. When i try it goes to boot and the white screen stays on. Please help!!!!!!!!

Related

[CAB] GSM&CDMA Project Android Port and Startup Utility [01/23] FRX04 Reference!

​
​PLEASE, FOR THE SAKE OF MY SANITY. READ THE FAQ FIRST FOR QUESTIONS!
F.A.Q.
​
This in NOT an emulator, nor is it a full ROM! Haret.exe closes down Windows, and boots Linux off of your Storage Card to launch Android. To boot back to WinMo all you need to do is reset your handset!
This thread is more specifically for the Rhodium, as this is the handset that I own, and can troubleshoot and test. So if you have specific questions about a different handset, please find your corresponding thread in post #2, however, this build will support the following devices: Diamond, Raphael, Kovsky, Topaz, Rhodium, & Blackstone by using the corresponding startup.txt found in any of the .rar files.
This package does work for both GSM and CDMA, however, the CDMA troubleshooting thread is at the following link: http://forum.ppcgeeks.com/showthread.php?t=115443​
NOT WORKING IN THIS BUILD:​
BT
Camera
Headphones
Speakerphone (no mic)
Battery Meter (about 75% fixed now)
--------------------------------------------------------------------------------------------------------------------------------
Change Log:​
NEW January 23 NEW FRX04 Android 2.2.1 build added to downloads page!
11/22 FRX03 build added to downloads page! Go HERE for the full change log!!
11/01 FRX02 build added to downloads page! Check out the updates for a more detailed change log!
10/04 Kernel updates! In call mic fix and battery updates!! The new meter should be MUCH closer to actual battery now!! Either use update on the Start Application or head over to the project tracking web page!
9/28 Sovereignty's Startup Utility V1.1 goes live! Fixed BLAZN Gmail app, re-added 3d Gallery. Fixed Reference not having Google Talk.
9/26[/B][/COLOR] NEW KERNEL FIXES NOW WITH WORKING HARDWARE 3D!!!
9/16 System build, FRX01 Final. The product of testing through RC1 and RC2. Lots of fixes, too many to list. Come here for full updates.
8/30 Package with a few updates. This one fixes the garbage noise of the speaker being "on" even when no sounds are being played. Also updated the rootfs file for a few fixes. (Add new gralloc for WVGA devices).
8/26 THE BIG ONE YOU HAVE ALL BEEN WAITING FOR...... SOUND IS WORKING!!! (New Zimage/Modules kernel fixes for sound!)
8/18 Froyo system images added! New rootfs updates = MUCH MORE SPEED!! Lots of BLAZN theme fixes added, Full change log is HERE: http://sites.google.com/site/androidport/updates
CHANGELOG HISTORY CAN BE FOUND HERE!!
--------------------------------------------------------------------
Notes:​ Read this before you start!
THIS THREAD IS NOT FOR YOU TO COME HERE AND TELL US WHICH OF YOUR FEATURES IS THE MOST WANTED. WE ALL WANT THIS OS COMPLETELY WORKING. PLEASE, BE PATIENT LIKE THE REST OF US.
If you think you need to post a question in this thread: READ THROUGH POST#2, AND USE THE SEARCH TOOL FIRST!!!! Most questions have already been answered in this thread. I don't mind answering GOOD questions, but I really hate people asking the same questions over and over, ESPECIALLY when the answer is only a few pages before your post. DONT BE LAZY, THIS FORUM IS FOR DEVELOPMENT, NOT CUSTOMER SERVICE.​​Download Section: Project Android Rebuild
​Appreciate my work?
​ScreenShots
Other Devices:
This package will work on other MSM devices however, you may have some stability and functionality issues. If you are having issues with another device, other than the RHODIUM, check the dedicated forum. Most users on this specific thread only own a Rhodium, so we cannot test/troubleshoot other handsets!!
Dedicated thread For GSM Diamond/Raphael users using xdandroid
http://forum.xda-developers.com/showthread.php?t=601751
Dedicated thread For CDMA Diamond users using xdandroid
http://forum.xda-developers.com/showthread.php?p=5222958
Dedicated thread For Raphael800 users using xdandroid
http://forum.ppcgeeks.com/showthread.php?t=104276
Dedicated thread For Blackstone users using xdandroid
http://forum.xda-developers.com/showthread.php?t=603813
Dedicated thread For Topaz users using xdandroid
http://forum.xda-developers.com/showthread.php?t=509493
-----------------------------------------------------------------
Tips, Tricks, & Fixes
Read the newly updated FAQ Here:
http://sites.google.com/site/androidport/faq
-----------------------------------------------------------------
Project Tracking
Stay up to date with all of the freshest releases here:
http://sites.google.com/site/androidport/project-tracking
-----------------------------------------------------------------
Thanks!
First off, there is an insanely huge list of guys who are responsible for making this possible. Compared to what they do I am just a monkey punching a keyboard. THANKS DEVS
Thanks to phhusson, dzo, zenulator, Chamonix, Stinebd, Makkonen, MrPippy, cr2, Markinus, WisTilt2, Babijoee and anyone else forgotten!
Thanks to scepterr for the free speedy file hosting!!! Need hosting for an XDA project? Ask him!
Donations to XDAndroid team: http://xdandroid.com/w/donate.php
XDAndroid Twitter: http://twitter.com/xdandroid
XDAndroid Facebook: http://www.facebook.com/#!/pages/XDAndroid/394317262428
Thanks to those who have already helped, and to those who will. THANK YOU!
.
reserved for me, just in case
This is much better. AT least noobs like me can clearly follow this thread. Android on my Tilt 2 tonite. Thanx pioneers!!!!!!
Just a quick note that the 'rhod210' keymap (which is default in this build) should be pretty OK for almost all Rhodiums, unless you have an AZERTY layout or an odd European one with lots of accented letters mapped to Fn key combos. You can use Fn+Y to get the 'pipe' symbol | (may seem useless to many of you, but for those of us who poke around at consoles a lot it's invaluable :>). You can use Fn+W to get the UK pound currency symbol and Fn+E to get the Euro currency symbol - these keys are labelled on some Rhodiums so I figured I'd just implement it for all Rhodiums, as it may come in handy sometime.
if you have an odd keyboard layout but just want to use this build, the keys should behave like the layout pictured here:
http://mynokiablog.files.wordpress.com/2009/04/keyboard-2.jpg
so just press the keys as if they looked like that.
One day one day.... we shall have wifi I hope. Thank you for all your hardwork.
I'm trying to do something about wifi ATM with the kernel guys, but it's not simple. The problem is the Rhodium uses a completely different chip than most other phones, for wifi / Bluetooth (it uses a Broadcom BCM4325). No-one's got anything at all out of that chip yet.
Good show.. Thanks for making XDANDROID accessible to everyone.
BTW, Wifi not working at this time creates a good "shutdown/reboot" opportunity for now. The Shutdown option in Android does not seem to be working yet and so was interested in a way to shutdown/reset the phone without a "soft reset" poke after removing the back cover.
Found this by accident:
>>
Settings->Wireless & Network Settings->Wifi (Click to Enable Wifi) and boom in a few seconds, the phone is off like a light.. Hit the power button on top and we have a full reboot..
>>
Edit: The Wifi crash is fixed in the 02/03/10 build mentioned at the top of this thread. So need to open the back cover to reboot..
Man this is really nice. I can't wait to get a Nexus One but this will do for the TP2 for now. Almost there for everything to work. Can't wait for the release with sleep mode fixed and BT working.
Bootup problems
Not sure what/why, but my touch screen doesn't seem to be working as I can't get past the boot screen (touch the android) as the screen location doesn't seem to match up. Any ideas??
[EDIT] My bad, misseed the touch screen calibration...
AdamWill said:
I'm trying to do something about wifi ATM with the kernel guys, but it's not simple. The problem is the Rhodium uses a completely different chip than most other phones, for wifi / Bluetooth (it uses a Broadcom BCM4325). No-one's got anything at all out of that chip yet.
Click to expand...
Click to collapse
Isnt that the same chip as the nexus and the iphone?
sd73ta: yup, indeed. In fact we might need a NAND dump from the n1 to fix it. The kernel guys took the driver from the n1 source, but we can't make it work yet.
edit: not quite the same, in fact - well, same as some iPhones, but the n1 has the BCM4329. The 4325 and 4329 use the same driver, though.
AdamWill said:
sd73ta: yup, indeed. In fact we might need a NAND dump from the n1 to fix it. The kernel guys took the driver from the n1 source, but we can't make it work yet.
edit: not quite the same, in fact - well, same as some iPhones, but the n1 has the BCM4329. The 4325 and 4329 use the same driver, though.
Click to expand...
Click to collapse
have you checked out the dream/nexus one subforums here for a dump or a NAND? i know there are always new dumps and NANDS in the dream forum, if there isnt one, i suggest you get ahold of cyanogen here on XDA. he is the android genius on the dream/mytouch. he might be able to lend a helping hand actually.
When i try to download rar i get message:
Oops! (404)
We can't find the page you're looking for. Check out our FAQ or forums for help. Or maybe you should try heading home.
Any ideas ?
majster-pl said:
When i try to download rar i get message:
Oops! (404)
We can't find the page you're looking for. Check out our FAQ or forums for help. Or maybe you should try heading home.
Any ideas ?
Click to expand...
Click to collapse
FIXED! My Apologies!
Thanks it works now
Nice work!
for the Thread, and for the packages which u create
Hope that this thread will become the MAIN for Porting Android in TP2
Regards!
dont know if this is usefull...nexus1 rom dump
found it on http://db.androidspin.com/android_developer_display.asp?developerid=21
here is the rom http://www.androidspin.com/downloads.php?dir=enomther/ROM/&file=TheOfficial_Nexus1_v1.5.1_update.zip
hope this is somehow usefull
Does anyone know how development on power management is coming along? The most recent builds seem fine for everyday use as far as functionality goes, but battery drain is immense.
It seems like acceptable battery life is the only thing that's keeping this project from offering basic everyday functionality (WiFi, camera and GPS would be nice in the future)
woeds said:
It seems like acceptable battery life is the only thing that's keeping this project from offering basic everyday functionality (WiFi, camera and GPS would be nice in the future)
Click to expand...
Click to collapse
Powermanagement + SOUND... I only miss these two, don't care much for Wifi personally

What can be done to get open gl working

I am aware that this has been asked many many times, but i don't see a thread for this issue. I would like to know what attemps have been made to get some sort of support. I am by no means a developer, but i will try my best to get things running. Would it be something as simple as taking a a file out of a current android phone with the same specs and modding for use with a touch pro.
I'm simply curious if there is a thread or website around that discusses this and other issues in more detail.
I'm no kernel hacker, but I am...curious.
That's what i would like to know. facts about how far the development is. Maybe we could start a thread that has such progress stated. Where only the devs would be able to post, so we can have us a look.
The best you can do is read the IRC logs from #htc-linux. I think I recall reading in the logs that klinux had gotten OpenGL working on the Pro2, even with applications like Neocore (thought they're apparently slow).
You have to be a little bit more clear on what you mean by "open gl working".
I'm the developer who was working on the open gl for the klinux build. Bottom line is that open gl is working, but not with hardware acceleration. We used then nexus one drivers (adreno200) to enable things a live wallpapers. But it's so slow its not even worth it.
Now to get hardware 3d working 100%? a lot more work and testing. lol.
Well is hardware 3d working for any of the current android ports in any capacity?
Also, I'm so used to reading hardware specs in Desktop computer form. But with these phones, the only thing I know about them is the CPU manufacturer, model number, and speed.
Is there a separate chipset that handles audio graphics etc, or is it completely SoC.
I read about recent Android ports on the iPhone, and it seems they already have things like external audio working. Is this because the hardware on the iPhone similar to another HTC Android phone, more so than the hardware in the Rhodium?
awesome thread... actually informative and supportive.
i think what the OP is saying is how can us lowerscale highend users be more involved, perhaps in the debugging, data gathering... we could start a -sub group dedicated to each corresponding issues... bill gates didnt invent windows, him and his crew did. the more the merrier eh?
I have a long running reverse engineering thing going on. I have been looking for more info other than IRC. I would like to put my good skills to work w/out starting from scratch. Any info?
EDIT: I did find this, It has some helpful starting info: http://www.androidonhtc.com/wiki/Get_Involved
This is a great thread! I've been wanting to get in on some of this action. Hopefully this will reduce some of the clutter in Reefer's thread.
I meant to get hardware acceleration working. How far has this come along since i posted this??
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
mcdull said:
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
Click to expand...
Click to collapse
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
[ACL] said:
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
Click to expand...
Click to collapse
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
garage_man said:
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
Click to expand...
Click to collapse
I actually found HTC_SET_3D_LAUNCHING_FLAG on the wince dmesg. You can do this by doing a pwf dump.txt 0x16a00000 0xFFFF0 in haret. I did it after a cold boot to see if anything is done to the gpu once wince boots.
Loading the dll is easy. just make a simple win32 app and do a loadlibrary. This part works but it's not helping on android. I'm interested to see what mcdull thinks since i think he has ventured a lot into this as well. Right now if we can make a simple app in android to load the libgles_qcom.so directly and trace every step, i think that would be helpful to see where we are failing. I'm close to giving up..lol i already took 2 sick days from work to get to where i am now so i could use some help.
Here is what i got out of the chip in wince.
name: ATI HandHeld Interface
versions: 2.07.05110.34681
Revision: 0
ChipID: 1362104322
revisionid: 0
TotalMemory: 15990784
BusInterfacemode: 2
InternalmemSize: 262144
ExternalMemSize: 0
Surface info: 800x480
surface total bytes 768000
dwFrameBufferPhysical=0x14c00780 m_dwFrameBufferVirtual=0x57e00000 dwFrameBufSize=0xbb800
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Star-Lite said:
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Click to expand...
Click to collapse
We need more devs in general. I ran a trace on a basic app that runs 3d. So there is still a lot of crap to examine.
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
BinaryDroid said:
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
Click to expand...
Click to collapse
Sounds crazy.. i love it.
I was messing around today and made a small app to load the libgles_qcom.so directly to see if i can replicate my winmo success. Most of the ahi functions are included in the android driver as well except for AhiDispSurfGet which made it impossible for me to draw anything on screen.
The chip did pump out the same info as i posted before and it matches so thats a step in the right direction. Means we can recognize the chip with no problems and all 15.25 memory is reporting as well. If i had more documentation on those functions exported im sure i can get the chip to try to display something directly.
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
NewbTrader said:
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
Click to expand...
Click to collapse
learn haret/haretconsole and take a look a the kernel. good place to start. Feel free to come into the irc board if you have any questions

[singularity]

[SINGULARITY] -
Singularity
Singularity (and the language of such Sing#) is a Microsoft operating system currently on codeplex as RDK 2.0 which is now core to this project - getting Sing# and Singularity to run on ARM (hd2) then can easily boot NT or anything and everything - essentially, NT will happen, but is irrelevant, as need to here first give MAGLDR an d HD2 ability to run Common Language Runtime AND Singularity (.ARM ver of .X86) -
GOAL= make ARM Singularity Kernel run on HD2 then run apps using this core as native apps or strap out onto whatever...
See update on last page of this thread.
ntonhd2 said:
Cotulla: repsonse to your question along with basic test build, just for compile practice run (check for errors), was succesfull; this is for ARM low level bootloader (ARMLDR ) which runs on ARM (hd2, ultimately here) and then grabs LDR (ntldr) then all other files (see my reply) then NTOSKRNL.EXE -> its attached for you to download on next page - thanks again for your input .
NT on ARM:
http://www.microsoft.com/presspass/press/2011/jan11/01-05SOCsupport.mspx
http://www.microsoft.com/Presspass/Features/2011/jan11/01-05SinofskySOC.mspx
http://www.bloomberg.com/news/2010-...ion-of-windows-for-arm-chips-at-ces-show.html
http://thecoffeedesk.com/news/index.php/2009/04/23/net-could-be-key-in-windows-on-arm-netbooks/
http://www.osnews.com/story/24165/Windows_NT_on_ARM_It_s_a_Server_Thing
Please also read my last post regarding Xbox running NT.
And understand I AM TALKING ABOUT NTOSKRNL with Native CLI and not running full WindowsXP or 7 or watever! .
hi xda, put this in hd2 general as could be relevant to linux or wp7 or hd2. Thinking of starting project here of pretty grand scale if people are interested. Now that a lot of work has already been done i think it will not be as hard as it may appear or sound at first.
I am thinking about using new wp7 bldr +- oal +- nk.exe to set up emulation of bios expected on pc then trying to jump to 2003 server equiv ntoskrnl.exe. (and then probably just a native command line interface like alex ionescu tinykrnl project back in the day, a ncli for nt with usb keyboard and not much more to start with: Further dev much later).
Nk will handle underlying lack of pci, bios, ints, and addresses, (+is firmware) but actual switching to nt kernel is for real after that: To build a strapping kernel with ce7/wp7 architecture and initial drivers that goes on to then launch full nt kernel.
Yeah - i have \nt\private\ntos\ source code and no it is not the normal nt4 or other w2k leak- it is a complete and buildable kernel; pm me and i will give proof, or the code if you can build and want to work on this. This is not x86/x64 work obviously so is not for those without ability: Need to do some heavy lifting to get recompile build happening for arm, qualcomm ' snapdragon nt :d. Otherwise is only emulation and not a good idea. This is 2be real. As non-x86/x64 support for nt (nt4 did ppc, mips, and now ia64) this kinda porting is not a foreign concept: There is sufficient info out there with reference to everything from softpc.new (inside ms code) to wow64cpu.dll and other x86/x64 specific init routines, spinlock and interrupt handling, asm code samps, bochs methods, qemu methods, et.al. Which can be used in one way or another or taken over if required: If all taken into account to paint big picture: Use of emulation technology methods for non-emulation project just opens up underlying logic. That is it. This is also why i suggest using wp7/ce7 base 4 init. Do not want emulation. Real deal here only. I refer to all these items above as observations which could be taken into account if need be: From tinykrnl, reactos, bochs, wine, efi, and other such things can make porting over kernel easier: At the end of the day, ce7/wp7 ' bldr, oal, nk.exe (or whatever derivatives thereof) will be 'firmware' in big picture. Another reason i am considering wp7 as base to strap is drivers are there to make a ce+bios or efi-type (?) pre-loader that takes all ce7 initialization further and passes on to nt (nk.exe runs including all setup as would be done by ntldr, a fake or psuedo-real ntdetect.com, system.hiv then passes data structs to our ntoskrnl.exe) and do all that needs be done. I can handle pc side completely but need bit of help with someone who gets nkglobal and other structures and use of platform builder with experience prefered in creation of new bsp. Maybe other ways - instead of ce, ie- grub, linux, openbios, openefi, but either way just want to prove it could be done is all.
Click to expand...
Click to collapse
anybody here capable?
to quote Da_G:
Yup, RustyGrom pretty much has it covered. First, it's called "CE" for Compact Edition, and this is not a misnomer in any way. The system is designed to be as compact as possible (There are build-time switches for everything, so you can toggle off nearly all the components to acheive a very "light" image) obviously, including drivers for components not present would be a waste of space, as they would never get used. So there are none included. On the PC side of things the BIOS provides a basic level of functionality using a standard interface so generic drivers are created to bring the platform up to that level, and from there vendor-specific drivers can be loaded.
If you want to put an embedded device in terms of a desktop computer and loading Windows 7 on it, you start out with a fully assembled computer (video card, motherboard, cpu, ram, etc.) - power it on. It loads up the BIOS which initializes the basic hardware and begins to load the rest from the hard drive. The embedded device loads up the NAND XLDR, which provides only flash read/write support. The XLDR then loads the "EBOOT" or "IPL" into ram on typical devices. HTC doesn't use the EBOOT/IPL model as such (here already we're breaking away from the "standard" even further) and instead has that split out into mARM AMSS (a custom designed RtOS that loads and runs the Modem ARM CPU) and SPL. Once the AMSS loads the SPL into ram and executes it, the SPL initializes the aARM (apps ARM CPU), does various checks (are we in update mode? do we need to expose a flash interface to update the rest of the OS? do we just boot up the os and move aside?)
Then finally you get past the highly device-specific code and on to the (slightly) more generic CE Kernel/drivers which get copied into ram by the SPL and executed (Native Kernel/XIP partition)
So, how different is CE7/WP7 from that model? (Which is the model we have now in CE5.x/WM6.x) - The mARM AMSS provides a different interface and initialization proceedure. That means any of the WP7 drivers from a donor device we might port from would not work at all with our current AMSS. Which in turn means no boot without re-writing the drivers/kernel or AMSS.
So to compare it to a desktop PC once again, we need to write a BIOS, a Hardware Abstraction Layer, and a set of drivers for each component on the system (likely a good deal of the drivers would be usable once the rest is done)
Do I sound jaded yet? Yes, yes I am It's probably a factor of 10 more complicated than I thought it would be initially.
Here's the JTAG pinouts that need to be connected, btw. There are pins on both sides of the motherboard which also is truely a pain in my ****, as i originally intended to mount an external port on the HD2 so I could easily keep a JTAG connection with it, but you basically have to remove the entire motherboard to maintain a reliable connection, which really precludes running it on a live device.
Click to expand...
Click to collapse
JTAG working now .
Ummm expect to hear from Microsoft lawyers in 5....4....3....
RustyGrom said:
Ummm expect to hear from Microsoft lawyers in 5....4....3....
Click to expand...
Click to collapse
Yeah i would be in breach of the non-disclosure-agreement i signed so removed.
But i am in inner city cbd wifi hotspot area and jump around unsecured cafe signals and other businesses and also use proxy servers and..... on top of that..... my own added tweaks for safe measure!
so, cafe+wifi+proxy, +other_anon, means there is absolutely no chance.
RustyGrom said:
Ummm expect to hear from Microsoft lawyers in 5....4....3....
Click to expand...
Click to collapse
reading your stuff on ce7. is this a bad idea you think? or not possible? no interest? i think it can be done.
ntonhd2 said:
reading your stuff on ce7. is this a bad idea you think? or not possible? no interest? i think it can be done.
Click to expand...
Click to collapse
I just don't think it's possible or worth it to bother trying to port NT to ARM while Microsoft is doing the same already. You're not going to be able to put together the team required meanwhile hiding from MS. It's just a stupid idea imo and really has no benefit. I mean what's your end goal here? To run Win7 on our devices?
Judging from this and other posts you have made, I suspect the most "source" you have is the "Windows Research Kernel", which is the source for a portion of ntoskrnl.exe from Server 2003 SP1, approximately. That would be no-where near enough, and it's not even enough to compile "just a kernel". It actually has a number of pre-compiled parts that it just pulls in.
Not to mention such a project is just asking to get shot down in a legal firefight. The WRK is given to academic institutions for studying the world's most popular desktop kernel, and is done so under a strict NDA.
ntoskrnl.exe by itself isn't enough to produce a workable OS anyway, especially one from the Server 2003 era.
hounsell said:
Judging from this and other posts you have made, I suspect the most "source" you have is the "Windows Research Kernel", which is the source for a portion of ntoskrnl.exe from Server 2003 SP1, approximately. That would be no-where near enough, and it's not even enough to compile "just a kernel". It actually has a number of pre-compiled parts that it just pulls in.
Not to mention such a project is just asking to get shot down in a legal firefight. The WRK is given to academic institutions for studying the world's most popular desktop kernel, and is done so under a strict NDA.
ntoskrnl.exe by itself isn't enough to produce a workable OS anyway, especially one from the Server 2003 era.
Click to expand...
Click to collapse
Sigh.. why don't people read before they make these ridiculous and thoughtless posts? Realize that there are people from Microsoft ON these threads. Also, RESEARCH IN DEPTH BEFORE POSTING SUCH A THREAD.
snickler said:
Sigh.. why don't people read before they make these ridiculous and thoughtless posts? Realize that there are people from Microsoft ON these threads. Also, RESEARCH IN DEPTH BEFORE POSTING SUCH A THREAD.
Click to expand...
Click to collapse
There are more microsoft people on xda than most realize .
RustyGrom said:
I just don't think it's possible or worth it to bother trying to port NT to ARM while Microsoft is doing the same already. You're not going to be able to put together the team required meanwhile hiding from MS. It's just a stupid idea imo and really has no benefit. I mean what's your end goal here? To run Win7 on our devices?
Click to expand...
Click to collapse
sure, sourcecode factor (nda) and secrecy/MS are complexities: but not as hard as people think here: it is TWO COMPLETELY DIFFERENT THINGS TO TRY AND GET WINDOWS7-ON-ARM to what I suggested (NT-CONCEPT-ON-ARM-WITH-Native-CLI) and no I would not use WRK sourcecode (lol) as part of my daywork i have access to (not ce) full sourcecode.
see my last post here,
can be done .
hounsell said:
Judging from this and other posts you have made, I suspect the most "source" you have is the "Windows Research Kernel", which is the source for a portion of ntoskrnl.exe from Server 2003 SP1, approximately. That would be no-where near enough, and it's not even enough to compile "just a kernel". It actually has a number of pre-compiled parts that it just pulls in.
Not to mention such a project is just asking to get shot down in a legal firefight. The WRK is given to academic institutions for studying the world's most popular desktop kernel, and is done so under a strict NDA.
ntoskrnl.exe by itself isn't enough to produce a workable OS anyway, especially one from the Server 2003 era.
Click to expand...
Click to collapse
What does this statement really mean?
might be a bad idea on hd2, fine, accepted, but your comment at the end doesn't make sense to me. so, ntoskrnl.exe for wp7 or nt4 (another era than 2003 .net) would make a difference? that is silly. besides, i made it clear that a psuedo-firmware setup would be required to setup the datastructures that NTLDR would prepare (along with NTDETECT.COM, and bios+pci_bus+ACPI interaction, (plus system or setupreg.hiv)), etc: so what are you saying exactly? my point was to not run any win32 or win64 gui or subsystem. never even mention win32k, gdi, etc. I was very clearly talking about native cli (ntdll.dll) and a prompt- maybe usb keyboard- as ARM NT Conceptual. Please, enlighten me . PS> yeah, I know the wrk and am fully aware of \prebuilt\ libraries and obj code: but, no, I was not intending on using this as base. I admit, hd2 nt prob bad idea: btw was ARM NT concept more than anything! and yeah, with the secrecy and legal issues it would be too complex and overwhelming to do so, accepted, but if I were truly to do this NO i would not use WRK lol .
And regarding Microsoft, yes, I accept that there are a LOT of employees on xda and it is crawled and watched for obvious reasons: covered that.
PPS> re WRK, no, would (if i were to try doing this that is) use what I already have access to as part of my work> under full NDA I have full source to a few different bases including all of 2003 and even HyperVServer and AzureOS trees. .
unfortunately I do not have windows phone 7 code access though! Thanks.
RustyGrom said:
I just don't think it's possible or worth it to bother trying to port NT to ARM while Microsoft is doing the same already. You're not going to be able to put together the team required meanwhile hiding from MS. It's just a stupid idea imo and really has no benefit. I mean what's your end goal here? To run Win7 on our devices?
Click to expand...
Click to collapse
Yep...... but there is a LOT of portability in the original nt4 and even w2k trees with alpha, mips, ppc, os2+posix, original softpc.new+ntvdm, and even newer, that would let this be done a lot easier than most realize: remember here that:
I AM NOT SAYING LETS RUN WIN32 ON OUR HD2: I AM SAYING LETS TRY RUN NTOSKRNL ON ARM.
big difference guys.
RustyGrom, I assume your talking about ARM-Cortex etc (msnt-2-arm)..... THIS is what i wanted to do but a much more lightweight and ms-testing-protocol-free-process; homebrew version in experimental state would ensure much speedier development: it is not that hard a concept to attempt to port over an earlier (nt4 or w2k) kernel FIRST then look at better (2003 & 7) memory management etc: the point here is PROOF OF CONCEPT NT ON ARM: that is it, like what you refer to. Read my first post: any remember tinykrnl.org? Alex Ionescu ? Reactos? it could be done a LOT easier than you all think!
only NT on ARM official stuff i am aware of is this (rumour/talk/concept/theory/design atm):
http://www.microsoft.com/Presspass/Features/2011/jan11/01-05SinofskySOC.mspx
http://thecoffeedesk.com/news/index.php/2009/04/23/net-could-be-key-in-windows-on-arm-netbooks/
http://www.osnews.com/story/24165/Windows_NT_on_ARM_It_s_a_Server_Thing
If you know NT like i do- then you would see it could readily be done but yes, I admit I do not know enoug about 'phones'/ce-platform. That's why I started THIS THREAD HERE: to get some thought on the subject is all .
what then would be major problems to overcome then and this is assuming concept of say:
0). hd2 power on
1). ipl/equiv
2). hspl.
3). magldr
4). dft leo70 rom
5). bsp/oal, bldr/uldr, OS.NB ->(NK.EXE).
6). remap, reinit, load and place (prep) data structures expected by ntoskrnl.exe (osloader, detect, pci, bios, etc).
7). jump to ntoskrnl.exe
?
For the record, a few years ago i did this exact thing: ported nt kernel over to another platform. myself and others re-wrote ntoskrnl.exe (+hal+drivers) and integrated osloader.exe(ntldr), and all data structures as would be passed to kernel from ntldr, registry system hiv, ntdetect, missing bios, missing interrupt+dma+pci-bus+acpi+power, etc into one (debug/xdk) single DEFAULT.XBE.
it only worked on XDK debug kit xbox consoles with serial+scsi+128mbRAM (and a custom lpc debug mod) but it worked. using code from intel and tianocore EFI/UEFI toolkits (and bits and pieces from here and there) and concepts such as PALcode as used by non-x86 osloader (.exe not ntldr) for simulacrum bios/firmware you can pass a predefined set of structures to ntoskrnl and ensure processor regs etc ARE ALL GOOD AND SYSTEM IS READY then call into KiSystemStartup, ExpInitializeExecutive, and begin modified phase0 of NTOSKRNL.EXE.
similar thing was done with CE.NET for Xbox - a default.xbe with linux code b4 NK.NB0
worked and works .
anyway, how u wanna solve the next problems?
1)missing CL compiler for ARM with same set of features like CL for X86.
(CL version for ARM for WCE doesn't have all features supported and usually outdated)
2)this ARM compiler store exception info in other format (not SEH frames, but universal table for functions ".pdata")
3)which files u exactly wanna build for ARM? is it "ntoskrnl.exe bootvid.dll hal.dll"?
4)which final results u gotta got?
5)why u need touch WP7? u can just look to example code in Android kernel and implement something. so replace PC standard timer realization inside HAL.dll with QSD8250 specific timer code. it's much better to start.
how many ppl u have in ur team?
Cotulla said:
anyway, how u wanna solve the next problems?
1)missing CL compiler for ARM with same set of features like CL for X86.
(CL version for ARM for WCE doesn't have all features supported and usually outdated)
2)this ARM compiler store exception info in other format (not SEH frames, but universal table for functions ".pdata")
3)which files u exactly wanna build for ARM? is it "ntoskrnl.exe bootvid.dll hal.dll"?
4)which final results u gotta got?
5)why u need touch WP7? u can just look to example code in Android kernel and implement something. so replace PC standard timer realization inside HAL.dll with QSD8250 specific timer code. it's much better to start.
how many ppl u have in ur team?
Click to expand...
Click to collapse
************************************************************
update: Attached is ARM low level bootloader just built; this could be used to load LDR and then ntoskrnl.exe .
************************************************************
Please let me know your thoughts and please try to get this to run with debug if you can and pass results & thoughts back to me - Cheers. Hopefully it built ok. What do you think of using this method then? but with FULL & PROPER NTOSKRNL.EXE!
************************************************************
Hi Cotulla, thanks for your reply: appreciate it here.
[also much thanks for hspl, magldr, dft android, leo70ROM. .]
ok, sorry if this is a bit all over the place, i have cut and pasted my answers around to try clean it up but it is late and i think my brain is a bit dead sorry, but answers are here anyway . hope makes sense. firstly please have a look at this video and let me know what you think .
http://www.youtube.com/watch?v=RFNuY2OFRjU
that is ARM..... i am going through build environment and sourcecode now..... thoughts?
http://www.youtube.com/watch?v=n3v4YC9RT-g&feature=related
can learn a lot from wine. i agree with you on linux. same for virtualization, emulation, etc, like bochs qemu everything . sandboxing and hypervisor unveils a LOT . another thing i wanted to ask you was what do you think of FPGA technology for reverse engineering unknown systems? for example, if i were to start almost any project, like say leo70DFTrelease, or NT on Xbox, or whatever, doesnt matter, i think it is worth spending the time or money (for private company to do it for you) and have an FPGA version of the target device being hacked (hd2 in leo70rom case) and then undo the software problems from a hardware logic perspective. just the way i have worked on things many times and it works for me anyway. but I digress.......... . if i were to have done wp7hd2 (leo70rom) and magldr, then i would have had to have had (for me, not as good a dev as you) a FPGA based HD2 made up that ran in every way same but with which i could get right in there and do whatever i needed to do to see response& debug. let me know what you reckon... ok... digress now :
1)missing CL compiler for ARM with same set of features like CL for X86.
(CL version for ARM for WCE doesn't have all features supported and usually outdated)
what features specifically we need here?
what about tweaking this:
http://reactos.colinfinck.de/files/RosBE-Windows/RosBE-ARM-1.0.exe
2)this ARM compiler store exception info in other format (not SEH frames, but universal table for functions ".pdata")
http://www.reactos.org/wiki/PSEH
http://www.reactos.org/forum/viewtopic.php?f=9&t=5716
reading up on _IMAGE_CE_RUNTIME_FUNCTION_ENTRY. just going over stacks and frames and overall exception handling on ARM. are there any issues with reverse execute, virtual unwind? for this type of execution- how would you handle?
more to the point- how would you do this project lol.
problems with prolog/epi? what about moving over x86 asm code? i am right now typing this to you whilst getting updated on specifics on registerslooking at emulators to see this in action. i am reading these here. let me know if on right path and please put up links to whatev will make this project concept a reality . Cheers .
see here
http://www.cl.cam.ac.uk/~mwd24/phd/swarm.html
http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
http://www.codeproject.com/KB/threads/StackWalker.aspx?msg=2818356
can you recommend any compiler, emulator, os, setup, even equipment (JTAG etc etc) i should use, buy, try?
3)which files u exactly wanna build for ARM? is it "ntoskrnl.exe bootvid.dll hal.dll"?
depends on method: i agree (see below) that probably android or (htc-)linux is probably more likely to work but leo70_rom made me think maybe jump from (touch wp7) nk.exe? and are you saying use linux as in LinuxBios type setup?
would need emulated bios, pci bus fixed up (?), QSD timer HAL, ACPI (?), etc ,,, so probably would end up with the following:
a) BIOS (ce7 exe or linux ?): options here could be to make NT think it is running on PALcode, uEFI, or standard ACPI BIOS (your thoughts?). I think uEFI (tianocore/Intel) is best bet here perhaps. this would include MBR code (efi equiv or pal equiv depending) and any psuedo-real or "real" initialization i think.
b) mbr execution merged to and included in above, bootsect. in sim' 'firmware'.
c) $LDR$ @ OSLOADER.EXE (osloader.exe is non-x86 ntldr as im sure you know WITHOUT the code to run ntdetect.com and acts in PALcode architecture to pass on predefined data structues from firmware: tells NTOSKRNL.EXE where and what 2 execute).
d) HAL.DLL (timer, power/acpi, spinlocks, interrupts). another reason i leant towards WP7 as pre-NT launcher is because i assumed that something like BSP, OAL, etc, could be maybe used as base: if not for code, then logical base. what base(s) did you use to create WP7 if i may ask? ie: CE7? I have just installed Platform-Builder. but yeah, i here you regarding android/linux kernel example: ultimately are you saying better, easier, more logical, to go with android/linux you think Cotulla?
e) BOOTVID.DLL
f) KDCOM.DLL (if wp7 would make use of KITL?)
g) drivers as required including the following: ntbootdd.sys (?) might allow easier diversion from bios lack of INT13 and other support: remap to whatever can handle this properly. equivalents for ACPI.sys, filesystem drivers, other power, basics. how should i be looking at things from NT side of things, as in \ObjectTypes like \??, \Global?? etc .... and items like ROOT device in ARM (either CE or linux preloaded) context? any thoughts on how object manager would need to be brought up? for me, now, that is where it gets crucial and is core.
h)SMSS.EXE (NATIVE.EXE) but to begin with could just get drivers and all that working first and strap up into cmdcons (SPCMDCON.SYS). just blue-screen SMSS (windows setup) enough to prove kernel to run on ARM cpu. your thoughts?
i) SYSTEM reg key hive (setupreg.hiv etc?)
...
4)which final results u gotta got?
Tinykrnl type native CLI.
http://www.betaarchive.co.uk/imageupload/1193217573.or.99024.jpg
with USB keyboard support like htc-linux then go from there..... would love a prompt from which could just call any given call - be it CreateProcess or NtCreateProcess or ANYTHING: and it just does it (with debug/KITL) without question . but native NT command line is good for now. not going near win32.
5)why u need touch WP7? u can just look to example code in Android kernel and implement something. so replace PC standard timer realization inside HAL.dll with QSD8250 specific timer code. it's much better to start.
yeah....
I thought linux probably would end up being better: just liked symmetry of windowsCEx-strapping-windowsNTx: making a windowsCE-EFI/BIOS: but yeah, something like LinuxBios (android kernel etc) would be a lot easier in the end yeah? All this is overly simplified and very conceptual but there are basic answers. . once a solid idea has been formed then this could actually be done i think. and before Microsoft . Do you believe Reactos-ARM-build environment could be used? Am i missing anything? 9 people team+myself (+any help you can offer) would make 10 (+1). I think this is a good idea to at least try and i believe with your assistance, guidance, well, it would get done and then complete the HD2 line up fully. . In conclusion, right now, I need ARM emulator software, platform builder, and fully working Compact Edition 7 on HD2 to get some more thoughts and try few things out in platform builder debug then can get final decision, design, plan and start to get everything working. Even though will probably go with Linux/Android obviously as above, I still need 2see init on CE7 on HD2 and be able 2use this along with whatever else we can! have a look at all above links... thanks.
Cotulla, thanks again 4reply>please PM [email protected] something but not posting..... await your PM.
what about this ( http://research.microsoft.com/en-us/projects/singularity/ ) could be of use to NT port with respect to CLR ? haha, or just outright hd2 port Microsoft RDK OS ' singularity ' ? .
************************************************************
update: Attached is ARM low level bootloader just built; this could be used to load LDR and then ntoskrnl.exe .
************************************************************
Please let me know your thoughts and please try to get this to run with debug if you can and pass results & thoughts back to me - Cheers. Hopefully it built ok. What do you think of using this method then? but with FULL & PROPER NTOSKRNL.EXE!
************************************************************
I don't have big knowledge of Windows NT system, but I think it's must be enough to provide basic stuffs for kernel start up.
I guess NT using only int13 services for reading data from disk, int15 services used to detect memory configuration and int10 for initial boot mode.
Because it's embedded hardware, the devices in the system are fixed and limited. So it's enough to provide fixed values for kernel, like available ram memory range.
No need of using any complex systems with CE / Linux.
About CE, you can get almost full kernel sources in PB6.0, trial can be downloaded from MS site.
afaik it's enough to load kernel and dependent modules (drivers) to ram and then run them. after this action kernel drivers should able to run properly on hardware.
About Reactos, I appreciate work of involved people, but I doubt that it's stable
About this project, I don't know yet if I will contribute. I am looking how much it's interesting for me
I always have interesting different things in my hobby as well, so I have choose that to do As well, me is part of DFT team, I need discuss it with them
Now I am asking you to understand more details about your idea(s)
Cotulla said:
I don't have big knowledge of Windows NT system, but I think it's must be enough to provide basic stuffs for kernel start up.
I guess NT using only int13 services for reading data from disk, int15 services used to detect memory configuration and int10 for initial boot mode.
Because it's embedded hardware, the devices in the system are fixed and limited. So it's enough to provide fixed values for kernel, like available ram memory range.
No need of using any complex systems with CE / Linux.
About CE, you can get almost full kernel sources in PB6.0, trial can be downloaded from MS site.
afaik it's enough to load kernel and dependent modules (drivers) to ram and then run them. after this action kernel drivers should able to run properly on hardware.
About Reactos, I appreciate work of involved people, but I doubt that it's stable
About this project, I don't know yet if I will contribute. I am looking how much it's interesting for me
I always have interesting different things in my hobby as well, so I have choose that to do As well, me is part of DFT team, I need discuss it with them
Now I am asking you to understand more details about your idea(s)
Click to expand...
Click to collapse
sure....... . anything ReactOS -freeldr, any arm code, whatever, is just to get basic idea up- to see the actual jump whilst watching (be it by jtag, kitl, usb, or telepathy interface to QD) and go from there; although im sure you could use ReactOS arm code lowlevel bootloader to jump into EITHER "freeldr" or proper "ntldr" or "osloader.exe" (modified of course to have no pci bus scan and the rest.....) that is the dilemma: either jump COMPLETELY like winmo6-android with all structures setup DIRECTLY INTO KERNEL and avoid the whole LDR side of things in that sense anyway; or, well, totally from scratch rebuild loader and subsequently deal with 'firmware' issues... i really do not care in the end if its a jump from one kernel to another (one os to another) because project here is to RUN NT ON ARM/HD2 and not to necessarily have it homogenous down to LDR.
as long as thread, memory, native api, other calls, all that, is truly ntoskrnl = you are running nt on your arm hd2! .
LDR does not matter.... total new rebuild or jump.... whatever comes first .
Thanks Cotulla, yes, we understand where your coming from re do not need linux, ce, and complexities there and i agree: just want to use these for initial testing and deployment of early code with some kitl, debug.... on other notes, trying to put all into organized groups, slowly but surely yes, with bit of faith we will get there in the end .
if totally up to me i would probably take intel/tianocore EFI specification as the base if this could somehow be easily made to run on ARM in this particular context. ie EFI on a HD2!
look at this raw control power!>>> http://www.ami.com/support/doc/AMI_Debug_UEFI_Dsheet_PUB_2008-06-10.pdf
also along these lines, just briefly (is helpful in concept design):
http://x86asm.net/articles/uefi-hypervisors-winning-the-race-to-bare-metal/index.html
http://sourceforge.net/projects/gnu...orig.tar.gz/gnu-efi_3.0h.orig.tar.gz/download
http://x86asm.net/articles/introduction-to-uefi/
http://sourceforge.net/projects/efidevkit/
http://www.logic.nl/Products/Technology/BIOS-and-EFI.aspx
ok, summing up thoughts here>>>
0) object manager and objects; going over arm & ce7, as well as winmo6 and other ce, and comparing with nt and win32/64; just looking at how on final arm release, the \ObjectTypes will be different in the end. very interesting stuff.
1) LACK-OF. no pci bus which is highly expected by ldr/detect so make kernel prob see system in 'PALcode' or EFI mode. pass ldr data structs to kernel in that type of form. otherwise gets very messy and we are not going to hack around because you will end up with an emulator !. this will work but key is determing what 'firmware' passes this data to nt kernel - not from our perspective- but as NT.
2) BIOS. INT services are not used by kernel in that way after it becomes supervisor so will redo drivers unless preload remap somehow. INT only there during ntldr (or can load in ntbootdd.sys to supply these) and this is all pre-phase0 and is very early on.
3) HAL and clk
4) INT services are not used by kernel in that way after it becomes supervisor so will redo drivers unless preload remap somehow. INT only there during ntldr (or can load in ntbootdd.sys to supply these) and this is all pre-phase0 and is very early on.
5) kitl and kdcom
6) registry to pass on (setupreg).
8) filesystem, screen, other drivers
9) final native cli (ntdll.dll) or maybe initially just spcmdcon.sys.
above not in order ..... sorting it all out though .....
ok, looks daunting but like i said before you could get up an nt kernel in setup mode with setup ldr and drivers and old blue screen "dos" mode native subsystem which uses the SMSS.EXE and NTDLL.DLL that are seperately contained in \i386\system32\ or \cmdcons\system32\ - very limited subsystem but is full nt os at kernel . so........ if not ce and not linux preloading, WOW . it is quite an amazing project but doable; so basically just need to see how this armldr (low level strap - be it Reactos or my own clean job- will do both) code runs on the device itself and step by step add the rest in as required! but i still believe actual dev be better jumping from preexisting environment having kitl or some sort of serial or usb debug already there and then working way down to lowest possible level; so, basically, working backwards down to processor.
Doing it all from scratch and CLEAN . (in the end!). .
my brain just straight up exploded.
thanks a lot.
http://www.youtube.com/watch?v=xKc_XGuvNIk .
for the record:
so far without any errors have successfully been able to build the ntdll.dll, hal.dll, smss.exe, bootvid.dll, fastfat.sys, for ARM with no modifications at all, but not yet done a build on the LDR or NTOSKRNL.
just testing compiler here is all and not writing new: this is very early on and i have changed absolutely nothing.
once fill in gaps will give it a go on hd2.
attached.

[Q] Android 2.2 on HTC Touch Pro 2 Sprint (total wipe of windows mobile 6.5)

Hi, I've read in the forum about possibility of dual boot, android as application, etc etc.. inside the windows 6.5 htc tp2 sprint..
BUT... and excuse me if I couldn't find it in the forum here.. but did try to do search already... HOW would I do a total wipe of my windows and turn the phone into an ALL android phone ?
is this possible? if you've seen a thread, rather than telling me to go search more.. i'd appreciate you pointing me to the right direction.
thanks very much.
I'm guessing you've been told to search before.
It is a really good idea, to do that before creating a new thread. Search the forum for several different search terms before creating a new thread.
With that said, here is the NAND boot testing thread. It's not full NAND, but it does completely rid the phone of WinMo.
A) it's not nearly as stable as the haret builds and B) the potential for bricking your phone goes from 0 to... some number that would indicate danger. Yellow?
thank you very much. actually i have not been told to seach before.. but with all that i'm reading about people bashing at those who ask questions that might be in the forum... i thought i'd put the disclaimer that i tried !
the haret builds ... that's the dual boot i assume.. are they not as a result slower and more restricted?
dralibak said:
thank you very much. actually i have not been told to seach before.. but with all that i'm reading about people bashing at those who ask questions that might be in the forum... i thought i'd put the disclaimer that i tried !
the haret builds ... that's the dual boot i assume.. are they not as a result slower and more restricted?
Click to expand...
Click to collapse
If anything the haret builds are probably faster - NAND tree isn't quite up to par, although the devs are working to change that. In some ways NAND gets updates before haret, there's just a lot of things to work out because WinMo initialized all the hardware for us - now we must initialize the hardware ourselves.
At any rate, that's probably not what people mean by dual-boot - usually when I hear those words, I think "Gen.Y" - not necessairly supported by XDAndroid, but a very nice addition. Please get help with that app in their thread.
Technically just throwing Android on your phone would qualify it for 'dual-boot', but typically people refer to dual-boot as the option to pick an OS when the phone (or computer) first starts. Gen.Y solves that problem, if you so desire it!

Call for help in porting PostmarketOS to OPPO Find 7/7a

Dear XDA members,
if you feel the same as the friends at https://postmarketos.org/ :
"We are sick of not receiving updates shortly after buying new phones. Sick of the walled gardens deeply integrated into Android
and iOS. That's why we are developing a sustainable, privacy and security focused free software mobile OS that is modeled after
traditional Linux distributions. With privilege separation in mind. Let's keep our devices useful and safe until they physically break!",
then it is time for you to step forward!!!
Last night initial support for the OPPO Find 7a was commited to the postmarketos pmaports git repo
https://gitlab.com/postmarketOS/pmaports with commit https://gitlab.com/postmarketOS/pmaports/commit/1f8095771c4659d31e8b228dd85018e9ca9963ca.
It was a pain to get this committed as I'm not used to the git workflow, nonetheless with the help of the maintainers over there
and after deleting a few merge requests ( a no-no, don't do that!!) at the end we got it done.
At the moment the device port is only for the Find 7a for the simple reason that I own one but I'm sure it can be extended to the
Find 7 and Find 7s.
The answer to the question that you dear reader have in your mind now: "what works?" is easy: NOTHING WORKS YET!!!
The only thing working so far is that the kernel compiles, you can flash it or fastboot boot it, start a rootfs on the microsd card
and ssh into the system over a usbnet connection to look at all that lovely processes running.
Lots of work still needs to be done, I'm pretty shure that I will not be able to do this myself as my knowledge about the hardware
part of the device is minimal and I would need to reinvent the wheel for every little progress.
As I'm sure that there are still a lot of knowleadgeable develepers (THAT'S YOU!!!) lurking around this list my hope is to lure them
to contribute to this project.
I personally dream of the Find 7 running postmarketos and KDE plasma-mobile but even maemo would be ok!!!
Come on, let's do it!!!
Best regards,
farmatito
Links to get more info:
https://postmarketos.org/
https://wiki.postmarketos.org/wiki/OPPO_FIND_7a_(oppo-find-7a)
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device
Screen and touchscreen working!!!
Still a lot of work to do. Help is appreciated!
Progress report
New package for installing various firmware blobs merged!
Next big thing should be to try to make video hardware acceleration work,
if there are any experts here help is appreciated!!!!.
Progress report
The attached photo shows my Find7a running the XFCE4 desktop.
The interface is fast enough even without hardware acceleration.
As the Desktop is not optimized for mobile devices it is not
a such a great user experience, but the basics work.
Still a lot of work to do, help is appreciated.
Progress report
Wifi Works!!! and you can browse the internet!!!
Help is still appreciated!!
No progress
This time there is no progress to report:
video acceleration not working yet due to the fact that the kernel is rather old (3.4.113), backporting newer drivers did not work out as the codebase differs to much (so no KDE plasma).
making the various sensors work is also rather difficult as the kernel uses a Device Tree and so even if there are drivers for the sensors you need some board specific info to create the device tree nodes.
last but not least the last version of xfce4 in alpine linux is not touchscreen friendly. GTK combo-boxes are now unusable (will eventually try maemo).
Help is very, very appreciated.
Saw this post, has a Find 7 and want to know more.

Categories

Resources