How do I port ROMs to 32A [Windows?] - myTouch 3G, Magic Android Development

Hey guys.
Is there any guide etc, that can show me how to port ROMs to 32A Magic using windows?
Thank you

WaterMan! said:
Hey guys.
Is there any guide etc, that can show me how to port ROMs to 32A Magic using windows?
Thank you
Click to expand...
Click to collapse
I think you'll be much better off using a Linux distribution for this sort of stuff. I have never looked into running perl scripts and the like in Windows but I dont imagine it is very enjoyable.
Run a virtual machine with Ubuntu or something.
The general process to port a 32B ROM --> 32A is to swap the 32b kernel for a 32a one. This also requires that you change the wlan.ko as it is tied to the specific kernel.
I recommend VirtualBox for a virtual machine - it is very simple to use and set up. Check out this article for a bit of a primer http://lifehacker.com/5204434/the-beginners-guide-to-creating-virtual-machines-with-virtualbox
Once you have Ubuntu (or w/e) set up...grab Amon_RAs port tools from here. You will also want to set up the android-sdk as well. There is a good guide on the android sdk download site. You dont need to worry about eclipse and stuff unless you are going to be a dev.
Basically, just download the sdk, unpack it, add the tools dir to your PATH and you are set.
From there you can download the update.zip I use for cyanogen ports, delete my packaged boot.img, grab a 32A kernel, get the ramdisk from a ROM you want to port and create a boot.img using the 32A kernel and the ramdisk. You will also need to replace the wlan.ko in /system/lib/modules to match the kernel you decide to use. Then, rezip everything, sign the existing zip file and flash away.
hope this helps and isnt super confusing.

bcrook said:
Run a virtual machine with Ubuntu or something.
Click to expand...
Click to collapse
or just format your comp and use ubuntu cus its the **** but ill have to agree it seems to be a headack with windows, far easier with linux

I am not getting Linux, windows has far to many things I need.
Guess I will stray away from that path then. Thanks anyways

Runnig a virtual machine is no risk. It runs ubuntu inside a window...like an application

bcrook said:
From there you can download the update.zip I use for cyanogen ports, delete my packaged boot.img, grab a 32A kernel, get the ramdisk from a ROM you want to port and create a boot.img using the 32A kernel and the ramdisk. You will also need to replace the wlan.ko in /system/lib/modules to match the kernel you decide to use. Then, rezip everything, sign the existing zip file and flash away.
Click to expand...
Click to collapse
Hi bcrook, thanks for the explanation. I have just a simple question: does it need to be the exact same kernel or can it vary (for example 2.6.27 vs 2.6.29 or TT vs gbo)?

edubarr said:
Hi bcrook, thanks for the explanation. I have just a simple question: does it need to be the exact same kernel or can it vary (for example 2.6.27 vs 2.6.29 or TT vs gbo)?
Click to expand...
Click to collapse
You can use any kernrl u want as long as it is 32a. The wlan.ko just has to match.

Alright! Thanks very much bcrook!!!

Perfect how to, thanks a lot!

Related

Dream Rom installed to magic without any change

