PSFreedom for Android (Dream / Desire) Recovery Mode - G1 Android Development

Amon_RA just sent word — KaKaRoTo’s PSFreedom is now available through recovery mode on your HTC Android-enabled phone. What’s that mean? It means no more flashing kernels leaving WiFi and whatever other functions inoperable. Not to mention it’s way less tedious than backing up, flashing, and restoring all the time. Three separate recovery images have been released:
HTC N1 by Amon_RA
Features everything from RA Recovery v1.7.0.1 including ABD & mass storage.
HTC Dream / Sapphire 32B by Amon_RA
Features everything from RA Recovery v1.7.0.1 including ABD & mass storage.
HTC Desire by Klutsh
Features everything from ClockworkMod v2.5.0.9 including ABD & mass storage.
It’s simple: Flash the new recovery, boot to recovery mode, select the new PSFreedom menu option and select a payload to use. Each recovery image comes with these 4 payloads:
Homebrew only: No Blu-Ray Disc (BD) emulation, meaning no backup support.
Homebrew only with peek/poke: Again, no BD emulation, but adds peek & poke sys calls for certain homebrew. Peek/poke was introduced in PSGroove a couple weeks back.
Homebrew + BD Emulation: As the name suggests, this version enables homebrew and backup support.
Homebrew + BD Emulation with peek/poke: Put two and two together.
Amon_RA’s recovery also comes with a “test only shellcode” payload that is used for debugging purposes. Regular end-users will likely never use it. Then all that’s left is attaching your phone to your PS3 and following the jail break steps:
Kill main PS3 power source
Reconnect main power
Press power button immediately followed by eject.
If you know what you’re doing, then go ahead and download the appropriate recovery image and flash it. Otherwise you can follow Amon_RA’s instructions here. Just like a cat — there are multiple ways to flash a recovery image.
Update: You may need to re-download the N1 or Dream version if you’re experiencing BD emulation issues. Both downloads have been updated to v1.1.1.
Download:
PSFreedom Recovery for N1
PSFreedom Recovery for Dream / Sapphire 32B
PSFreedom Recovery for Desire
Source:
http://www.ps3-hacks.com

Awesome , thanks for all the effort

So with this img it leaves the phone fully working right? I saw another img that broke wifi and usb storage

xile6 said:
So with this img it leaves the phone fully working right? I saw another img that broke wifi and usb storage
Click to expand...
Click to collapse
Whit this you will not have problems... it do all in the recovery and when you boot the phone to the system, dont have to worry whit the wifi or usb problem...

Great now I just need to get my hands on a ps3

EBI1 32A, Rogers drean
can someone plz post a version of this for the 32A rogers dream?
thanks

any plan to update this to Hermes V3?

onilink67 said:
any plan to update this to Hermes V3?
Click to expand...
Click to collapse
We can only hope. I am anxiously awaiting.

G1ForFun said:
We can only hope. I am anxiously awaiting.
Click to expand...
Click to collapse
Its not going to happen. Amon-Ra actually pulled this due to not wanting to get targeted by Sony. The actual rom may continue with updated payloads but I dont know how this will get updated. I searched for the source to this but cant find it anywhere. I wanted to replace the Hermes V1 payload with the Hermes V3 payload and recompile but have no idea where to start. I looked for a good write up on how to build your own recovery image but I think this may be a little above my programming scope. Im going to dive in anyway if I can find source or if I can figure out a way to decompile the img I already have and inject the V3 payload. If I can get it working I will release but dont get your hopes up. I really hope Amon-Ra changes his mind but Sony is out for blood.

bigd5783 said:
Its not going to happen. Amon-Ra actually pulled this due to not wanting to get targeted by Sony. The actual rom may continue with updated payloads but I dont know how this will get updated. I searched for the source to this but cant find it anywhere. I wanted to replace the Hermes V1 payload with the Hermes V3 payload and recompile but have no idea where to start. I looked for a good write up on how to build your own recovery image but I think this may be a little above my programming scope. Im going to dive in anyway if I can find source or if I can figure out a way to decompile the img I already have and inject the V3 payload. If I can get it working I will release but dont get your hopes up. I really hope Amon-Ra changes his mind but Sony is out for blood.
Click to expand...
Click to collapse
All good I got the controller stuff working on v1 payload.

maybe someone can do an "annon" and have the same skillz amon has and release a new "version" maybe amon's twin with a different name

i search a amon_ra version for desire

wub wub this is just a test message ^^

so, is this SFdsGRATE?

asb123 said:
so, is this SFdsGRATE?
Click to expand...
Click to collapse
Thats the best part

Related

New Recovery Flasher ! [updated 20090904]

