Good evening all,
I came across a post on here a while ago which asked about the ability to run Gingerbread on a Nexus 7 of 2012 and the response was basically, why? And, co pile it yourself.
So, I thought I'd give it a go, just to see what it does.
Previously I've only ever flashed custom ROMs and I've never downloaded AOSP before, but everyone starts somewhere.
My position at the moment is I've built Gingerbread from AOSP on my server but as I didn't choose Nexus 7 when building it (due to it not having an option to lunch Gingerbread) I opted for the generic build.
So, this built but as it's generic it seems to only be the system, no recovery or boot.img etc.
So, I looked around at guides, building a boot.img for your device in AOSP etc, kernel compilation, but due to my bizarre project, I can't find anything on how to downgrade or retrofit a new boot.img into an older version of Android. Or even how to compile an older boot.img against newer hardware. Even the guides talk about swapping one ROM for another and taking pieces out but they tend to be the same versions of Android.
So, I'm asking for advice really, where do I start?
Sent from my Nexus 4 using Tapatalk
Quick update (not that I've done much on it for a while).
I managed to get the older Gingerbread bootloader installed on my Nexus 7 2012, however I couldn't get further then that, not sure what I'm missing at the moment, potentially the kernel isn't compiled.
Related
I've been following the development of so-called ROMs for the Vibrant (and other SGS devices), but I have yet to see a single AOSP ROM. Even when Samsung released the original kernel sources for 2.1, there were no AOSP 2.1 ROMs. Why not? Is it because they don't know which BLOBs to pull for insertion or the proper vendor overlays?
Some developers have done great work with SGS kernels (especially supercurio and his Voodoo kernels ... eugene373's tend to always wipe the internal SD card unnecessarily ...). But, a kernel does not a ROM make ... therefore I ask, what is truly missing to build an AOSP ROM. I've gone through the sources, but I don't follow makefiles too well.
I know we have another month or so before Samsung is obligated to release their 2.2 kernel sources, but that should have no impact on 2.1 AOSP ROMs. Therefore, I ask "what is the hold up?" What is missing, and what might I contribute ...
Need 2.2 source code...
2.1 is a dead horse--why bother when 2.2/2.3 are out?
The reason to bother is to at least get AOSP running. Once its on 2.1, it'll be easier to get 2.2 AOSP running on it. But claiming 2.1 is a "dead horse" is the wrong path ... the real question still stands: after 9 months on the market their still are no AOSP ROMs.
MIUI
Now that vibrant 2.2 source is released ... we finally have a REAL AOSP port and my all time favorite from my old HD2 the MIUI.... so keep your heads up and wait for it to get finished.
Get a custom rom. There are so many good devs doing them don't waste your time on AOSP....... until they release the actual source code...... on April 22
sarim.ali said:
Now that vibrant 2.2 source is released ... we finally have a REAL AOSP port and my all time favorite from my old HD2 the MIUI.... so keep your heads up and wait for it to get finished.
Click to expand...
Click to collapse
Except, the 2.2 source for the Vibrant has not been released. The SGH-T959D that shows Froyo sources on Samsung's site is for the Canadian Fascinate, not the US T-Mobile Vibrant. Samsung has yet to release the 2.2 sources.
oka1 said:
Get a custom rom. There are so many good devs doing them don't waste your time on AOSP....... until they release the actual source code...... on April 22
Click to expand...
Click to collapse
Except the so-called "custom ROMs" are just modifications on the stock theme, a replacement kernel and a change of some of the supplied applications.
There is nothing close to a full "custom ROM" such as CyanogenMod or MIUI because we don't have Samsung's sources. What is passing for a "custom ROM" for the Vibrant are just repackaged files. It is akin to the "ROM cooking" that took place for the WinMo phones, not a truly ground-up build from source that is possible with Android.
EDT/Devs4Android has the MIUI build. From Source.
TW has a 2.2.1 in testing.
EDT has a 2.2.1 Beta released.
TW has a 2.3 AOSP in testing. From Source.
EDT has 2.2 AOSP in testing. From Source.
What you want is out there for you.
Watch the forums and reply when a call for Alpha testers is posted.
Hopefully it won't be long before you see a full TW/EDT/Devs4Android collaboration!
I think what the original poster is trying to ask (and I have the same question) is why were there never any real 2.1 AOSP, cyanogen5 for the vibrant. The source for 2.1 has been around for many months. Were some other proprietary bits missing, was the released source code such a mess that it was unbuildable, something else? With those questions in mind, why will things be any different when the 2.2 source comes out?
mattb3 said:
I think what the original poster is trying to ask (and I have the same question) is why were there never any real 2.1 AOSP, cyanogen5 for the vibrant. The source for 2.1 has been around for many months. Were some other proprietary bits missing, was the released source code such a mess that it was unbuildable, something else? With those questions in mind, why will things be any different when the 2.2 source comes out?
Click to expand...
Click to collapse
Yes, this is more towards what I was getting at. We do not have Samsung's kernel sources for 2.2. And, we do not have a Samsung provided vendor overlay.
When we receive these two pieces, then a true AOSP build will be possible. However, we do have the 2.1 kernel sources, so why wasn't a true AOSP build possible then? What was missing, and can we actually expect Samsung to release the overlay that's needed?
Actually, that's true. I know it was old but why didn't anyone build a 2.1 cyanogen or aosp rom? (Not to say its easy.)
Sent from my SGH-T959 using XDA App
A noob question, kindly can someone explain what is the vendor overlay stuff?
Many thanks!
Where have you been?
rpcameron said:
I've been following the development of so-called ROMs for the Vibrant (and other SGS devices), but I have yet to see a single AOSP ROM. Even when Samsung released the original kernel sources for 2.1, there were no AOSP 2.1 ROMs. Why not? Is it because they don't know which BLOBs to pull for insertion or the proper vendor overlays?
Some developers have done great work with SGS kernels (especially supercurio and his Voodoo kernels ... eugene373's tend to always wipe the internal SD card unnecessarily ...). But, a kernel does not a ROM make ... therefore I ask, what is truly missing to build an AOSP ROM. I've gone through the sources, but I don't follow makefiles too well.
I know we have another month or so before Samsung is obligated to release their 2.2 kernel sources, but that should have no impact on 2.1 AOSP ROMs. Therefore, I ask "what is the hold up?" What is missing, and what might I contribute ...
Click to expand...
Click to collapse
Dude theres been a true AOSP ROM for the Vibrant since like december and thats CM 6.1
Im running it now
rpcameron said:
I've been following the development of so-called ROMs for the Vibrant (and other SGS devices), but I have yet to see a single AOSP ROM. Even when Samsung released the original kernel sources for 2.1, there were no AOSP 2.1 ROMs. Why not? Is it because they don't know which BLOBs to pull for insertion or the proper vendor overlays?
Some developers have done great work with SGS kernels (especially supercurio and his Voodoo kernels ... eugene373's tend to always wipe the internal SD card unnecessarily ...). But, a kernel does not a ROM make ... therefore I ask, what is truly missing to build an AOSP ROM. I've gone through the sources, but I don't follow makefiles too well.
I know we have another month or so before Samsung is obligated to release their 2.2 kernel sources, but that should have no impact on 2.1 AOSP ROMs. Therefore, I ask "what is the hold up?" What is missing, and what might I contribute ...
Click to expand...
Click to collapse
For probably the same reason that many phones with non AOSP firmware running 1.5/1.6 did not bother with AOSP 1.5/1.6 when they were released around the time 2.1 source hit. Why bother developing at all for what is essentially an "out of date" OS.
The only people it seems who actively continue to develop for existing (as opposed to new) firmware are manufacturers and carriers. This stupidity should be left to the manufacturers who still do this.
One of the larger snags way back then (sits in his rocking chair on the porch) was a lack of understanding of the phones proprietary aspects and how to work around them. But we have a fairly clear understanding of Samsung's boot process now, and RFS can now easily be turned into a distant memory.
I would wager a guess that the apathy towards 2.1 will not repeat itself once we have 2.2 source widely available and the low level similarities between 2.2 and 2.3 should have Gingerbread being more than the experiment it currently is. It's been barely more than a week since Eugene's little present manifested and there are already proper and stable kernels available.
Keep in mind that the devs we do have, have done a phenomenal job of cleaning up, speeding up, and drastically enhancing our existing 2.2 release. And perhaps to the point where many will not really care, though I know many would still like to see CyanogenMod6/7 properly on this phone.
Master&Slave™ said:
Dude theres been a true AOSP ROM for the Vibrant since like december and thats CM 6.1
Im running it now
Click to expand...
Click to collapse
Um, that's not quite true. The CyanogenMod.com website lists 0 files available for download for either experimental or stable files. The CM6.1 you must be running is not a true CM build.
Also, CM is not AOSP, but rather AOSP with modifications.
phrozenflame said:
A noob question, kindly can someone explain what is the vendor overlay stuff?
Many thanks!
Click to expand...
Click to collapse
The vendor overlay tells the AOSP build system which proprietary files are needed from the device that are not available in source form. This includes things like GPS and video drivers, baseband firmware for wireless radios, &c.
hi everybody !
a month age i decided to compile a new rom for my Galaxy S absolutely from AOSP source ( branch 2.2.1_r1 ) after some compile-time problem and many painful steps to resolve ,eventually the rom successfully built and can boot it up flawlessly on emulator.
i create a nandroid backup of current rom and installed the compiled one. but i am facing new problem :
1- the phone successfully boots but after short while screen began
flicking several time and the phone go in deep sleep and never wakeup
( power button or menu button does not do any thing )
2- touch screen works only for some second that I can unlock the
phone
3- there is no network available
4- I have downloaded samsung opesource package for GT-I9000. it
contains a folder named 'platform' but when i merge these files to
AOSP , the compile process stops and fails again. if there any one can
help me which files from samsung source should i merge and how ? if
you now the answer and dont have spare time then some internet link or
online document is really useful .i have no problem studding and
reading and searching . reaching to target is my only hope .
I am really disappointed why there is not a good and complete step2step tutorial to compile an AOSP rom for galaxy s (GT-I9000) !!
such docs is available for phones like dell streak , desire , dream , magic , .... . i really want to to active these aspect on XDA forum and with help of all you ( mods and masters ) try to create such tutorial that any one in world can use to refer . i think XDA is the only reference on net to collect and create such help and document. please help me and leave PM or comment to agree ot disagree and from where can i start ?!! thank in advanced .
edit :
there is a google groups post that i send my question in Android-platform . if you prefer please join this group and active that post to ask any question related to 'galaxy s compile from source ' .
post located at http://groups.google.com/group/android-platform/browse_thread/thread/da5d6f18f3bd3c9b
I had hear about cyanogenmod earlier and even tried to install it once when I was a rank noob without much luck. In my recent explorations of kernels and cifs I found myself at the cm site. It seemed pretty organized and I thought it might be interesting to have another go at it. I followed the instructions and installed it and it worked flawlessly. I restored my apps from Titanium backup and I'm up and running. I did some research in our forum and that, combined with some of my own observations, makes me wonder about the relationship between CM and some of the other roms like Vegan Ginger (which I really like) I get the impression that some or even all of our roms here are derivatives of CM that have been tweaked further by our devs. Is this correct? What is the difference between Vegan Ginger for example and CM7? I'm really puzzled because the kernels and the basic look and feel seem very similar. Someone even remarked that all of our roms are derivatives of CM. I'd be interested to know some of the background and the pedigrees of the various roms and their relationship with CM.
Cyanogenmod is one of the more known and talented group of Android ROM developers, developing for many devices and being a large team of dedicated coders, artist, etc...
They have taken the stock AOSP code and have modified, enhanced and added features far beyond the stock code. Most ROMs you see that have these additions are because they are forked from Cyanogenmod's github and then edited to look like their own (different graphic images, different text wording, etc..).
CyanogenMod was also one of the only ROM devs that I know of that got a Cease & Desist letter from Google early on and created the separated config of installing the rom.zip and Gapps.zip (Rom image and Google Apps).
As for how Vegan-Ginger relates...
Project Moving to Gingerbread
January 12, 2011 14 Comments
Just a quick update for everyone so you know where we stand at this point. Because of all the issues I have had trying to reverse engineer fixes into VEGAn, we have decided to move away from the actual VEGA system image. We have decided to move the project to a MODIFIED CyanogenMod 7 (aka Gingerbread) ROM with “inspiration from VEGA”. This will allow us to not only fix issues more easily but our work would also directly benefit the CM7 camp as well. This would give also give everyone the choice of a completely stock gingerbread like ROM as well.
THERE IS NO ETA AS OF YET FOR A RELEASE. When there is one…. you all will be the first to know! Exciting Times Ahead.
-GoJimi
Extreme GingerNerd
Click to expand...
Click to collapse
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
shadowrelic said:
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
Click to expand...
Click to collapse
You are correct about the ROM, but ROMs also include the kernel (if it didn't, or no kernel was flashed separately, the device would not boot). Yes, other kernels can be flashed on your existing ROM, but it's not necessarily going to be compatible.
Sort of, but there's a lot more than that. See here and here. Later versions of Android will require newer drivers,etc. which the existing kernel won't provide (they'll be outdated). Back porting and additional coding is theoretically possible, but insanely difficult (many times). Even after this some things may still not work.
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
shadowrelic said:
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
Click to expand...
Click to collapse
For both your questions, the Nexus-line devices would be the way to go. They usually have everything working on new Android versions the soonest, and Google always releases their code, etc.
Hi
i can use linux kernel (zimage) to update android kernel if yes ,how ?
thnx
Just trying to understand the game here... previously I had a Sprint Galaxy Nexus and as I understood it the entire source for the image was available and thus the devs could do a full build roughly equivalent to what an OEM would do. On the other hand with a device like my Galaxy Tab 10.1 there were certain things that were always flaky (running non-OEM roms) and the devs claimed they just didn't have the real drivers to properly support the hardware.
So what is the actual deal with the DNA? To run something like 4.1.2 what would be the procedure to generate the image? Nevermind the unlock/s-off details of actually getting it on the phone, how would you go about getting the DNA-specific drivers from the stock image and combining that with the aosp mainline? Would this involve disassembly of the stock image? Or is there a way to somehow use binary modules directly from the stock image?
Bump
Sent from my ViperVivow
from what I understand the hardest thing to get aosp (i believe thats what you were referring to in the OP?) will be cracking the RIL
[email protected] said:
from what I understand the hardest thing to get aosp (i believe thats what you were referring to in the OP?) will be cracking the RIL
Click to expand...
Click to collapse
That's what I'm trying to figure out though, what is the actual process of doing this? I'm a Windows kernel dev, so in my world if I had one Windows machine up and running I could grab the binary .sys files and copy them into another similar OS (from Vista to Win7 perhaps) and things would just work. If I were moving between two imcompatible platforms (say from Windows to OpenBSD) then I'd have to disassemble the .sys to figure out what it actually does and then rewrite something functionally equivalent for BSD. I know nothing about Android development so I'm trying to understand how all this works here. We obviously have full stock image that includes all necessary drivers for the screen, radio, etc. And we also have generic, hardware independent aosp. So how do we combine the peanut butter and the chocolate to get the Reese's?
The issue is the RIL like has been stated. The problem is that HTC Sense uses a different telephony package than AOSP ROMs so the closed source ril.so and rild.so (radio interface layer and radio interface layer daemon object files) won't work with an AOSP ROM's telephony package (telephony.jar). There also may be some other hardware issues besides the radio like the camera that are different, but the radio is the biggest one.
Mazer
Sent from my rooted and debloated Droid DNA.
So in the past with other devices, how is this bridge crossed? Would a new telephony.jar be developed to interop with the existing ril/rild binaries? Or would the ril/rild binaries be reverse engineered and rewritten to be compatible with the existing telephony.jar?
HiBoost said:
So in the past with other devices, how is this bridge crossed? Would a new telephony.jar be developed to interop with the existing ril/rild binaries? Or would the ril/rild binaries be reverse engineered and rewritten to be compatible with the existing telephony.jar?
Click to expand...
Click to collapse
The telephony binaries would be decompiled and somewhat interpreted/understood and modified (usually involves a lot of guesswork and error log reading) recompiled then tested. If the build works then it is released. Usually there'll be two preliminary builds one that just has voice/text service, one with 3g, then one with 4g (all three working.) All three are completely separate and are huge milestones.
Mazer
Sent from my rooted and debloated Droid DNA.
Thanks for your responses!
HiBoost said:
Thanks for your responses!
Click to expand...
Click to collapse
Sure thing.
Sent from my rooted and debloated Droid DNA.
I have been doing some research on XDA and some other sites to see what would be required to put android 7.0 on a nexus one.
I know, that sounds crazy, but I wanted to challenge myself and try to do something I should do more often - android development.
I have been sifting through the other nexus one ports and the builds and ports for the 2 phones similar to the nexus one, the HTC HD2 and HTC desire.
So far, It seems some developers have been successful in getting android 6 working on the HD2 and desire. I figured I would try to do so on the nexus one, seeing as it has identical hardware in a lot of respects.
I am wondering if my approach is on target. To get this to work, I think I would need:
-custom hboot to allow for booting off sd card for OS (internal memory too small for android 7, even if slimmed down)
-custom partitioning of sd card
-custom rom built from android 7 and nexus one hardware drivers
-porting of linux kernel from HD2 to nexus one
-boatload of debugging
-compile rom and kernel into one zip installation package
Is there anything else I am missing? I apologize if I am using the wrong terminology, I have only been doing this for a few days (but have been rooting and installing roms for years).
I figured it was my turn to dig a bit deeper and try development myself.
If anyone has any input, I would be all ears. thanks a bunch!
mods: If this post is in the wrong thread (or you think it should be pushed to nexus one thread), feel free to push it anywhere that makes sense. thanks!
I did some more research and I think It will make most sense to port the 3.0.101 kernel from the HD2 and then build the rom
I am going to try android 4.4.4 rom with the 3.0.101 kernel to see how that goes first.
The main questions now:
-am I going to need a new version of TWRP for the new 3.0.101 kernel, or can I get away with TWRP 2.6.0.0 recovery?
-will I need to make a new version of blackrose / hboot because of android 6.0 / 7.0 / new kernel?
thanks for any input!