Hi,
I mistakenly installed the PERSONAL version of theis rom
http://forum.xda-developers.com/showthread.php?t=546984
I did nothing to it and it works great. More by luck than judgement but I always thought you had to change the rom first
can you elaborate on the process and what was the configuration of your phone prior to that? were you on perfect SPL?
Erm..
I had hakura spl
I formatted sd card downloaded and installed if you tell me how to find the info on my phone I will post whatever you need
PVT32A Ship S-On H
HBOOT-1.33.0010 (SAPP10000)
CPLD-12
Radio-3.22.20.17
Jun 2 2009, 17:28:28
built number 2.53.707.2
info like this....
on a 32b board you can install dream roms. but not with working wifi + bluetooth
kingchris said:
on a 32b board you can install dream roms. but not with working wifi + bluetooth
Click to expand...
Click to collapse
It's actually very simple to fix that, you change one file in boot.img, init.trout.rc to init.sapphire.rc, and that's it. You can then use any Dream ROM you like. However it's a bit of a drag getting all the bits together you need to be able to extract and repack boot.img, and then recompress the update.zip and re-sign it afterwards. One of these days I'll write a batch file that does it for you.
Loccy said:
One of these days I'll write a batch file that does it for you.
Click to expand...
Click to collapse
Already done by Deicist : http://forum.xda-developers.com/showthread.php?t=547260
Scargoll.
Loccy said:
It's actually very simple to fix that, you change one file in boot.img, init.trout.rc to init.sapphire.rc, and that's it. You can then use any Dream ROM you like. However it's a bit of a drag getting all the bits together you need to be able to extract and repack boot.img, and then recompress the update.zip and re-sign it afterwards. One of these days I'll write a batch file that does it for you.
Click to expand...
Click to collapse
i know this, but in the first post he writes
"I did nothing to it and it works great."
ant that is only possible with a 32b board and non working wifi
Blue tooth doesnt work on and Hero rom I have tried so not difference there.
I guess as I hardly ever use wifi havent noticed it.
can anyone make for my a 32b version with personal version of theis rom.
thanks
sorry for bad english
eljuego
please
I installed on my 32b.
just no wifi or BT
has anyone tried the bat scripts to convert a dream rom?
does this actually work so wifi AND bluetooth both work because if that is the case thats kewl

Any guides on how to create/compile custom roms?

I am a linux user...
Anyone can share the howto or if there are any guides?
+1 bumping this thread
Second that...
http://www.koushikdutta.com/2009/08/build-configuration-for-t-mobile.html#links
He seems to have a script to compile the Kernel...
I don't know to what extent this would help us but it is a start. I dont quite know how the apps are installed on a new ROM....
It would be nice if someone can explain what is needed and what is optional in the kernel and some of the mods that other people are doing and how they integrate in the OS.
I see a lot of improvements in the new ROM's but no how-to on doing it your self. I thought that was the point of having open source OS.
I would quite like this as well =o)
Have made a bit of a start by following this:
http://source.android.com/download
Shows you how to get all the code and do a build.
I believe the next thing would be to pick the required files from the output folder of the build, dump the boot.img and replace the kernel with 32B or 32A one, add the Magic model config file (to ramdisk) and recreate the boot.img
Replace/Add any modules required like maybe wifi or bluetooth, then need to change the build.prop file and put it all in to update.zip and sign the file.
Haven't had time to test this out but seems kind of logical...maybe?
Hello!
I'm following the android.com tutorial, but I want to ask: how can I download the donut branch? There's no mention in the entire site about it... Also, the cyanomod's multitouch and so on, where does it come from? Is it made by himself or it's somewhere in the net?
Thanks
Learn how to use GIT to get the donut branch from here: http://android.git.kernel.org/
Proble is that it doesn't specify the donut project path
Is there a command to list all project paths? I can't seem to find it
L10nH34Rt said:
Proble is that it doesn't specify the donut project path
Is there a command to list all project paths? I can't seem to find it
Click to expand...
Click to collapse
Code:
git branch -a
in any local git directory
Ok, then so far I've downloaded the donut branch, and compiled too. What now?
1. how to create a ROM from the made files?
2. how to compile the kernel / how to replace the one created with the make command with the one I'm running on?
3. is there any option I can configure to fit my phone? (HTC Magic 32A)
4. how can I root my ROM?
thanks
there is this guide that i have found:
http://www.koushikdutta.com/2009/08/build-configuration-for-t-mobile.html
'make' finished with success but i can't find how to transform it into 'update.zip' file...
anyone?
It says that in the link you have posted yourself.

Porting Dream roms to the Magic