http://zenthought.org/content/project/flashrec
Tool to flash the recovery image on Android phones. The so-called “one click root”.
No longer includes CyanogenMod Recovery 1.4 , but will download the correct CyanogenMod Recovery 1.4 for your phone.
Allows flashing any image (type the path or url to it).
Works on “32B” and “32A” phones.
Uses CVE-2009-2692 , which is patched in firmwares released after August 2009.
Also allows you to back up and restore the current image (to /sdcard/recovery-backup.img)
NOTE: I just found this update and have nothing to do with the actual project - though I am grateful for the work and would like to share the info!
Bluetooth access is only used to create a socket for exploiting the bug – Bluetooth does not need to be enabled, as it is not really used.
Pre-compiled: flashrec-1.1-20090904.apk (Allow non-market apps on phone to install)
Source: flashrec-1.1-20090904.tar.gz
SVN: flashrec on Google Code
Note: I am not involved in this project, just sharing the hard work of someone else.
Trying right now on a G1 Dev phone.
Awesome app! The real universal rooting tool!! (for now at least
I heard about this a couple days ago. Will this thing still work after donut? Also would this be in here or in the app section?
Does anyone have their original backup before they rooted their phone? I need it in order to get my phone back to unroot. I need it in order to restore my splash image since my hardware keyboard isn't completely working.
Any help will gladly be appreciated.
Old News
this has been posted quite a few places already
josharmour said:
Trying right now on a G1 Dev phone.
Click to expand...
Click to collapse
Isn't the dev phone already rooted?

Android without Google applications

About the time when further existence of Cyanogenmod was endangered because of Google's legal claims, there happened to be a post from the author of Cyanogenmod:
Since I don't work with any of these closed source applications directly, what I intend to do is simply ship the next version of CyanogenMod as a "bare bones" ROM. You'll be able to make calls, MMS, take photos, etc. In order to get our beloved Google sync and applications back, you'll need to make a backup first. I'm working on an application that will do this for you.
Click to expand...
Click to collapse
The current state is that (supposedly) Cyanogenmod build does not contain any Google apps, BUT in fact to install Cyanogen you should first flash a development image from HTC (DRC83 or so) that contains them, and atop of this Cyanogenmod.
My question is, will the current Cyanogenmod build work without the HTC "base" files, in the way it is described in the message quoted above?
I own a Magic 32A. Could I just flash the latest Cyanogenmod update.zip (and another update.zip with appropriate kernel)?
I DO NOT want any proprietary apps on my phone.
(It will suffice if I have a web browser and a basic contact list application, without syncing.)
If anyone knowledgeable in the affairs of "update.zip" format reads this, I would also like to know if the Cyanogenmod's update.zip does only write some files to existing filesystems, or does it first erase/create new filesystems in some areas of flash memory? And what does the update.zip from HTC do (this one is certainly supposed to erase the root filesystem of the device!)? Would applying just the Cyanogenmod's update.zip leave the HTC files in place if they are already there, and how can I clean the root filesystem?
Not sure if that's how it works. Why don't you just remove the apps after?
If you really want Android without Google Apps, you can also compile from the source Android. That will give you basic functionality (phone, contacts, email) without Google Apps on it. You just need to checkout donut branch, instead of eclair's, since eclair is still on development.
Check: source.android.com and follow the documentation to checkout and compile for dream and sapphire
xaueious said:
Why don't you just remove the apps after?
Click to expand...
Click to collapse
The Google's libraries seem to be hiding in every corner, so that's not really clean.
@dferreira
Right, but it is probably some hassle (and I would duplicate some work of the people who publish their images here), also the download would take a long time with my internet connection. Why do it, if it's already done? A stock Android build from AOSP must be hanging somewhere around... but I haven't seen it yet. All the donut images I've seen on this forum had some silly modifications and were prepared to work with Google packages.
(Or is the source prepared nicely enough to work right if it compiles successfully and is put on the device? How do you put the build in an update.zip to allow flashing to a consumer device with a custom recovery image, but without engineering SPL?)
Donut branch should compile and work without a hitch. Even eclair works out-of-the-box, without camera working and 3D acceleration.
The compiled result will be recovery.img, boot.img, system.img, userdata.img... I've flashed them using fastboot Unless you know how to make a update.zip out of these, you should be all set. The update.zip only works if signed with the right certificates for non-engineering SPL devices.
The update.zip only works if signed with the right certificates for non-engineering SPL devices.
Click to expand...
Click to collapse
I wonder how do some folks from this forum do it then?
I doubt they have relations with google employees!
Do you know which kernel trees are compatible with the 3.22.20.17 radio firmware that is found in stock Magic devices?
AOSP has a kernel project and HTC has put some kernel sources at developer.htc.com, but there's only something called "HTC Magic Kernel Source Code" - no mention for which model.
Well, actually, i might do with some of the kernels that lie around the forum, but do they have any special requirements for initrd and modules, that would require modifying the flash images you get from building the Donut branch?
Seems to me that kernel is in the boot.img. You flashed it and everything works. You have not touched the radio firmware. Correct or not?
kguciek said:
I wonder how do some folks from this forum do it then?
I doubt they have relations with google employees!
Do you know which kernel trees are compatible with the 3.22.20.17 radio firmware that is found in stock Magic devices?
AOSP has a kernel project and HTC has put some kernel sources at developer.htc.com, but there's only something called "HTC Magic Kernel Source Code" - no mention for which model.
Well, actually, i might do with some of the kernels that lie around the forum, but do they have any special requirements for initrd and modules, that would require modifying the flash images you get from building the Donut branch?
Seems to me that kernel is in the boot.img. You flashed it and everything works. You have not touched the radio firmware. Correct or not?
Click to expand...
Click to collapse
Yes, the kernel is in boot.img, and it is the AOSP kernel that comes with the source code There is no radio firmware on AOSP.
update.zip is made by issuing make otapackage.
Hi buddy i thought about something like that few weeks ago and i think MarsDroid has already made some version of Android(Very lite MarsDroid SPL 7) fully without Google apps, so try it..
OK, I've built an image from donut source, coupled it with a kernel from a CyanogenMod port, and it works flawlessly on my phone!
I've uploaded the images to RapidShare, should anyone need them Links are at my website (guciek.net/en/stuff/android_builds).
kguciek said:
My question is, will the current Cyanogenmod build work without the HTC "base" files, in the way it is described in the message quoted above?
I own a Magic 32A. Could I just flash the latest Cyanogenmod update.zip (and another update.zip with appropriate kernel)?
I DO NOT want any proprietary apps on my phone.
(It will suffice if I have a web browser and a basic contact list application, without syncing.)
Click to expand...
Click to collapse
Yes, it works fine if you don't flash the 'defanged' update image first.
unfnknblvbl said:
Yes, it works fine if you don't flash the 'defanged' update image first.
Click to expand...
Click to collapse
But it wouldn't erase the whole system partition, so there could still be some files left.
Now that I realised I can flash images from recovery even without engineering SPL, it seems a safer and cleaner way.
Also, I like to have a second ext2 partition on SD card that is only accessible from a computer, and I wasn't able to do this with CyanogenMod, which instantly filled it with apps2sd data, swap files etc...
kguciek said:
But it wouldn't erase the whole system partition, so there could still be some files left.
Click to expand...
Click to collapse
No, that's why you wipe from recovery before installing.
unfnknblvbl said:
No, that's why you wipe from recovery before installing.
Click to expand...
Click to collapse
Actually wiping only erases the data partition, not the system one.
fastboot erase system -w
carz12 said:
fastboot erase system -w
Click to expand...
Click to collapse
Right, but it isn't possible for users with unmodified SPLs.
Actually, you can just flash a image of an empty yaffs filesystem to system partition (it's just a few blocks at most).

[G1/32B] PSFreedom (v3 08/10/2010, hermes v3 payload)

Hello, since there seems to be some confusion I decided to start this thread for the G1, 32B port.
For the 32A version click here: http://forum.xda-developers.com/showthread.php?p=8039074
Note that all the work on PSFreedom was done by KaKaRoTo, and he was helped by DrMon in the MSM72K port, i merely compiled their work and put it in a simple package for everyone to enjoy.
Note also that I cannot test my G1 builds myself, as I have only a Magic 32A, so please do a Nandroid backup before testing them for the first time.
I created 2 packages, an enabler and a disabler, that you have to flash over your working CM 6.0 Final installation.
Flashing the enabler will install the modded kernel and PSFreedom module. You will lose usb functionality completely (no adb, no mass storage etc.) until you flash the disabler.
After flashing the enabler the module will always start upon boot, you have to enter no commands on the terminal emulator.
[SIZE=+2]HOW TO:[/SIZE]
Preliminary: Make sure you are on CyanogenMod 6.0 Final and everything is working correctly. It has been reported that it works also with older CM6 versions and CM5 too, you may try if it works and report it in this thread. If it's the first time, do a Nandroid backup before testing!
Download these files: www.multiupload.com/23BTK9TRSW (G1-Enabler), www.megaupload.com/?d=KNC9MXW3 (G1-Disabler)
Put them on your SD card
Reboot into recovery and Flash Enable_PSFreedom_G1.zip
Reboot
Now psfreedom should be loaded as a module, you will see no difference, except for the loss of normal usb functions.
To run the exploit:
Make sure you are on 3.41 (DO NOT UPDATE OVER THE NETWORK!)
Connect the phone to the PS3 using usb
Turn it off completely (unplug power cable or turn off back switch on Fat models)
Plug it back in (turn on back switch)
Turn it on and immediately press the eject button (you should hear 3 quick beeps)
Booting should take a bit longer (5-10 seconds)
If you see two new options under the games tab, the exploit worked. You can now unplug the phone. Mind that you will have to do this procedure every time you boot your PS3.
If it doesn't work, try with another USB cable, it has been reported that the original data cable works best for this purpose.
To uninstall:
Boot back into recovery
Flash Disable_PSFreedom_G1.zip
Reboot
You should have usb functions back to normal.
Mirrors:
Code:
[STRIKE]Enabler: http://db.tt/XEKCdBi[/STRIKE] - Old version
Disabler: http://db.tt/QkpccHB
Code:
v0: initial release
v1: +module loaded on startup
+created disabler
v2: updated payload (peek & poke)
v3: resolved bootloop bug, updated PSFreedom, dynamic payload loading.
Payloads
There seems to be some confusion with payloads. Attached here you will find some working ones. Unfortunately i have yet to manage to make the <3.41 payloads working, so there aren't any for now. The default one is presently the psgroove 1.1 payload.
How to change a payload:
Download and extract one of the payloads
Put it in your SD card (it could be named anyway you like, but it is usually called payload, with no extension)
Copy it to /data/local/ , make sure it is named 'payload', without quotes and any extension. To do this you could:
use a root file system explorer, such as ES file explorer or Root explorer to copy the file to /data/local, make sure it is named payload (no extensions!) OR
Use a terminal emulator and type: cp /sdcard/payload /data/local/payload (change /sdcard/payload accordingly to how you named it)
Reboot phone
How to prepare your own payloads
Get your payload in binary format. I'm not going to cover this part thoroughly, because any distribution (PSgroove, psfreedom, aerialx, hermes) does it differently, plus you can usually find the precompile payload minutes after the source is released. It is usually named port1_config_descriptor.bin or default_payload.... something like that.
If it is not a psfreedom payload:
Open it in an hex editor
Strip the first few bytes so that it starts with 00 00 00 00 00 00 FA CE B0 03
Save and name it payload (no extension)
Test it with the guide above
have you done enable/disable packages also for the 32a?
here: http://forum.xda-developers.com/showthread.php?p=8038887
I have a HTC Dream with CM 6.0 but i need to install ebi1 to boot up else my phone freezes on the logo screen
PSfreedom zip does not allow my phone to boot up.
Is there a work around?
Phone:
Dream/CM6.0 needs EBI1 to run.
DREAM PVT 32B ENG S-OFF
HBOOT1.33.2005 DREA20000
RADIO 3.22.20.17
Try the 32A port, that should work.
I'm gonna try this on my touchpro with the android port see if it works with that.
Im having issues with 6.0.0 final ( cant recieve calls) Will this work with 5.0.8?
.kAroshi said:
Try the 32A port, that should work.
Click to expand...
Click to collapse
Success. Thanks to kAroshi for the enabler.
What's the problem of creating nandroid backup and then after flashing the required kernel and booting ps3, restoring the backup? I also have problems with this kernel flashed on my g1 (ie. wifi doesn't worik) but as soon as my ps3 is jailbroken I just restore nandroid backup.
No problem, it should just be faster using the disabler, and you won't have to backup every time.
Can anyone confirm that wifi isn't working with this release?
Hi
I have a 32b magic SFR, 6.0final cyano, then flashed the psfreedom zip update.
I did the terminal, it's ok.
When I boot the PS3 3.41, the boot animation froze, any idea ?
Cheers
TPLO
tplotplo said:
Hi
I have a 32b magic SFR, 6.0final cyano, then flashed the psfreedom zip update.
I did the terminal, it's ok.
When I boot the PS3 3.41, the boot animation froze, any idea ?
Cheers
TPLO
Click to expand...
Click to collapse
Do you fallow the ps3 boot instructions?
can you reup the G1-Disabler link, the link gives me "The file you are trying to access is temporarily unavailable."
and thanks for the work
Link works again now.
Need disabler, Link is dead. Can someone upload it for me?
Xoti said:
can you reup the G1-Disabler link, the link gives me "The file you are trying to access is temporarily unavailable."
and thanks for the work
Click to expand...
Click to collapse
Still not working for me. Btw, do you have to plugin the G1 everytime you want access to the extra menus? Or is this a one-time deal?
And can someone confirmed whether this worked or not to jailbreak your PS3 please? Thanks!
Stryder5 said:
Still not working for me. Btw, do you have to plugin the G1 everytime you want access to the extra menus? Or is this a one-time deal?
And can someone confirmed whether this worked or not to jailbreak your PS3 please? Thanks!
Click to expand...
Click to collapse
yes you have plug your phone in each time u want to hack the ps3 , and it does work , i tried it last night
my only question is . Is the files in here patched to play backups?
illusive817 said:
yes you have plug your phone in each time u want to hack the ps3 , and it does work , i tried it last night
my only question is . Is the files in here patched to play backups?
Click to expand...
Click to collapse
Thanks! And according to OP, it should be:
.kAroshi said:
This version of PSFreedom is enabled for backups, but backup manager talk should not be done on this thread, there are other boards for that.
Click to expand...
Click to collapse
Yeah please mirror the link OP.
Its still not working for alot of people heh.

[32A - OLD RADIO] PSFreedom (v3 15/09/2010)

Hello, since there seems to be some confusion I decided to start this thread for the 32A port.
The G1 / Magic 32B thread is here: http://forum.xda-developers.com/showthread.php?t=776922
Note that all the work on PSFreedom was done by KaKaRoTo, and he was helped by DrMon in the MSM72K port, i merely compiled their work and put it in a simple package for everyone to enjoy.
I created 2 packages, an enabler and a disabler, that you have to flash over your working CM 6.0 Final installation.
Flashing the enabler will install the modded kernel and PSFreedom module. You will lose usb functionality completely (no adb, no mass storage etc.) until you flash the disabler.
After flashing the enabler the module will always start upon boot, you have to enter no commands on the terminal emulator.
[SIZE=+2]HOW TO:[/SIZE]
Preliminary: Make sure you are on CyanogenMod 6.0 Final and everything is working correctly. It has been reported that it works also with older CM6 versions and CM5 too, you may try if it works and report it in this thread. If it's the first time, do a Nandroid backup before testing!
Download these files: http://www.multiupload.com/MY1LOGZ6YP (32A-Enabler), www.megaupload.com/?d=3UU2L0UX (32A-Disabler)
Put them on your SD card
Reboot into recovery and Flash Enable_PSFreedom_32A.zip
Reboot
Now psfreedom should be loaded as a module, you will see no difference, except for the loss of normal usb functions.
To run the exploit:
Make sure you are on 3.41 (DO NOT UPDATE OVER THE NETWORK!)
Connect the phone to the PS3 using usb
Turn it off completely (unplug power cable or turn off back switch on Fat models)
Plug it back in (turn on back switch)
Turn it on and immediately press the eject button (you should hear 3 quick beeps)
Booting should take a bit longer (5-10 seconds)
If you see two new options under the games tab, the exploit worked. You can now unplug the phone. Mind that you will have to do this procedure every time you boot your PS3. Try using another USB cable if it doesn't work with a few tries.
To uninstall:
Boot back into recovery
Flash Disable_PSFreedom_G1.zip
Reboot
You should have usb functions back to normal.
Payloads:
This version of PSFreedom contains the new PSGroove 1.1 payload (peek & poke)and is enabled for backups, but backup manager talk should not be done on this thread, there are other boards for that.
If you want to try other payloads (F.I. the new AerialX's apploader), you just have to load it into /proc/psfreedom/payload . You can do it by typing:
Code:
cat payload > /proc/psfreedom/payload
The payload can be wherever you want and has to be in the classic binary format. (just remember to substitute "payload" with the correct path).
Even better, if you put the new payload in the /data/local directory, named "payload" (no quotes), it will be automatically loaded upon startup, thus becoming the default payload.
Mirrors:
Code:
Enabler: http://depositfiles.com/en/files/o1qpcbkeo
http://www.zshare.net/download/80630364707ab8fe/
http://rapidshare.com/files/420315547/Enable_PSFreedom_32A_v3.zip
Disabler: http://www.zshare.net/download/801637791c6185b2/
Versions:
Code:
v0: initial release
v1: +module loaded on startup
+created disabler
v2: updated payload (peek & poke)
v3: resolved bootloop bug, updated PSFreedom, dynamic payload loading.
reserved (10 characters long)
Thanks for yours work!
What about an application to enable/disable psfreedom? Will it be possible in the future?
My Magic (32A) does just reboot over and over after flashing the enabler.......also after flashing the disabler........so now restoring (i ALWAYS back-up befor flashing anything!)
But thanks for trying!
radio version for cm6
one question, CM6 can be for New Radio, or just Old radio?
H3llSp4wN said:
one question, CM6 can be for New Radio, or just Old radio?
Click to expand...
Click to collapse
there's a port also for new radio showthread.php?t=723520
But there are some issues (like broken camera)
Old Radio, new radio requires a different kernel.
For the app, for now psfreedom requires a modded kernel, and it is not possible to switch them on the fly using an app. I know they're working on using a different driver, to avoid having to recompile the kernel. Still don't know if it can be done though.
Can anyone provide a mirror please?
cm6
i'm just a bit confused about what cm6 rom should be better and should i use, because there are severeal releases (minimou, redux etc).
can u give me a tip about this?
best regards
I always use the vanilla one, straight from the cyanogenMod forums. I think it should work with any of those versions though. Just make sure you're on old radio and you make a nandroid backup before trying.
got everything right now.
thanks for the mirror.
Got a question? Does the mt3gs use the msm72k also and why is it not on the port list? Sorry I'm probably in the wrong area but thought I would try
Hi , just have a question , looked arround with google , couldn't find my answer, maybe someone here knows,
Before trying this out, I would like to know if I can revert my ps3 to original state,
or to how it was before running psgroove?
yes as the exploit must be ran on every boot so simply reboot and delete bxxm
H3llSp4wN said:
i'm just a bit confused about what cm6 rom should be better and should i use, because there are severeal releases (minimou, redux etc).
can u give me a tip about this?
best regards
Click to expand...
Click to collapse
i use redux and it works for me (i still use the release that u have to do thru the terminal)
focus400hp said:
Got a question? Does the mt3gs use the msm72k also and why is it not on the port list? Sorry I'm probably in the wrong area but thought I would try
Click to expand...
Click to collapse
MT3G is 32B, so head off to the Dream section and get that one instead.
with cm6 my g1 go in loop... why?
Hey guys, I'm running into a little trouble after installing the PSFreedom enabler. My htc magic 32a (3.5mm jacket) just sits on the "HTC Magic" screen for eternity after flashing PSfreedom. I do have CM 6.0 installed, I believe its from Cyanogenmod 6.0 S/D version, I don't know what ebi I am nor if need to do something with kernel, but I just know I go into recovery, flash PSfreedom enabler, reboot, the "htc magic" logo shows up and then it sits there forever...Is there something I'm doing wrong?
@ repukken, rock187. You should use the 32B port. The link is in the first post.
Lollipop_Lawlipop said:
MT3G is 32B, so head off to the Dream section and get that one instead.
Click to expand...
Click to collapse
its mt3g slide i believe its different though i did use the precompiled for the dream 32b on a g1 yesterday and works very well and with no probs at all still want to see something for the slide. i asked in the slide forums and everyone just had s*** to talk really

How to Port a ROM to Milestone2

As lately some people are asking me about ROM porting I decided to create this new thread where we can share knowledge about this hard task.
Please note this is a Dev talk thread, so DON'T ASK about fixing a particular ROM problem here. Also don't ask questions like "My phone is bricked! please help!". This IS NOT the appropriate place for it. There are plenty of other threads to help you out.
Also note that this is not a step by step guide (and not a guide at all), it's just a point where you can start from. Android is a very complex system and there are many things I don't know yet. So, research and hard work is what you need to learn it deeply. My first tip is Google really works. Don't be afraid to search
Ok, to the basics. Porting a ROM is no simple task. It requires advanced understanding of how android works and how it is organized. Previous Linux/Unix knowledge helps A LOT. As android is based on this O.S. there are many similarities between both. In fact many ppl consider android to be a kind of linux distro.
The very first task to port a ROM is finding a device which is compatible with your own. For example Defy/Milestone2. Then you are going to choose a ROM to port to your device.
As our devices (Milestone2) have a locked bootloader we now need to find a system image that have a compatible kernel with the ROM we are trying to port. This is mainly based on trial and test and takes a long time. You'll be ending flashing your phone several times with RSD Lite. You should learn how to use MotoAndroidDepacker and how to create a fixed SBF.
The basic procedure to try that:
1. Open original ROM update.zip and remove any files/commands that flashes boot/devtree/recovery/anything.
2. Install this new file on your phone via CW Recovery.
3. Boot into bootmenu and enable ADB so you can read logcat while phone boots.
4. Choose Boot/Normal. If your ROM uses 2nd-init you will need to place/edit/adapt bootscripts into bootmenu 2nd-init folder.
5. Check logcat for errors:
- If you're getting HAL errors you're going to need a new kernel;
- If you can start android without getting HAL errors but still getting errors and bootloop on android animation you should try to replace libs with appropriate original ones.
6. Once you are able to boot android you should test it's features to see what needs to be fixed.
This is what I have to say for now. The thread is now open for discussion.
At this week, motorola has just pushed the GB official update for Droid 2 and Droid 2 Global....
Can i try to port this new rom to milestone 2 and after a success boot, fix the radio..??
I was asking that, because some people has success on port CM7 to milestone 1, when it originally maked for droid 1...
tks a lot..!!
jorgebaruchi said:
At this week, motorola has just pushed the GB official update for Droid 2 and Droid 2 Global....
Can i try to port this new rom to milestone 2 and after a success boot, fix the radio..??
I was asking that, because some people has success on port CM7 to milestone 1, when it originally maked for droid 1...
tks a lot..!!
Click to expand...
Click to collapse
It may be possible, but you'll have a hard time fixing the baseband.
You may have to mod the init.rc scripts and find the right radio binaries (rild is one of them) and drivers.
Ask those ms1 people for help, if they are still with the same phone...
Sent from my Milestone 2 XDA App
I don't know if this will be relevant or not.
I wanted to know if to do any of this, having a Linux distro as OS a must or can I try my hands at it on a windows based machine. I mean I'm sure that a Linux distro will give certain advantages (as Android is based on UNIX/Linux) but can we get things to work a 100% on windows.
If yes, then will someone be kind enough to get give the list of all softwares etc. which will be required to do the job on Windows machine as well as a Linux machine.
I do know a few softwares but I'm not sure if I have an exhaustive list. I would like to learn and try and at least be able to modify in bits n pieces to begin with.
I apologize if this wasn't supposed to be asked in this thread.
The only thing i can get from SBF is a bunch of smg files.
But the only ones i can open are
preinstall.smg
CG39.smg
Is there a way to open/see the rest?
2)
Im trying to modify the CM7 rom, what boot does it use? 2nd-init or 2nd-boot?
i guess it is second-init. but not sure
thanks a lot for this !!!
WeeDv2 said:
The only thing i can get from SBF is a bunch of smg files.
But the only ones i can open are
preinstall.smg
CG39.smg
Is there a way to open/see the rest?
2)
Im trying to modify the CM7 rom, what boot does it use? 2nd-init or 2nd-boot?
Click to expand...
Click to collapse
SMG files are disk images of certain partitions of your flash memory.
You can only open CG39.smg and preinstall (CG66.smg) because they are the only images in ext3 format. The rest of images may be on ramdisk format or some proprietary format. For more details on partition codes take a look here:
http://and-developers.com/partitions:cdt
You may be able to open and see contents of other partitions but the only one that matters aside from system and preinstall is the boot partition (CG35.smg), which contains the init scripts we should mod in order to make they work with 2nd-init. Boot partition is in ramdrive format. More details here:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://elinux.org/Android_on_OMAP
It is easier to unpack boot image using Dsixda's Kitchen here:
http://forum.xda-developers.com/showthread.php?t=633246
Edit: To see what boot your CM7 uses just go inside /system/bootmenu/config and look for a file called default_bootmode.conf. That should be the boot method used. It's normally 2nd-init.
sahilarora911 said:
I don't know if this will be relevant or not.
I wanted to know if to do any of this, having a Linux distro as OS a must or can I try my hands at it on a windows based machine. I mean I'm sure that a Linux distro will give certain advantages (as Android is based on UNIX/Linux) but can we get things to work a 100% on windows.
If yes, then will someone be kind enough to get give the list of all softwares etc. which will be required to do the job on Windows machine as well as a Linux machine.
I do know a few softwares but I'm not sure if I have an exhaustive list. I would like to learn and try and at least be able to modify in bits n pieces to begin with.
I apologize if this wasn't supposed to be asked in this thread.
Click to expand...
Click to collapse
Don't worry, this is the right place
As for your question: yes you can work in windows if you like, but using at least a Linux VM is more productive. I don't have a full list of applications to give you, as different mods may require different tools, but I advice you to have at least:
- Notepad++ (essential for editing text files and keeping linux end-line format);
- dsixda's Android Kitchen (http://forum.xda-developers.com/showthread.php?t=633246)
- 7zip (or some other compress tool you like)
- Moded putty for ADB as working with windows command prompt really suck (http://forum.xda-developers.com/showthread.php?t=803225)
- Oracle Virtual Box (if you are going to use linux VM).
r2beta0 said:
SMG files are disk images of certain partitions of your flash memory.
You can only open CG39.smg and preinstall (CG66.smg) because they are the only images in ext3 format. The rest of images may be on ramdisk format or some proprietary format. For more details on partition codes take a look here:
http://and-developers.com/partitions:cdt
You may be able to open and see contents of other partitions but the only one that matters aside from system and preinstall is the boot partition (CG35.smg), which contains the init scripts we should mod in order to make they work with 2nd-init. Boot partition is in ramdrive format. More details here:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://elinux.org/Android_on_OMAP
It is easier to unpack boot image using Dsixda's Kitchen here:
http://forum.xda-developers.com/showthread.php?t=633246
Edit: To see what boot your CM7 uses just go inside /system/bootmenu/config and look for a file called default_bootmode.conf. That should be the boot method used. It's normally 2nd-init.
Click to expand...
Click to collapse
Thanks again r2beta
thanks r2beta0
- Notepad++ -- got it
- dsixda's Android Kitchen -- downloaded (need some link for a how-to on its usage)
- 7zip -- got it
- Moded putty for ADB -- got it
- Oracle Virtual Box -- can't install Linux on my system as this is a work machine
dunno if I can do without the last option.
sahilarora911 said:
thanks r2beta0
- Notepad++ -- got it
- dsixda's Android Kitchen -- downloaded (need some link for a how-to on its usage)
- 7zip -- got it
- Moded putty for ADB -- got it
- Oracle Virtual Box -- can't install Linux on my system as this is a work machine
dunno if I can do without the last option.
Click to expand...
Click to collapse
Oracle Virtual Box is an application that lets you run an operational system on a virtual machine, in other words, it doesn't install linux on your real computer. It's a very useful tool that I use everyday. Google for it and learn a bit, you won't be disappointed. About kitchen: the link I provided was download + guide. Read it again. If necessary read the full thread.
r2beta0 said:
Oracle Virtual Box is an application that lets you run an operational system on a virtual machine, in other words, it doesn't install linux on your real computer. It's a very useful tool that I use everyday. Google for it and learn a bit, you won't be disappointed. About kitchen: the link I provided was download + guide. Read it again. If necessary read the full thread.
Click to expand...
Click to collapse
I know a bit about virtual box but as I said I'm not allowed to have softwares not approved by the IT team to be present on the system. Though I can get away with small things like notepad++ and 7-zip, having virtual box on my system may raise some eye brows.
I'm trying to arrange an alternative system.
Me neither. I must do almost everything at home, and at this very moment I simply don't have any free time. I'm afraid you're not going to see me here very often anymore (maybe in a few months? a year? well, it might be a bit too late for milestone2...)
hi. Have a question, I want to remove baseband from a flashable zip (lets say, CM7 from Tezet) , is it posible? I dont know where to look for it (baseband). Thanks!!
Baseband is located in \system\etc\motorola\bp_nvm_default\
But don't remove it, just replace it with files from ROM, which have baseband you want.
---UFO--- said:
Baseband is located in \system\etc\motorola\bp_nvm_default\
But don't remove it, just replace it with files from ROM, which have baseband you want.
Click to expand...
Click to collapse
Ok thanks for the info.
Sent from my A953 using XDA
Hi All,
Just a quick question. I have ported Paranoid Android 2.10 to MS2 but the problem I am facing is that Reboot goes through Bootmenu and I have to choose reboot from Bootmenu again.
Any inputs?
Thanks in advance
Megalith27 said:
Hi All,
Just a quick question. I have ported Paranoid Android 2.10 to MS2 but the problem I am facing is that Reboot goes through Bootmenu and I have to choose reboot from Bootmenu again.
Any inputs?
Thanks in advance
Click to expand...
Click to collapse
I meant to get to it last night, but I was tired after work and fell asleep watch tv. Eventually, later tonight, I'll be uploading PA for MS2. Check my Defy PA thread in 12-14 hours cause I'm about to go to work and I'm not gonna feel like making a MS2 PA thread or updating my Bravo PA thread -- but the Defy Thread is always up to date when I put out new roms.
Also, I'm looking to get either a Defy or MS2 -- I've heard that there's 3G issues with AT&T users (which I am) with the MS2 -- Apparently the MS2 has different 3G frequencies than AT&T. Are there any AT&T MS2 users who are knowledgeable about that? While I can deal with no 3G, edge only, calls only -- I need to make sure I can at least do that before I commit to something.
I'd rather have the MS2 because I want a hw keyboard and I don't have the $300+ to try and get a Photon Q LTE from eBay (and I don't have to change up my repos if I get a MS2). If anyone here knows of a phone that's AT&T compatible, Defy code compatible, and has a keyboard, please let me know.
Thanks.
//Normally I'd post the latter half in the Q&A section, but ya'll don't have one so I'm just gonna piggyback
//My Bravo doesn't have a Q&A page either -- it needs one that's not my PM box...Don't PM me on how to root your phone and flash CM7 -- read one of the 5 guides on the first page of both General & Dev...:silly:
Ok devs need some help here.
I am trying to port a rom to our Milestone 2...but it bootloops on rom animation.
I tried to logcat it but I don't think it gets as far as adb server to detect the device.and just keeps saying "waiting for device"...so I end up with no logcat to diagnose the problem.
I can logcat my current working rom but only after the phone boots....am i missing something here? please, help
Any help is very much appretiated.
Thanks a lot in advance

Categories

Resources