View Single Post
  #2172 (permalink)  
Old 04-23-2010, 04:52 PM
hamagc's Avatar
hamagc
Halfway to VIP Status
Offline
Location: Lancaster CA
 
Join Date: Nov 2009
Posts: 696
Reputation: 445
hamagc is becoming a PPCGeeks regularhamagc is becoming a PPCGeeks regularhamagc is becoming a PPCGeeks regularhamagc is becoming a PPCGeeks regularhamagc is becoming a PPCGeeks regular
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Re: Linux/Android on CDMA Touch Pro (RAPH800)

here is some insight into haret provided by edvard on connect-utb:

Quote:
Most of you who have been following the porting of Android to the Touch Pro and Diamond have used Haret. However, many of you may not know what goes on and why we cant just cook up a native Android ROM right away. Well, its all in the fact that at the moment we need the initializations done in Windows Mobile even though Haret shuts down Windows Mobile completely before booting up anything else.
Read on to learn how it all works

Normally, firmware and drivers work by telling the device (WIFI, GPS etc.) that it should activate and start doing its job. This can be as simple as telling it to power on, or it can consist of complex routines requiring sending of data back and forth before it powers on.

So when you in Windows Mobile tell the GPS to turn on and activate it stay activated until it gets deactivated and doesnt get affected by the booting of Linux.

What Haret does is that it loads the Linux kernel into memory while WM is running, then it takes control over the entire device, disabling memory management functions (MMU) before it copies the Linux kernel from one place in memory, to the place it should be, and executes (jumps) to that location. (Very simplified)

Its also worth noting that Haret might not work in future versions of WM since the MMU takeover only works on operating systems with no security, and running every app in RING 0/Kernel space. Just like DOS did.

When Haret jumps to the Linux kernel location, the Linux kernel starts and clears, and writes over the entire memory used by Windows Mobile.
The GPS device is still activated and transmitting data even though Windows Mobile is gone. This is why the LED state also "hangs" after booting Linux/Android.

In Windows Mobile, when the charger is connected, Windows Mobile tells the LED to light. When Windows Mobile is gone there is nothing there to tell it to stop.
There shouldn't be any differences in running Linux from Haret or running it native other than that you have to initialize all the devices in your phone again.
Hope this can shed some light on how Haret and Linux works.
Reply With Quote