I'm sure I someone posted a script to automate this but I can't find it - so here goes with the question.
If I want to port a Dream rom to the Magic (32B), do I just replace the boot.img in the zip with one from a 32B rom, resign the update.zip and flash? Or is there more too it than that?
depends, most dream roms will work natively on the mt3g. a lot of the devs support it already, so you dont need to port at all.
Note that there are actually 2 different types of Magic:
- 32A has more RAM but requires a custom kernel and wireless LAN module
- 32B more or less completely compatible with most Dream ROMs
st0kes said:
I'm sure I someone posted a script to automate this but I can't find it - so here goes with the question.
If I want to port a Dream rom to the Magic (32B), do I just replace the boot.img in the zip with one from a 32B rom, resign the update.zip and flash? Or is there more too it than that?
Click to expand...
Click to collapse
Actually there's LESS to it than that.
You need to unpack the boot.img, and if there isn't already a init.sapphire.rc, copy init.trout.rc to make one, then repack the boot.img. (Granted, that's actually harder than substituting the boot.img in its entirety, but it's less of an actual change in terms of the ROM contents! )
I always do it manually but remember the script, I think it was by Deicist - search for his (or her?) posts.
But this is only for 32B - 32A won't work like that.
Loccy said:
Actually there's LESS to it than that.
You need to unpack the boot.img, and if there isn't already a init.sapphire.rc, copy init.trout.rc to make one, then repack the boot.img. (Granted, that's actually harder than substituting the boot.img in its entirety, but it's less of an actual change in terms of the ROM contents! )
I always do it manually but remember the script, I think it was by Deicist - search for his (or her?) posts.
But this is only for 32B - 32A won't work like that.
Click to expand...
Click to collapse
What do you then do for porting 32B to 32A ?
here's my script for porting dream->32b in Linux.
http://forum.xda-developers.com/showthread.php?t=547260
Doesn't do anything particularly clever, just automates the unpacking->replacing->repacking procedure.
Cheers for the replies guys.
I'll give it a whirl tonight. There are a few that look interesting, might start with Micro Hero 1.5 since a lot of people are raving about it.

Project: apk2

