I've been trying to build a ROM over on the US variant all day (T-Mobile) but I can't get the Cygwin Kitchen to work properly (its something with the updater-script that's causing an installation abort). I played with it for a while and figured out (or I'm assuming at least) that it's related to /tools/edify_defs folder needing the creation of the necessary "d2tmo" file to point out mounting points.
I've read over and over and over the template for creating the file, but I can't seem to figure out how to script the necessary file. I lack the experience. I've tried referencing the SGS2 template, as well as others, plus referencing the original updater-script to try and find the mount points, but I can't seem to get it.
There aren't very many of us on the US variant just yet, due to the small quantity release, so there aren't many people to reference for help.
Any help at all would be GREATLY appreciated...
uoY_redruM said:
I've been trying to build a ROM over on the US variant all day (T-Mobile) but I can't get the Cygwin Kitchen to work properly (its something with the updater-script that's causing an installation abort). I played with it for a while and figured out (or I'm assuming at least) that it's related to /tools/edify_defs folder needing the creation of the necessary "d2tmo" file to point out mounting points.
I've read over and over and over the template for creating the file, but I can't seem to figure out how to script the necessary file. I lack the experience. I've tried referencing the SGS2 template, as well as others, plus referencing the original updater-script to try and find the mount points, but I can't seem to get it.
There aren't very many of us on the US variant just yet, due to the small quantity release, so there aren't many people to reference for help.
Any help at all would be GREATLY appreciated...
Click to expand...
Click to collapse
Ok, we got all the proper mounting points now but we're getting no SIM card reading now.
Any suggestions?
Sent from my SGH-T999 using xda premium
Here is our progress if anyone could be so nice to give it a look over and see if you could lend a hand.
http://forum.xda-developers.com/showthread.php?t=1729966
hey, I'm in the process of trying to build for tmoUS too. using dsixda kitchen but keep getting stuck at the "extracting ROM", the process just doesn't seem to want to complete. any help?
Related
Hiya I am interested in compiling my own version of the android project from the latest sources for Hero but I am having a little bit of trouble, I have been attempting to follow this guide android.modaco.com/index.php?showtopic=301857&view=findpost&p=1179830 but it does not seem to make a lot of sense to me. For instance there is no .repo/local_manifest.xml file only a .repo/manifest.xml file and editing this as outlined gives me an error. Could somebody point me in the direction of a fairly noob friendly guide for this kind of stuff, thanks a lot.
Conb123
P.S Sorry about the dodgy link, newbie restrictions prevented me from formatting it properly
this should be in Q&A Section not development really. But im looking for this too! installed ubuntu using Wubi set up JDK,SDK testsign etc and repo but god knows how to do it all! I only want to port cyanogenROM
follow this: http://source.android.com/download
when you got everything synced you can basically type "make" and watch it compile for a while. i managed to do it with just above zero knowledge about compiling.
if you want the cyanogen sources try it with the according repo. i have zero idea about vendor overlays, as i needed to compile only the recovery (watched two hours of eclair compiling, then was told i need cupcake sources and can compile the recovery only...)
Yes I am aware of how to get sources and how to compile them, I am fairly well versed in linux. But I do not know how I can compile it into a usable rom for hero.
the result of the compiling are image files that can be flashed to the phone: system.img etc. you can extract them using unyaffs.
I ran the make command, but i really have no idea what to do from there. What is the end result of doing the first make command? Im fairly sure that it is not a single .img file you can flash onto your phone. You need to make a kernal if i am correct(anyone know how to do this?)
the result of the compiling is at least a system.img. if you compiled it correctly you can flash that to /system partition. further you need a boot.img, which also contains the kernel. the the rom-cooking howto in dev section how to create one, or just get one from a working rom.
fwiw, the .img files are in out/target/product/generic/ (although there probably is a device specific directory in there if you handled the vendor overlay correctly. <- this is just a guess, i have actually no idea).
Wanna link us to that how to thread? I cant seem to find a complete one with working links.
http://forum.xda-developers.com/showthread.php?t=551711
So, I've looked at every vendor tree that I can find. Not all of them are set up the same, but that appears to be taken care of via the .mk files. I really want to help some folks with an Eris vendor tree. Is there anyone out there who can and will explain a few things to me?
1) What proprietary files can we leave in the repo, if any? I've seen at least one repo that seems to have some proprietary binaries in it, but then uses the extract-files.sh to pull the rest. I just don't get where the line is. Maybe they don't either?
2) Why can't we put all of the proprietary files in the repo? If we're building the ROM, and we're just going to put them on the ROM and post it anyway...
(I get copyright issues, but posting them in the ROM and posting them in the repo seem to be pretty much the same to me. )
Thanks!
I would like to know the same thing.
I would also like to see a detailed "map" of the files in a "generic" rom
I have tried making sense of them by looking inside, but I am having a hard time telling if the files I am seeing are generic Android, device specific, or extra files someone threw in to customize the rom
I think a good start would be a list of the minimum files required to get Android running on a device along with a description of what each file (or at least each group of files) does.
Then maybe later add a description of the optional packages.
ROM chefs could then use that list as a starting place and add the specific information for the device they are cooking for.
Anyone know of a list like this or maybe one that is at least partially complete so that we wouldn't have to start from scratch?
Ok so i'm not a big linux user but can grasp the basics and solve most of my problems alone, this ones had me scratching my head for days though......
On every rom i've downloaded for this phone i've had major problems trying to mount my external partition to compensate for the lack of int memory, well after trying just about every script out there i began to think something else wasn't right, a little digging and a lot of log catting pointed me in the direction of /system/bin/e2fsck which well basically doesn't seem to be present in any of the roms i've downloaded.
A little more digging and I found out that simply copying this file wouldn't work and i'd need some other files too, namely /system/bin/mke2fs and tune2fs + the relevant lib files [ libext2_blkid.so, libext2_com_err.so, libext2_e2p.so, libext2_profile.so, libext2_uuid.so, libext2fs.so]
I looked in a cm7 rom zip from one of my other phones for the files and pushed them to my ace after wiping everything and doing a fresh install, I then ran a data2sd script and hey presto everything has moved to my sd-ext partition first time without any messing about.
So anyway as i said i'm not very linux savvy and have no idea what these files actually do so please can someone enlighten me and or explain why we don't have them in our roms in the first place??
Sent from my GT-S5830i using Tapatalk 2
You didn't require these files to complete the data2sdext process. That's why they weren't present
For now simply follow the instructions and use the provided file download from the link posted below
http://forum.xda-developers.com/showpost.php?p=48392009&postcount=1
I have personaly tested this method in full on My AT&T Samsung Galaxy S4 ZOOM SM-C105AUCUAMJ2 (4.2.2 Jelly Bean)
although it should be safe to use on any AT&T Samsung Galaxy S4 ZOOM running an android version prior to Kit-Kat
All Credit for this, "exellent completely safe", Root method goes to its creator k1mu
And please Know that it is only being shared with you via his explicit permission.
EDIT:
Q&A for [ROOT] Saferoot: Root for AT&T Galaxy S4 ZOOM SM-C105AUCUAMJ2_On 4.2.2 JB
Please if you are not on an AT&T Galaxy S4 ZOOM C-150a, Feel Free to Read
but Do not seek help,instruction, or any other type of advice by posting in this thread as it is hard enough to find information about a specific device when the said device does not have a dedicated forum. Thank You for your Understanding in this.
Instructions & Advice
If ?'s arise
and time allows I will add device specific instruction as well as any advice, Please bear with me. Same as above Q&A Link
Will this same method also work on the SM-C105AUCUAMJ2?
kbracing6 said:
Will this same method also work on the SM-C105AUCUAMJ2?
Click to expand...
Click to collapse
Most Definitely as this was the reason for my post
Hey @Phatboyj420, as far as converting a raw OTA file to Odin files, here's what I can tell you. The OTA file should be filename.cfg, i.e. a cfg file. Believe it or not, this can be manipulated like an archive (like zip or rar or tar) so open that cfg file in 7zip, WinRar, or whatever. You're going to want to extract the files like (I can't guarantee this a full list, just the ones I can remember) modem.bin, NON-HLOS.bin, boot.img, recovery.img, aboot.mbn, rpm.mbn, sbl1.mbn, sbl2.mbn, sbl3.mbn (you might not have all 3, idk), and tz.mbn. Again, there may be others you need, and/or not all the ones I just listed might be necessary, they're just the ones I remember dealing with before. Oh, you're going to need to make sure the system, cache, and persdata partitions are all packed into .img.ext4 files, idk if they're like that in the OTA cfg archive.
Here's where it gets even hazier for me. So, I know from personal experience that you can take any of these files (I'll just use recovery.img for this example). In a linux terminal (I use Ubuntu for convenience's sake, my laptop has windows and ubuntu partitions) run this command:
Code:
tar -H ustar -c recovery.img > recovery.tar
So that's how you can take any one of those files I mentioned last paragraph and pack it into an Odin-flashable tar. I'm still a n00b when it comes to the linux terminal, so I can't really say the syntax for packing more than one at once.
So I guess I haven't really given you the complete process, but hopefully this is at least a decent starting point. Honestly I consider myself a hobbyist at best, not an expert. muniz_ri, who Devo7v mentioned earlier, did all the heavy work in this regard so he can probably help you much more, I just didn't want to volunteer him for the job
thisisapoorusernamechoice said:
Hey @Phatboyj420, as far as converting a raw OTA file to Odin files, here's what I can tell you. The OTA file should be filename.cfg, i.e. a cfg file. Believe it or not, this can be manipulated like an archive (like zip or rar or tar) so open that cfg file in 7zip, WinRar, or whatever. You're going to want to extract the files like (I can't guarantee this a full list, just the ones I can remember) modem.bin, NON-HLOS.bin, boot.img, recovery.img, aboot.mbn, rpm.mbn, sbl1.mbn, sbl2.mbn, sbl3.mbn (you might not have all 3, idk), and tz.mbn. Again, there may be others you need, and/or not all the ones I just listed might be necessary, they're just the ones I remember dealing with before. Oh, you're going to need to make sure the system, cache, and persdata partitions are all packed into .img.ext4 files, idk if they're like that in the OTA cfg archive.
Here's where it gets even hazier for me. So, I know from personal experience that you can take any of these files (I'll just use recovery.img for this example). In a linux terminal (I use Ubuntu for convenience's sake, my laptop has windows and ubuntu partitions) run this command:
Code:
tar -H ustar -c recovery.img > recovery.tar
So that's how you can take any one of those files I mentioned last paragraph and pack it into an Odin-flashable tar. I'm still a n00b when it comes to the linux terminal, so I can't really say the syntax for packing more than one at once.
So I guess I haven't really given you the complete process, but hopefully this is at least a decent starting point. Honestly I consider myself a hobbyist at best, not an expert. muniz_ri, who Devo7v mentioned earlier, did all the heavy work in this regard so he can probably help you much more, I just didn't want to volunteer him for the job
Click to expand...
Click to collapse
Thanks My guy,
This definately gives me a good jumping off point.
The phone shipped with JB-4.2.2 and I think there has been an AT&T OTA for KK so it would have to be a complete Firmware so thats good news.
I'm working on several projects at once so I don't know exactly when I'll get to this but when I do the first thing will be to verify whether the .img's for data/system/cache are img.ext4 or not and if not how to produce correctly.
Also I don't have a Linux Dev setup yet I'm running Windows On a 2011 Dell XPS-17_L702x with an intel 2720 quad core. So from your post I take it Ubuntu would be your suggestion for Linux Distro. and should I make a separate Linux Partition and run from it, or run from a VM-Box inside of windows? Which do you think would be most efficient?
Now that I think of it I'm going to start a dedicated thread for development discussion for this specific device. If I start the thread in the Development section for the general S$-ZOOM but title it specifically for the " AT&T-C105a_ZOOM " do you think the mods would want to move it to the general Q&A section?
" I would hope that, as it would pertain directly to the development of the specific device they would see fit to leave it in the development section.
Sorry for the randomness of my thoughts but I will link you to the thread when I get around to starting on it.
For now I'm going to get back to work on the S4_Active for My daughters B-day I intend to have it Rooted and rommed out for her. When I get that done I'll make my way back to this Project, and start the dedicated thread.
Thanks again,
" I look forward to future collaboration as it seem we share a similar Hobie at the least ",
Phatboyj
Unfortunately for the few lonely SM-C105a users still hanging on out there this does not appear to be a completely effective root. I get this in dmesg: <3>[ 2130.920856] c0 Restricted changing UID. PID = 11580(su) PPID = 11575(sh)
capt_planit said:
Unfortunately for the few lonely SM-C105a users still hanging on out there this does not appear to be a completely effective root. I get this in dmesg: <3>[ 2130.920856] c0 Restricted changing UID. PID = 11580(su) PPID = 11575(sh)
Click to expand...
Click to collapse
What is your build # because this is a fully effective root method for the ATT SM-C105a running build# SM-C105AUCUAMJ2
Please elaborate on where your dmesg is coming from.
Is it from running Saferoot to obtain Root?
Or is it from some other function you are attempting after obtaining root?
@Phatboyj420 Great to see you here--when I'm sure your S4 Zoom is long gone. Yeah, that's my build and I should point out that I get that in dmesg only for certain operations in the system folder (trying to copy modules I think). No biggie, for day to day this method works fine. I'm more interested in whatever happened with that unbrick image you were trying to make from dd. Did you ever test it? Was it effective? My current efforts are focused on developing a reliable unbrick method for our phones. Rather than the complete image I think we may need to extract and flash the original bootloader in many cases. Can you provide any feedback on this?
capt_planit said:
@Phatboyj420 Great to see you here--when I'm sure your S4 Zoom is long gone. Yeah, that's my build and I should point out that I get that in dmesg only for certain operations in the system folder (trying to copy modules I think). No biggie, for day to day this method works fine. I'm more interested in whatever happened with that unbrick image you were trying to make from dd. Did you ever test it? Was it effective? My current efforts are focused on developing a reliable unbrick method for our phones. Rather than the complete image I think we may need to extract and flash the original bootloader in many cases. Can you provide any feedback on this?
Click to expand...
Click to collapse
@ capt_planit
while I have moved on from using my [email protected] S4-Zoom, I do still have it and the dd dumps of it the problem with providing said dumps publicly is that some "idiot would inevitably flash the complete dd.image to there phone giving them an exact clone of my phone explicitly the IMEI via EFS parition are my concerns.
That being said if I know that the dd.images were to be used in a proper manner, by say a knowledgeable Dev. I would gladly supply them to further /Kickoff Development,
It sounds as if we are of like mind but I found myself at a stand still and did not recieve any response from the plea in my Sig.
But rest assured if there is something I can do to assist I will.
as far as an unbrick.img for the Zoom c105a
I did make one but have had no reason to use it to know if it works or if the SD unbrick method even works for the Zoom like it does on the Galaxy S3 that the method was originally discovered on.
Even if it does work the SD-Unbrick method only gets you to a state where Download
mode works SO unless I am mistaken and you can access adb through Download Mode witch I'm pretty sure you cant, we would still be at a stand still as there is no stock firmware publicly available for our device " Ludacris I know " but true none the less.
Edit:
1 thing we need is the OTA update from JB to KitKat available for our device we need some one to extract it before updating then and only then might we be able to create an install-able firmware for our device.
if I'm not mistaken after you download the OTA update you should be able to find it in /cache/fota just zip the entire fota folder move it to your sd-card and make it available to me and we'll make it happen from there.
If you don't want to except the update just delete it at this point and reboot.
...
...
I think this user @awwar describes an inability to access download mode>here. In anycase, I think that thread would be a great place to post your unbrick. image. I think your dd image seems too small. But if you still have it, that is what @moomoo was asking for when he started that thread. I can't provide mine, except as separate img files. My understanding is that flashing an efs image won't provide a real IMEI. I think flashing some combination of boot, system, cache (I'm surprised this would be necessary) and recovery should get the operator some kind of system. But so far it doesn't seem to work that way. Your help getting some working phone flash would be greatly appreciated. I believe, BTW that the OTA is dead...
Hello,
I'm willing to try and build a custom rom, but I've been diving through the site for a few days and I still don't get it. I believe I do have the required background to do this: programming, linux, etc. and I have wide experience as a phone user, etc. It's just that either I'm not reading what I need or the way I want it. The problem, I believe, is that all I find are guides telling me to install this and those tools and then open this and that and voila! you got your rom. But they're not explaining WHAT exactly goes into those roms, or what is expected to go there, what's the purpose of those contents, etc., and I can't really catch with that. I feel at a loss and hate wasting my time turning around for nothing.
1. I don't understand the difference between a flashable rom and one that is meant to be installed through recovery, although I can see they're different. Do they both models contain the same kind of data? Is there any restriction to what one model can contain over the other one? If so, how would I convert from one to the other? But please, don't tell me to use this or that tool. I just need the theory behind it. Something of sorts like: "You need to extract this or that from this tarball, then mount this image, then the directory tree there goes in that directory over the other model of rom"
2. update-binary: Okay I guess this is run when installing from recovery, and this takes care of installing the rom, right?wrong?. Is this a per-rom thing, per-device thing? generic? If it's per-rom, how to generate it? do I need to compile something? Is there any generic source code that can be used as a start?
3. Although I have a basic understanding of how the Linux directory tree works, I know Android works on top of a heavily modified Linux. So can you explain briefly how the directory tree works? For instance, I believe /data/data is where Android apps install to, in /system/bin or xbin I can find busybox binaries/symlinks if present. /dev and /proc look the same as in Linux. I don't know about /sys. Also how are both rom models deployed to this tree? What is basically being copied?
4. If I were to compile a kernel, where do I find the Android kernel sources? or is it just a generic Linux kernel? where can i get a basic config for the device? Last time I checked my device hadn't /proc/config.gz but maybe I could get it from another rom with it enabled or something. What toolchain and where to get it? Oh and if you know of a native arm version of gcc or whatsnot, I'd prefer that. Setting up IDEs or toolchains is a nightmare. I don't like crosscompiling. But crosscompiling or not, a directory with all needed binaries without needing to set up system variables nor other stuff, would be amazing.
I surely have a lot more questions that I can't get from the back of my mind now, and I'll have yet more as you explain. But the point of my questions was mainly trying to explain the degree of the loss I'm at, so you can assist me better.
If it looks like a foolish petition, well, that's because I'm quite stubborn and can't catch things that don't go my way. I really need to understand the basics before I can move into actually doing something. I want to build a rom for the right reasons(to me). It's not just about packing a set of apps or themes with it, but about learning and doing other stuff like trying to fix things that are not supposed to work for the device in that Android version, etc.
If you can't help, congrats for reading through here anyways But any help is greatly appreciated :good:
oxiroxt said:
Hello,
I'm willing to try and build a custom rom, but I've been diving through the site for a few days and I still don't get it. I believe I do have the required background to do this: programming, linux, etc. and I have wide experience as a phone user, etc. It's just that either I'm not reading what I need or the way I want it. The problem, I believe, is that all I find are guides telling me to install this and those tools and then open this and that and voila! you got your rom. But they're not explaining WHAT exactly goes into those roms, or what is expected to go there, what's the purpose of those contents, etc., and I can't really catch with that. I feel at a loss and hate wasting my time turning around for nothing.
1. I don't understand the difference between a flashable rom and one that is meant to be installed through recovery, although I can see they're different. Do they both models contain the same kind of data? Is there any restriction to what one model can contain over the other one? If so, how would I convert from one to the other? But please, don't tell me to use this or that tool. I just need the theory behind it. Something of sorts like: "You need to extract this or that from this tarball, then mount this image, then the directory tree there goes in that directory over the other model of rom"
2. update-binary: Okay I guess this is run when installing from recovery, and this takes care of installing the rom, right?wrong?. Is this a per-rom thing, per-device thing? generic? If it's per-rom, how to generate it? do I need to compile something? Is there any generic source code that can be used as a start?
3. Although I have a basic understanding of how the Linux directory tree works, I know Android works on top of a heavily modified Linux. So can you explain briefly how the directory tree works? For instance, I believe /data/data is where Android apps install to, in /system/bin or xbin I can find busybox binaries/symlinks if present. /dev and /proc look the same as in Linux. I don't know about /sys. Also how are both rom models deployed to this tree? What is basically being copied?
4. If I were to compile a kernel, where do I find the Android kernel sources? or is it just a generic Linux kernel? where can i get a basic config for the device? Last time I checked my device hadn't /proc/config.gz but maybe I could get it from another rom with it enabled or something. What toolchain and where to get it? Oh and if you know of a native arm version of gcc or whatsnot, I'd prefer that. Setting up IDEs or toolchains is a nightmare. I don't like crosscompiling. But crosscompiling or not, a directory with all needed binaries without needing to set up system variables nor other stuff, would be amazing.
I surely have a lot more questions that I can't get from the back of my mind now, and I'll have yet more as you explain. But the point of my questions was mainly trying to explain the degree of the loss I'm at, so you can assist me better.
If it looks like a foolish petition, well, that's because I'm quite stubborn and can't catch things that don't go my way. I really need to understand the basics before I can move into actually doing something. I want to build a rom for the right reasons(to me). It's not just about packing a set of apps or themes with it, but about learning and doing other stuff like trying to fix things that are not supposed to work for the device in that Android version, etc.
If you can't help, congrats for reading through here anyways But any help is greatly appreciated :good:
Click to expand...
Click to collapse
I am not terribly knowledgeable about all of this, but I will take a crack at it. Others can feel free to correct me.
1. "Flashing" is usually done through the recovery from a zip with an update script inside. That script is in a language called "edify". Read more about Edify Here and Here.
The only other common way that I know of installing a ROM is through fastboot in the bootloader, but that is normally only used with official factory images. Also, I think Samsung ROMs are often flashed with a proprietary program called Odin.
2. I think that the update-binary is standard across all recent devices. I think it is just an interpreter for the Edify scripting language. Old versions of android used a somewhat different scripting language and required a different file. You can probably pull the binary out of another recent zip and use that. The main thing you have to worry about is the update script (instructions for what the zip does) and the folder structure of the zip.
3. I am not confident to explain much here, but the apps and their data are stored in different places. User apps are stored in /data/app with app data stored in /data/data, I think. System apps are installed in /system/app. There is more files stored on the "sdcard" partition which can be internal or external, depending on the device.
4. Kernel sources are usually provided in the source code from whatever repo you are using. Different ROMs use different bases. Here is some info about grabbing the AOSP kernel sources with git: http://source.android.com/source/building-kernels.html
Many of the more popular ROMS have specific build instructions on their individual github pages (Cyanogen, Paranoid Android, etc), so you might what to look at those, too. Also, depending on the individual devices, there might be proprietary binaries sourced from the device or hardware manufacturers for things like camera drivers, graphics chips, etc.
If you want a walk through of the basic build process google has a tutorial. The last time I checked there seemed to be some outdated info, but it might give you a general idea of the build process. http://source.android.com/source/initializing.html
Hopefully someone more knowledgeable can give you more info, but that is all I got
synesthete said:
I am not terribly knowledgeable about all of this, but I will take a crack at it. Others can feel free to correct me.
1. "Flashing" is usually done through the recovery from a zip with an update script inside. That script is in a language called "edify". Read more about Edify Here and Here.
The only other common way that I know of installing a ROM is through fastboot in the bootloader, but that is normally only used with official factory images. Also, I think Samsung ROMs are often flashed with a proprietary program called Odin.
2. I think that the update-binary is standard across all recent devices. I think it is just an interpreter for the Edify scripting language. Old versions of android used a somewhat different scripting language and required a different file. You can probably pull the binary out of another recent zip and use that. The main thing you have to worry about is the update script (instructions for what the zip does) and the folder structure of the zip.
3. I am not confident to explain much here, but the apps and their data are stored in different places. User apps are stored in /data/app with app data stored in /data/data, I think. System apps are installed in /system/app. There is more files stored on the "sdcard" partition which can be internal or external, depending on the device.
4. Kernel sources are usually provided in the source code from whatever repo you are using. Different ROMs use different bases. Here is some info about grabbing the AOSP kernel sources with git: http://source.android.com/source/building-kernels.html
Many of the more popular ROMS have specific build instructions on their individual github pages (Cyanogen, Paranoid Android, etc), so you might what to look at those, too. Also, depending on the individual devices, there might be proprietary binaries sourced from the device or hardware manufacturers for things like camera drivers, graphics chips, etc.
If you want a walk through of the basic build process google has a tutorial. The last time I checked there seemed to be some outdated info, but it might give you a general idea of the build process. http://source.android.com/source/initializing.html
Hopefully someone more knowledgeable can give you more info, but that is all I got
Click to expand...
Click to collapse
OMG Finally some light! THANK YOU, THANK YOU, THANK YOU for all the info. I didn't get much right now, I'll need to read through your post a few times before I get it all, haha. I'll be sure to check the links too. Thank you!