hi folks!
i'm not a developer but sometimes i do some scripting.Now i'm working on a project that called "APK2",and i think that could be useful!
Some months ago, I thought "why don't create a package manager and a package system to install real linux packages, and not just apps? I may want to install some command-line tools to run with terminal emulator" then I wrote this script, named apk2.sh, that installs some particular packages (I wrote another script to easily create this type of packages): he simply does the apt-like un-tar in /, but it installs a config directory too, to remove the installed packages.
It supports the preinst, postinst, prerm, postrm scripts too.
Tell me if it could be interesting, and I'll put it here.
If so, I need testers
If not, simply tell me, and I give up.
so could you be able to run like air crack through debian with this or?
olvap377 said:
so could you be able to run like air crack through debian with this or?
Click to expand...
Click to collapse
I could be able to run it on Android if someone can port all the libs to armv5e
I know, you have to do the porting in order to run it, but for example if there is the package for debian armv5 I think it should work if you take all the deps from the repo (may need some repacking, just to remove the CONTROL folder, and maybe to add the file needed to uninstall and various preinst, postinst etc. ).
And you don't need to run a debian or an ubuntu on Android, that's not really fast.
What do you think?
i think that this sounds really good and if it worked fully it would be a major addition to android development im hoping youll continue with this
olvap377 said:
i think that this sounds really good and if it worked fully it would be a major addition to android development im hoping youll continue with this
Click to expand...
Click to collapse
Thank you!
Any tester? I attach the scripts to now how apk2 works, just run it without any parameter, and it will show you
The other script it's simple to use, you just have to run it once to create in your home the basilar directory tree, you have to complete it and put the files in it, then you just have to put your preinst-postinst-prerm-postrm scripts in the ~/yourpackage/system/etc/apk2 directory, if you have some.
Then run the script again, insert the same package name, and here we are! The package is build! It's in the packagename directory in your home, in .apk2 and in .tar.gz, if you have to edit something do it on the tar.gz, and then change the extension in .apk2
PS: rename the files *.sh.txt into *.sh, because this forum doesn't allow .sh attachments...
xela92 said:
Thank you!
Any tester? I attach the scripts to now how apk2 works, just run it without any parameter, and it will show you
The other script it's simple to use, you just have to run it once to create in your home the basilar directory tree, you have to complete it and put the files in it, then you just have to put your preinst-postinst-prerm-postrm scripts in the ~/yourpackage/system/etc/apk2 directory, if you have some.
Then run the script again, insert the same package name, and here we are! The package is build! It's in the packagename directory in your home, in .apk2 and in .tar.gz, if you have to edit something do it on the tar.gz, and then change the extension in .apk2
PS: rename the files *.sh.txt into *.sh, because this forum doesn't allow .sh attachments...
Click to expand...
Click to collapse
in non-linux speak (layman's terms), what could i do with this...my interest is peaked
what are some "real linux packages" that one might want
tnpapadakos said:
in non-linux speak (layman's terms), what could i do with this...my interest is peaked
what are some "real linux packages" that one might want
Click to expand...
Click to collapse
i.e., the one olvap377 mentioned: air crack (I think it's possible).
or, we can run every app that does not need X server.
I created some demo packages (containing 2 scripts), one is SwapTools, and lets you enable/disable swap with 2 simple cmds (swap-enable and swap-disable); at the first run it collects some info, like the swappiness and the swap partition, then it saves the conf in a file (using swap-disable with --remove-conf will remove the conf file).
Another one I created is remount: you can remount your /system partition rw or ro just by typing on a terminal emulator
Code:
remount rw
or
Code:
remount ro
But you can try to use other appz compiled for armv5 processors, like all the debian apps, except for the one with GUI (we run on framebuffer, no X server :/ )
PS: I attach the pkgs, I added the .zip extension, just rename it in pkgname.apk2
Honest question: Why reinvent the wheel? Other embedded Linux projects have used ipkg to good effect, or its close relative opkg (refs from same link) which is used by Openmoko. A port of this to Android systems which have uClibc should be nearly trivial.
xela92 said:
i.e., the one olvap377 mentioned: air crack (I think it's possible).
or, we can run every app that does not need X server.
I created some demo packages (containing 2 scripts), one is SwapTools, and lets you enable/disable swap with 2 simple cmds (swap-enable and swap-disable); at the first run it collects some info, like the swappiness and the swap partition, then it saves the conf in a file (using swap-disable with --remove-conf will remove the conf file).
Another one I created is remount: you can remount your /system partition rw or ro just by typing on a terminal emulator
Code:
remount rw
or
Code:
remount ro
But you can try to use other appz compiled for armv5 processors, like all the debian apps, except for the one with GUI (we run on framebuffer, no X server :/ )
PS: I attach the pkgs, I added the .zip extension, just rename it in pkgname.apk2
Click to expand...
Click to collapse
thanks dude
olearyp said:
Honest question: Why reinvent the wheel? Other embedded Linux projects have used ipkg to good effect, or its close relative opkg (refs from same link) which is used by Openmoko. A port of this to Android systems which have uClibc should be nearly trivial.
Click to expand...
Click to collapse
I have also an Openmoko phone
I know very well ipkg/opkg, it could be interesting a porting, but I thought it was better to create a little lighter script to do it, because 1. a script that uses sh is usable in every system, you can either to install armv5e pkgs, or any armv* pkg, you have just to change some little things; 2. I don't know how to port, and I'm not able to do programming.
If you are interested and know how to do a porting, it could be very useful, because opkg has really lots of functions...
I just did what I could
xela92 said:
I have also an Openmoko phone
I know very well ipkg/opkg, it could be interesting a porting, but I thought it was better to create a little lighter script to do it, because 1. a script that uses sh is usable in every system, you can either to install armv5e pkgs, or any armv* pkg, you have just to change some little things; 2. I don't know how to port, and I'm not able to do programming.
If you are interested and know how to do a porting, it could be very useful, because opkg has really lots of functions...
I just did what I could
Click to expand...
Click to collapse
Ahh, okay, I see what you mean. Fair enough; I haven't seen your work so far, I was just concerned you were doing unneeded work. 'Course sometimes it's good to do that for the learning experience.
I don't have a full build setup for Android, so I can't recompile (I do have a full build setup for building Optware packages, but that's not quite the same), but I believe most custom ROMs ship uClibc. I'm not familiar enough with uClibc to know if you need to build against an exact version, though you could copy opkg from your Openmoko phone for the heck of it and see if it runs
olearyp said:
Ahh, okay, I see what you mean. Fair enough; I haven't seen your work so far, I was just concerned you were doing unneeded work. 'Course sometimes it's good to do that for the learning experience.
I don't have a full build setup for Android, so I can't recompile (I do have a full build setup for building Optware packages, but that's not quite the same), but I believe most custom ROMs ship uClibc. I'm not familiar enough with uClibc to know if you need to build against an exact version, though you could copy opkg from your Openmoko phone for the heck of it and see if it runs
Click to expand...
Click to collapse
Ya mean, copy the binary??? If so, it won't work of course, because the architecture of the openmoko processor is armv4t, it wouldn't see my binary
Nethertheless, if someone is interested
PS: please, could someone test my scripts? Thank you dudes
xela92 said:
Ya mean, copy the binary??? If so, it won't work of course, because the architecture of the openmoko processor is armv4t, it wouldn't see my binary
Nethertheless, if someone is interested
PS: please, could someone test my scripts? Thank you dudes
Click to expand...
Click to collapse
Heh, oh, older ARM core. Not paying attention. I will now stop hijacking your thread
olearyp said:
Heh, oh, older ARM core. Not paying attention. I will now stop hijacking your thread
Click to expand...
Click to collapse
No problem, man
No testers?
Please give me a feedback. If u want, I can make some apk2 by debs for armv5... Then I accept hints like "howto manage dependencies", 'cause I've no ideas...
"Tester"
xela92 said:
Please give me a feedback. If u want, I can make some apk2 by debs for armv5... Then I accept hints like "howto manage dependencies", 'cause I've no ideas...
Click to expand...
Click to collapse
Hi I have and HTC Hero from Sprint, I'm not a linux power user but I spent lots of time in my computer running Ubuntu just for 2 big reasons 1 freeware and 2 it has the best an simplest packet manager... I love deb files that installs like any .exe win programs I love that! I'm son not a coder and have little to no skills under Linux shell I use my sudo nautilus commands and so because I need it but I hate to untar or tar gz crap... for me that it old and useless some linux power user may get offended by that comment but hi times changes we love GUI... if you manage to post prints screens or a word open office or PDF documentation dummy proof I'm very up to be a Happy tester... the other thing I'm a Digital Graphic Designer if you need some design for a GUI and can try to help you in making and eye candy app...
Here it the way I will love to see grow this project... finding a way to installed it as an apk file like others in the android market so users can install the app easy then...in top of that a simple GUI to browse to the SD card in order to get the apk2 file... you where talking about not being able to run programs that has GUI that it is sad but still interesting but a lot of work to do without a good community because that means that all GUI may need to be re-design to the different resolution on the phones and be touch friendly...
I'm not sure if I'm helping at all but I love the big picture behind your project...
I'm porting opkg on Android, but i'm can't tell that's a trivial task )))
i also wrote simple howto "building and porting linux apps for android from scratch", but on russian. If needed i can do some translating and put here too.
Also may be we can open project for buildroot-like framework for android and opkg's repository. In my how-to i'm use crosstool-ng + gcc + uClibc.
XVilka said:
I'm porting opkg on Android, but i'm can't tell that's a trivial task )))
i also wrote simple howto "building and porting linux apps for android from scratch", but on russian. If needed i can do some translating and put here too.
Also may be we can open project for buildroot-like framework for android and opkg's repository. In my how-to i'm use crosstool-ng + gcc + uClibc.
Click to expand...
Click to collapse
Wow! Please do some translating!
But, when you finish the porting, how will you manage to port the packages?
Will you use the debian pkgs changing the extension? Would it work?
Thanks a lot!
No, we want to create only android repository of packages, based on opkg (ipkg)
for arm, mips and others platfofms.

[HOWTO] porting a ROM for old radio to work with new radio

I would love to help the community by using your kernel for the newer radios to port any roms for the older radio... is there any help you can give me? should i use your boot.img from the test-donut.img/test-eclair.img?
Click to expand...
Click to collapse
first, a thing we must know for porting job is what boot.img included.
here: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
the ramdisk do some initializing jobs, so if we port a ROM, we should ensure that the content in ramdisk and files which are included in ramdisk (like init.rc), have necessary things the ROM needed.
for the first step, we can just extract the boot.img from the ROM, and extract the ramdisk from the boot.img which extracted just now, then repack it with my kernel (you can extract the kernel from my boot.img with same tools).
(to execute the perl script in link above, you need linux or just cygwin. )
but if we are sure that the ROM we want to port have nothing special with ramdisk, just like common ROMs, we can use my boot.img files directly. for eclair ROM, I suggest you extract the boot.img from my ROM, and don't use the first boot.img (test-NOCDB.img) I had posted.
after this, make our update.zip (use other's ROM as an example, especially the update-script in META-INF directory). sign our zip with testkey and apply it, then we can make our phone booting into desktop.
(you can find information about sign and download tools here: http://forum.xda-developers.com/showthread.php?t=471586, though the thread is not talk about how to sign things)
the main troubles we may meet probably are symlinks and setperm* in the update-script. if there is already a file/link has a name we want to symlink to, or if there isn't a file we want to symlink from or setperm, we will fail. so check the files carefully.
the next step is make everything work properly. we can use file from a ROM which made for new radio (and work well of course) to replace the one in the ROM we are porting. we can find these files in my 2.x ROM for eclair, or other's 1.6 ROM for donut (and for new radio, since the maker of them tested them already).
the most important files are (to my knowledge):
system/lib/libhtc_acoustic.so
system/lib/libhtc_ril.so (if something wrong with mobile network)
system/lib/libcamera.so
system/lib/libcameraservice.so
system/lib/liboemcamera.so (for 2.x) or system/lib/libqcamera.so (for 1.6)
system/lib/libgps.so
system/bin/akmd
(are there something I missed?)
(if we want to use NCommander's work on CameraHardwareInterface with a 2.x ROM, we should use my kernel for DONUT instead. I didn't try it, and I don't recommend it.)
these files are some thing work with hardware partially, so different radio may need different files. but if something just work fine, don't hurry to replace the file for it.
and now...., I don't have more thing to talk about, since we have most things work well. but for further tweaks, there are lots of things to do.
everyone can post your question here. if I know the answer I will post it. if I don't or I am not online, I think others will response you. and if there are things I missed or made some mistake, plz point it out
I will update this post when we collection more info or correct something. I find that I don't organized everything in order . I will update it later.
Thanks for the post... what's the difference between your eclair/donut kernel? (This is based on your original post about your kernel... is there an updated kernel somewhere i should know about?)
Edit
Nevermind i figured it out by reading your post more. carefully thanks for the detailed instructions
Thank you very much for this sanpei. This is the type of posts that really should be on this forum
Appreciated so much. waiting for your next updates.
Phil_McRevis said:
Nevermind i figured it out by reading your post more. carefully thanks for the detailed instructions
Click to expand...
Click to collapse
sorry for my poor ability of expression
asero said:
This is the type of posts that really should be on this forum
Click to expand...
Click to collapse
I expect more people can share their knowledge, and we can make a wiki for all
Hello!
I have to edit some lines of init.rc of your kernel. I've thus extracted the ramdisk, edited the file, repacked and tried booting with fastboot boot kernel-img ramdisk-img, but the phone hangs on the operator logo. I've tried even just extracting kernel+ramdisk and boot them - same result (the boot.img works well).
how can I fix it? Thanks
Wrong post

Categories

Resources