hy all
this is an project starter for android 3.4 kernel development for all msm7x30 mogami devices
sources are hosted on
https://github.com/freexperia/android_kernel_semc_msm7x30
br
J
Project Status
- we got initial branch after diffing lost of branches
M7630AABBQMLZA203029A
https://www.codeaurora.org/gitweb/q...it;h=4b2b84c6a0b6d29864e982a7aecc223acfd2eaa1
forked to our git and with mogami patches aplied
https://github.com/freexperia/android_kernel_semc_msm7x30/tree/M7630AABBQMLZA203029A
latest CAF tag for 7630 not usefull for now
https://www.codeaurora.org/xwiki/bin/QAEP/release
"November 16, 2012 M7630AABBQMLZA40701070 - msm7630 - M7630AABBQMLZA40701070.xml - 04.01.02" android 4.1
ETA
depending on problems and developers that will join
from 6 months to NEVER
This is a bold task. Perhaps you could look at the developments of irii-soft (and some others), they have replaced some crap Sony-specific code with generic wrappers. Main obstacle if I remember is memory maps now, there was an issue with partition maps but ATAG can be easily over-ridden via kernel command-line.
Getting it to boot should be trivial, sound and video will be difficult, and RIL may be never working due to lack of sources. Regardless, all the best. When I have more time I plan to help irii with his work on a "generic" 2.x kernel newer than what we have (because 3.x seems outrageous at this point).
Is there a wiki, a forum or something like that lists all the non-standard things that have already been found ? (some base of work to do)
Boudin said:
Is there a wiki, a forum or something like that lists all the non-standard things that have already been found ? (some base of work to do)
Click to expand...
Click to collapse
Easy to do yourself - download official SEMC kernel source and diff it with the same version of the linux baseline kernel. So to port to newer kernel you can isolate or "extract" the specific code that has been added and changed, and merge or "inject" that into a newer kernel. Easier said than done though, there are massive changes even in linux kernel revisions (0.0.x.0) - let alone alone new majors and minors (x.x.0.0).
There wouldn't be a wiki or anything of this research, because documenting it all would take an unrealistic amount of labor. Considering there are only a small handful of developers capable of it, there's no point. Besides, that's what GitHub and commit logs are for.
To FXP team,
I don't know if you know or not or even got this far in the development stage but I just wanted to point out a couple of things which may or may not help you...
So with the 3.4 kernel brings newer WiFi drivers which will give a better connection signal on wpa2 security but you might find that devices won't be able to connect to open security networks and WiFi hotspot will probably be broken. I'm posting this as on my gnex using custom kernel (FrancoFransico) he incorporated the 3.4 WiFi drivers a few times and broken hotspot and not being able to use open security WiFi networks were repeatedly reported problems.
I think it may be something hardware specific which allows these features to work on the 3.4 WiFi drivers specific to the nexus 4? You may have more luck trying the 3.0.xx WiFi drivers and getting those to work fully.
Best of luck to you guys!
Sent from my Galaxy Nexus
I'm pretty sure wifi is way down on the priority list, not to be rude but really - who cares about that now. Priority list would be like this:
(1) Get it to boot
(2) Fix primary/critical hardware-specific code for msm7k and qcom platform (display, audio)
(3) Fix RIL
(4) Fix secondary hardware (sensors, bluetooth, wifi)
One step at a time. Getting wifi will probably be trivial because bcm sources are part of the mainline kernel.
With that said, I'm unsubscribing from this thread now. There is massive work to be done and I can see this thread is just going to be filled with posts that have nothing to do with actual development.
All non-dev related posts, and especially "Thank You" posts, will be deleted without further notice. If I have to delete 5 pages of useless posts again, this thread will be locked.
Thank you!
We have tried for a long time already (as you may already know).
https://github.com/adridu59/semc-msm-3.4/commits/master
https://github.com/adridu59/semc-msm-2.6.35
https://github.com/adridu59/android-msm-2.6.35
https://github.com/ExPeacer/CAF_android-msm-3.0/commits/master
https://github.com/ExPeacer/CAF_android-msm-2.6.32
Have fun with it anyways.
adridu59 said:
We have tried for a long time already (as you may already know).
https://github.com/adridu59/semc-msm-3.4/commits/master
https://github.com/adridu59/semc-msm-2.6.35
https://github.com/adridu59/android-msm-2.6.35
https://github.com/ExPeacer/CAF_android-msm-3.0/commits/master
https://github.com/ExPeacer/CAF_android-msm-2.6.32
Have fun with it anyways.
Click to expand...
Click to collapse
Whats the progress so far on this? Bootable already?
CosmicDan said:
Easy to do yourself - download official SEMC kernel source and diff it with the same version of the linux baseline kernel. So to port to newer kernel you can isolate or "extract" the specific code that has been added and changed, and merge or "inject" that into a newer kernel. Easier said than done though, there are massive changes even in linux kernel revisions (0.0.x.0) - let alone alone new majors and minors (x.x.0.0).
There wouldn't be a wiki or anything of this research, because documenting it all would take an unrealistic amount of labor. Considering there are only a small handful of developers capable of it, there's no point. Besides, that's what GitHub and commit logs are for.
Click to expand...
Click to collapse
I was asked by some user of this forum to give some kernel porting guidelines in this thread, so let me introduce myself first. I'm the developer of 3.0.x kernel for Samsung Galaxy Spica (also several other projects for Spica and Galaxy Apollo/Galaxy 3) and currently also Linux kernel developer at Samsung Poland R&D Center. Porting the kernel for Spica was a difficult task, because of poor quality of original kernel code, which required rewriting from scratch most of it, but it was very educational.
It's not easy to give advice, but I'd say that taking all the differences from clean kernel and applying all of that on top of newer version is what should be avoided. Of course those differences should be collected to see what was changed by the manufacturer, but this should be only used for further analysis, not as a ready code.
Another thing, rather than using the mainline Linux kernel to compare your phone sources with, it should be better to use Android kernel from Google's kernel/common tree (see https://www.codeaurora.org/gitweb/quic/la/?p=kernel/common.git;a=summary for older version archive) bumped to the same minor version using minor patches (found on kernel.org) or, possibly even better way, by pulling appropriate version tag from kernel.org git on top of proper branch of Android kernel tree. This will elminate Google's changes (that would be already available in your new base - android-3.4 branch of kernel/common) from the diff.
For getting the diff, I would personally also use Git. If you create a branch in your working tree which contains Android kernel in the version corresponding to your device kernel (using the way I described in previous paragraph), then copying your device kernel sources onto your working tree (remember to make distclean both trees to remove any compiled/generated files) will allow you to see the differences using git status and git diff. (See http://gitimmersion.com/ if you want to learn more about Git.)
Now it's important to split the changes into logically separate parts, for example core changes in arch/arm/mach-whatever_suitable_for_your_device, adding of particular drivers in drivers/, sound/ and include/, modifications to core kernel code in any other directories. It's essential to check whether all the changes are really required or not and why, because minimalizing the set of changes required to be replayed on top of your new base kernel sources will simplify your work.
After collecting all the changes, it's the time to apply them on top of your new kernel sources. All the changes should be applied one by one, checking how much the component that is being touched has changed since your old kernel and adjusting the changes properly. After applying each change, it should be verified that the kernel at least compiles, although it would be even better if you could get the kernel without any (or almost any) modification to boot to some state, e.g. showing something on the console (any chance to get access to serial console on your device?), and then check if it still boots after applying each next change.
Some links that might be useful:
- Linux cross reference, for comfortable reading of kernel code - http://lxr.linux.no/+trees
- Linux Device Drivers, a book about kernel programming - http://lwn.net/Kernel/LDD3/
- Git Immersion, a great Git tutorial - http://gitimmersion.com/
- Android kernel/common repository with full archive - https://www.codeaurora.org/gitweb/quic/la/?p=kernel/common.git;a=summary
- Linux stable repository, with all version tags - http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
Hopefully what I wrote will be helpful in your project. Good luck and best regards.
Hey tom3q,
thanks a lot for leaving some useful statements here!
tom3q said:
Another thing, rather than using the mainline Linux kernel to compare your phone sources with, it should be better to use Android kernel from Google's kernel/common tree (see https://www.codeaurora.org/gitweb/quic/la/?p=kernel/common.git;a=summary for older version archive) bumped to the same minor version using minor patches (found on kernel.org) or, possibly even better way, by pulling appropriate version tag from kernel.org git on top of proper branch of Android kernel tree.
Click to expand...
Click to collapse
I digged for some base kernel for a while.
Found a chromium msm kernel 2.6.32.9 at codeaurora (i know this is not Android).
Anyway, the diff against stock was ~30MB... quite too much.
Like i assumed many basic things are missing as well, so too much to start from.
I guess, i'll step through the other projects... might try 2.6.32-rc8 from the msm tree... just for fun of course :angel:
tom3q said:
After applying each change, it should be verified that the kernel at least compiles, although it would be even better if you could get the kernel without any (or almost any) modification to boot to some state, e.g. showing something on the console (any chance to get access to serial console on your device?), and then check if it still boots after applying each next change.
Click to expand...
Click to collapse
Nice point... i like these hardware hacks and asked about testpoints for UART3 on the Pro mainboard a few days ago.
It's mentioned and so far i got it, initialized in stock kernel as well. Unfortunately no-one seems to know anything about these testpoints.
Anyway i don't want to spam this thread, so thanks for your attention
Regards,
scholbert
hy
scuse my ignorance
but
HOW do you compile an kernel ?
and maybe someone can explain what is the difference between bring-up and port
scholbert said:
Hey tom3q,
thanks a lot for leaving some useful statements here!
I digged for some base kernel for a while.
Found a chromium msm kernel 2.6.32.9 at codeaurora (i know this is not Android).
Anyway, the diff against stock was ~30MB... quite too much.
Like i assumed many basic things are missing as well, so too much to start from.
I guess, i'll step through the other projects... might try 2.6.32-rc8 from the msm tree... just for fun of course :angel:
Nice point... i like these hardware hacks and asked about testpoints for UART3 on the Pro mainboard a few days ago.
It's mentioned and so far i got it, initialized in stock kernel as well. Unfortunately no-one seems to know anything about these testpoints.
Anyway i don't want to spam this thread, so thanks for your attention
Regards,
scholbert
Click to expand...
Click to collapse
FXP said:
hy
scuse my ignorance
but
HOW do you compile an kernel ?
and maybe someone can explain what is the difference between bring-up and port
Click to expand...
Click to collapse
I would say that porting is moving and correcting sources from 2.6.32 kernel in our case into 3.x. And bring up is writing particular drivers from scratch?
Sent from my Nexus 7
voyteckst said:
I would say that porting is moving and correcting sources from 2.6.32 kernel in our case into 3.x. And bring up is writing particular drivers from scratch?
Sent from my Nexus 7
Click to expand...
Click to collapse
ok
nice explanation
look on first page
diff is 5mb on proper tag
pushed on github
nice to see so many developers trying to help
FXP said:
diff is 5mb on proper tag
pushed on github
Click to expand...
Click to collapse
Sorry to throw my 3 cents again, but seeing the repository on github, I'd recommend you to use some time to go through Git Immersion. Even if it takes some time, it will simplify your further work, as Git used properly can really make many things easier.
Otherwise, the diff itself looks mostly fine as a starting point, although some of the differences can be probably eliminated.
tom3q said:
Sorry to throw my 3 cents again, but seeing the repository on github, I'd recommend you to use some time to go through Git Immersion. Even if it takes some time, it will simplify your further work, as Git used properly can really make many things easier.
Otherwise, the diff itself looks mostly fine as a starting point, although some of the differences can be probably eliminated.
Click to expand...
Click to collapse
sony added too many changes to be usefull
since there are several api changes on 32->3.x diff is no good
we have to start from clean board-7x30 and populate devices porting drivers 1 by 1
we have to try an device bringup based on sony changes
Related
Obviously, I am going to be cleaning up some bugs with the CM7 build...
But, for those of you who might be inclined to develop a CM-based AOSP ROM, feel free to check out my github source to see what's involved:
https://github.com/Hashcode
Or you can:
repo init -u https://[email protected]/Hashcode/cm4D3.git
repo sync
To pull the entire set of android files that I use for compiling the current build.
Please note that the Board Config is currently setup to generate Safestrap .zip files.
Great job
Thank you for everything you have done for the droid 3!
Is there a kitchen for DROID 3 roms. Running windows 7
Sent from my DROID3 using xda premium
You need to be running Linux to do this hardcore kind of stuff.
Like Ubuntu I had it set up in VB and detain. Was just wondering if there was some thing for Motorola roms out there. I have had HTC phones this my first moto with android on it.
Sent from my DROID3 using xda premium
I'm starting to tinker with building (learning, actually) ROMs. I'm running Linux Mint Debian - has there been a kitchen built for D3?
Hashcode said:
repo init https://[email protected]/Hashcode/cm4D3.git
Click to expand...
Click to collapse
That should be
Code:
repo init -u git://github.com/Hashcode/cm4D3.git -b gingerbread
or whatever URL you want to use from the access URL box at https://github.com/Hashcode/cm4D3.
And of course "gingerbread" could be "ics" if your excitement about being on the bleeding edge overrides what should be a fairly sensible fear reaction to the term "bleeding edge".
@Hashcode: You don't use your own ALSA repos? (Comparing with my own generated manifest for your project...)
Also, are you planning on pulling newer Gingerbread manifest changes into your tree? I noticed CyanogenMod have gained a u8150 device tree, and I happen to have one of those, but your manifest doesn't list it...
Ooops. I have a u8510. >_< But the question stands...
TBBle said:
That should be
Code:
repo init -u git://github.com/Hashcode/cm4D3.git -b gingerbread
or whatever URL you want to use from the access URL box at https://github.com/Hashcode/cm4D3.
And of course "gingerbread" could be "ics" if your excitement about being on the bleeding edge overrides what should be a fairly sensible fear reaction to the term "bleeding edge".
@Hashcode: You don't use your own ALSA repos? (Comparing with my own generated manifest for your project...)
Also, are you planning on pulling newer Gingerbread manifest changes into your tree? I noticed CyanogenMod have gained a u8150 device tree, and I happen to have one of those, but your manifest doesn't list it...
Ooops. I have a u8510. >_< But the question stands...
Click to expand...
Click to collapse
Thank you for pointing out that my repo init line was wrong. I fixed it for those that were having issues.
Also, for those watching my manifest for ICS, I'm getting an error when syncing:
error: revision refs/heads/master in manifests not found
I'm trying to fix that. Correction: Fixed it and double-checked with a repo sync.
Some quick answers:
- I tried to customize the alsa source to fix some of the audio issues. But it ended up being a bit more complex than just changing ALSA. Motorola added a layer into the audio system for handling HDMI audio and in call audio volume.
When you build stock AOSP Gingerbread using the alsa drivers, the libaudio.so file ends up being all of the ALSA calls. If you examine the libaudio from the D3, you'll see that it is nothing of the sort. It's the customized mixer lib for RDS voice and HDMI audio. There's another lib from the phone: libaudio_ext.so which ends up being the alsa calls.
All of which made customizing just the alsa code risky at best as the further away from the version of alsa that was used on the phone, the less likely that the custom libaudio would work.
I probably still have the unfinished hardware_alsa git out on github, but it's not active in the current build.
- I can occasionally check for updates to the CM7 manifest and add them, or if you fork the manifest and add it in there that works as well.
Side Note: I may need to pick your brain on an EGL 0x0500 erorr I'm getting in the ICS code. I'm fairly certain it's an enum value that our version of the PowerVR drivers aren't set to handle, but I'd like to confirm that for my troubleshooting. And it seems that you might have some knowledge in that area
Where/how does someone begin working on building a ROM once they've downloaded these files? I'd rather dive into code and learn Android rather than using a menu driven wizard. Is there a tutorial somewhere? What tools are needed?
Sent from my DROID3 using XDA App
Phibernaut said:
Where/how does someone begin working on building a ROM once they've downloaded these files? I'd rather dive into code and learn Android rather than using a menu driven wizard. Is there a tutorial somewhere? What tools are needed?
Sent from my DROID3 using XDA App
Click to expand...
Click to collapse
This would be the starting point that you're looking for:
http://source.android.com/
Hashcode said:
Side Note: I may need to pick your brain on an EGL 0x0500 erorr I'm getting in the ICS code. I'm fairly certain it's an enum value that our version of the PowerVR drivers aren't set to handle, but I'd like to confirm that for my troubleshooting. And it seems that you might have some knowledge in that area
Click to expand...
Click to collapse
Some, but probably not enough. I'm happy to look, but I'm actually moving internationally tomorrow so I may not have 'net access for a week or so. >_< (That's why I've been trying so hard to get backup working. ^_^)
Once I'm settled in I will probably use fdisk to repartition my device or have a poke at hacking sd-ext support into safestrap, so I can start playing with custom ROMs.
Did you see my safestrap-ME863 nandroid patch in the Safestrap thread, BTW? It's got a couple of TODOs, but seems safe and roughly correct to me. http://forum.xda-developers.com/showpost.php?p=19683372&postcount=249
It could also form the basis for detecting when /preinstall can't be used as safe-system although I didn't look to see if there's already code to do that.
Does anyone know of a site where I can peek at reference code for random things (Apps, Kernal etc.)? It'll make it easier to understand how the code works. I haven't look at any code yet so I don't even know what language apps and the os are programmed in. (Java, C, C++, Ruby)
Sent from my D3-CM7-SS using xda premium
tenchi19134 said:
Does anyone know of a site where I can peek at reference code for random things (Apps, Kernal etc.)? It'll make it easier to understand how the code works. I haven't look at any code yet so I don't even know what language apps and the os are programmed in. (Java, C, C++, Ruby)
Click to expand...
Click to collapse
Just pull down the repo as Hashcode describes in this thread - you'll have all of the Android source. To the best of my knowledge, it comprises of mostly C, C++, and Java, but there is probably a smathering of some other things like ASM, perl, BASH, etc.
And to those who are asking if there is a kitchen, there is, it's called make
General informations:
This thread's aim is only to represent a central meeting and discussion point for BCM21553 developers and, in particular, for the open Kernel/ROM sources development for the Samsung Galaxy Pocket GT-S5300 (codenamed Cori).
Information for common users:
As already described in the previous section, if you are not a developer, please restrict your posts to the general discussion thread so that developers can maintain good communication. Every post that is not strictly respecting these rules will be reported to the forum moderators. Thanks for your understanding.
For any other BCM21553 device related question or information, please, use this thread as a reference point, instead:
[DEVS ONLY][BCM21553 series] CyanogenMod 11 for BCM21553 Development Discussion
As someone already might know, I'm streambinder, from MoltenMotherBoard team.
I have already followed some projects for the GT-S5300, but especially kept in contact
with some of the events related to the porting of ROM and Kernel sources for BCM21553 chipset based devices.
In this precise moment, the sources in my possession allow you to be able to compile
a bugfree CWM 5.0.2.8 (based on CyanogenMod 7 code) with a kernel based on the Samsung stock one.
The only - fundamental - problem was due to the fact that unless I hadn't used the prebuilt INIT binary
token in the Samsung stock firmware boot.img, the phone would not work - or, better, boot up.
This means that until the situation - regarding this issue - doesn't change, our access to the porting of custom ROM
would be barred.
Recently, I decided to give Cori another chance and rework my sources, looking at the wonderful work brought
by the BroadcomCM team on CyanogenMod 9 (in particular, thanks to @bieltv.3 and @Alberto96) and @psyke83 on CyanogenMod 11.
They've not only been able to run these two ROMs in a more or less crude way, but this developer has been able to write
the necessary strings to make the INIT binary of some of these BCM21553 devices opensource.
Strong of this informations, I readjusted some of the sources of BroadcomCM's CyangenMod 9, which includes
all the progress carried out by both the team and psyke83, in order to make them work even on Cori,
and am now next to the first test of the CWM 6.X.X.X, based on IceCreamSandwich code.
At the same time, @akhbh is working on the KitKat code based CWM.
I hope I can give more information about any progress as soon as possible.
The General Discussion thread for non-development issues is here:
*.[DISCUSSION] CyanogenMod 11 For Galaxy Pocket GT-S5300 Discussion Thread
Made a first test of CWM based on CyanogenMod 9 code.
It seems it cannot flash it as it weighs so much compared to its partition configuration value: in fact, the maximum boot partition size is set up to 5.0MB, but the compiled boot.img weighs 5.3MB.
Will have to resize its weight in order to make it fill into the partition.
@akhbh, have you had any complication in these terms, with CyanogenMod 11 sources?
@psyke83, what do you suggest to do? Do you think an increasement of boot partition would be a better idea?
streambinder said:
Made a first test of CWM based on CyanogenMod 9 code.
It seems it cannot flash it as it weighs so much compared to its partition configuration value: in fact, the maximum boot partition size is set up to 5.0MB, but the compiled boot.img weighs 5.3MB.
Will have to resize its weight in order to make it fill into the partition.
@akhbh, have you had any complication in these terms, with CyanogenMod 11 sources?
@psyke83, what do you suggest to do? Do you think an increasement of boot partition would be a better idea?
Click to expand...
Click to collapse
No, I didn't faced those complications. My boot.img weighted around 4.5 MB in lzma compression mode. In gzip, it increased to more than 5 mb.
akhbh said:
No, I didn't faced those complications. My boot.img weighted around 4.5 MB in lzma compression mode. In gzip, it increased to more than 5 mb.
Click to expand...
Click to collapse
Perfect.
Which kernel have you based your build on?
streambinder said:
Perfect.
Which kernel have you based your build on?
Click to expand...
Click to collapse
Well, I took the GeTux kernel for cori, had to change the board name though and then compile it. CWM was booting even before changing the board name but there was no reaction from the phone on trying to boot cm9/cm11
And after changing board name, a black screen on trying to boot
Another info: When tried to merge cori source into the bcm21553 common one, it did compile but gave bootloop of GT-S5300 logo on trying to boot as well as when trying to go in CWM.
Bieltv.3 recommended to use cori source instead of the bcm21553 common one so we used cori sources
akhbh said:
Well, I took the GeTux kernel for cori, had to change the board name though and then compile it. CWM was booting even before changing the board name but there was no reaction from the phone on trying to boot cm9/cm11
And after changing board name, a black screen on trying to boot
Another info: When tried to merge cori source into the bcm21553 common one, it did compile but gave bootloop of GT-S5300 logo on trying to boot as well as when trying to go in CWM.
Bieltv.3 recommended to use cori source instead of the bcm21553 common one so we used cori sources
Click to expand...
Click to collapse
I suggest to use our Kernel sources for now, too: it will automatically bypass few errors/issues/bootloops that we cannot now fight with.
The most important thing is to make INIT working from sources (hope it will be working
on my CM9 sources, too) and check that every our configuration is correctly working and
making Cori boot into recovery.
Once we'll make it perfectly working without any kind of issue, will be the right time to try
to make Cori supported with the BC21553-common kernel.
streambinder said:
I suggest to use our Kernel sources for now, too: it will automatically bypass few errors/issues/bootloops that we cannot now fight with.
The most important thing is to make INIT working from sources (hope it will be working
on my CM9 sources, too) and check that every our configuration is correctly working and
making Cori boot into recovery.
Once we'll make it perfectly working without any kind of issue, will be the right time to try
to make Cori supported with the BC21553-common kernel.
Click to expand...
Click to collapse
Okay, I will use your kernel sources and try if something is changed once I reach home. For now, I neither have this device nor a PC, as I'm in another city.
Will be keenly watching your work. Will start after reaching home around the end of September
akhbh said:
Okay, I will use your kernel sources and try if something is changed once I reach home. For now, I neither have this device nor a PC, as I'm in another city.
Will be keenly watching your work. Will start after reaching home around the end of September
Click to expand...
Click to collapse
No problem, mate.
Here you have every source in my possession:
platform_kernel_samsung_cori
platform_device_samsung_cori
Keep in contact with me, as I will need some informations by you.
Anyway I'm now making another build, keeping some not so much important binaries excluded, so that I can make the compiled boot.img fill into our little Cori's boot partition. I know it's a dirty workaround, but if it works, I'll use it untill @psyke83 will suggest me a better way to do.
streambinder said:
No problem, mate.
Here you have every source in my possession:
platform_kernel_samsung_cori | github.com
platform_device_samsung_cori
Keep in contact with me, as I will need some informations by you.
Anyway I'm now making another build, keeping some not so much important binaries excluded, so that I can make the compiled boot.img fill into our little Cori's boot partition. I know it's a dirty workaround, but if it works, I'll use it untill @psyke83 will suggest me a better way to do.
Click to expand...
Click to collapse
have u tried to build cwm v6 from cm9 source ??
cleverior.ipul said:
have u tried to build cwm v6 from cm9 source ??
Click to expand...
Click to collapse
Of course, mate. I'm working on it, right now.
It doesn't seem to boot, strange if the same INIT binary sources are working for @akhbh.
#UPDATE
In order to troubleshoot, I'll give you some info.
For his build I used these sources:
platform_kernel_samsung_cori
platform_device_samsung_cori
android_device_samsung_bcm21553-common
Applied some lines on our bcm21553-bootimg.mk, too, in order to exclude parted and mke2fs and make the compiled boot.img weigh less.
@cleverior.ipul, can you link me your kernel sources, as akhbh said he used your ones for CM11.
@akhbh, which modifies have you applied in order to compile CWM based on CM11 code? Which device tree?
#UPDATE 2
Attached my compiled boot.img.
If anyone of you would extract it (you can easily use this tool: bootimgtools - read how to use it in the README) and make a diff with the CM11 one (just extract the ramdisk of both boot.imgs and - in the terminal - use this command: diff -urN /path/to/cm9/ramdisk /path/to/cm11/ramdisk > diff.patch), would make to me a huge favour.
Let me know.
streambinder said:
Of course, mate. I'm working on it, right now.
It doesn't seem to boot, strange if the same INIT binary sources are working for @akhbh.
#UPDATE
In order to troubleshoot, I'll give you some info.
For his build I used these sources:
platform_kernel_samsung_cori
platform_device_samsung_cori
android_device_samsung_bcm21553-common
Applied some lines on our bcm21553-bootimg.mk, too, in order to exclude parted and mke2fs and make the compiled boot.img weigh less.
@cleverior.ipul, can you link me your kernel sources, as akhbh said he used your ones for CM11.
@akhbh, which modifies have you applied in order to compile CWM based on CM11 code? Which device tree?
#UPDATE 2
Attached my compiled boot.img.
If anyone of you would extract it (you can easily use this tool: bootimgtools - read how to use it in the README) and make a diff with the CM11 one (just extract the ramdisk of both boot.imgs and - in the terminal - use this command: diff -urN /path/to/cm9/ramdisk /path/to/cm11/ramdisk > diff.patch), would make to me a huge favour.
Let me know.
Click to expand...
Click to collapse
I think we didn't had significant changes. Perhaps the same as totoro. But, that resulted in the internal_sd not mounting error in cwm.
Sadly, as said before, I am away from my home city and can't provide the files to you and can't do the boot.img diffs as well
Try to ask psyke83, he might have a solution for that
akhbh said:
I think we didn't had significant changes. Perhaps the same as totoro. But, that resulted in the internal_sd not mounting error in cwm.
Sadly, as said before, I am away from my home city and can't provide the files to you and can't do the boot.img diffs as well
Try to ask psyke83, he might have a solution for that
Click to expand...
Click to collapse
Then, if you didn't make any massive change upon the sources, then I'll only try using your kernel.
Can you give me your kernel sources, mate, please?
streambinder said:
Then, if you didn't make any massive change upon the sources, then I'll only try using your kernel.
Can you give me your kernel sources, mate, please?
Click to expand...
Click to collapse
Currently, I can provide you the boot.img only. For the sources, @cleverior.ipul can provide the kernel sources coz as said earlier, his kernel is used. Well, we were working together to bring cm11 but weren't successful
akhbh said:
Currently, I can provide you the boot.img only. For the sources, @cleverior.ipul can provide the kernel sources.
Click to expand...
Click to collapse
Ok, please send it to me, will compare it with my package.
streambinder said:
Ok, please send it to me, will compare it with my package.
Click to expand...
Click to collapse
Here it is:
http://www.4shared.com/zip/1nKFbOJ2ba/ccccGetux_CM11.html
streambinder said:
Of course, mate. I'm working on it, right now.
It doesn't seem to boot, strange if the same INIT binary sources are working for @akhbh.
#UPDATE
In order to troubleshoot, I'll give you some info.
For his build I used these sources:
platform_kernel_samsung_cori
platform_device_samsung_cori
android_device_samsung_bcm21553-common
Applied some lines on our bcm21553-bootimg.mk, too, in order to exclude parted and mke2fs and make the compiled boot.img weigh less.
@cleverior.ipul, can you link me your kernel sources, as akhbh said he used your ones for CM11.
@akhbh, which modifies have you applied in order to compile CWM based on CM11 code? Which device tree?
#UPDATE 2
Attached my compiled boot.img.
If anyone of you would extract it (you can easily use this tool: bootimgtools - read how to use it in the README) and make a diff with the CM11 one (just extract the ramdisk of both boot.imgs and - in the terminal - use this command: diff -urN /path/to/cm9/ramdisk /path/to/cm11/ramdisk > diff.patch), would make to me a huge favour.
Let me know.
Click to expand...
Click to collapse
here the link source https://github.com/cleverior/android_kernel_samsung_cori
i've changed the board name. If your device can not boot after using the zImage from this source, then rename init.bcm21553.rc to init.gt-s5300.rc.
@streambinder, what is grom? As bieltv.3 said that init built grom for cori is required to fix adb over cwm recovery. If adb gets working, then possibly the black screen while booting cm11 might get fixed
akhbh said:
@streambinder, what is grom? As bieltv.3 said that init built grom for cori is required to fix adb over cwm recovery. If adb gets working, then possibly the black screen while booting cm11 might get fixed
Click to expand...
Click to collapse
Sincerely don't what are you talking about.
Anyway, have to try to understand where's the problem with the not-booting CWM.
Will try with your sources and let you know.
I have decided to rework the thread to ovoid any confusion as the intent of posting this thread was to ask questions about compiling custom Roms from AOSP source that someone like myself who gained their development experience on other devices that building from pure AOSP code was not an option and are not as familiar working with AOSP. In the past my own experience comes from using and modifying for example the Cyanogenmod source so after attempting to now base my Rom on AOSP this time around with Lollipop have run into a few unfamiliar differences. As each question or topic is addressed I will update the Op. The hope is not only will I find solutions or answers to my own questions but that others in the same position will also be able to find use of the discussions posted in this thread.
Compiling the AOSP source into a format that can be safely flashed using a custom recovery. This was a 3 part question the first was just simply how to compile AOSP in a format other then .img files that can be flashed using a custom recovery without the need of flashing through fastboot or needing to use the adb sideload option.
1, Compiling AOSP into the for of an update.zip.
This was answered in short by know.patience by suggesting to use the “make otapackage” command in place of "make" to start the build. Was also made aware that a few modifications would need to be made to avoid producing an update package that does not use the new block format but instead the old style zips we are most used to seeing.
2, Now can create an update.zip using the “make otapackage” command ran into an issue that by flashing the update.zip produced would in the process replace the custom recovery used to flash with the Nexus Stock recovery. This was answered by Lethargy who suggested and provided a Link for the following commit.
For getting rid of the AOSP recovery:
https://github.com/Lethargy/android_build/commit/48521e167c642db76c9d4f52b1c63f9abc7f707f
https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558
3, Now can create an update.zip using the “make otapackage” and after applying the above commit are now able to flash the update.zip without replacing the recovery Lethargy also provided links for the following commits.
To get rid of the block-based zip format:
https://github.com/Lethargy/android_build/commit/4d458300d935a3a9d893a590286cb578dcf54db2
You'll also want to make sure you have this commit so it doesn't flash awfully slow in recovery (8~ minutes, but only around 1-2 minutes with this commit):
https://github.com/Lethargy/android_system_extras/commit/52f8d5fc3edfacd112827d0a41516c1dc5f4a468
This one isn't required but you may as well:
https://github.com/Lethargy/android_build/commit/242be9ae4f05e3cb1d39d635cac7147ff904700c
Compiling using the AOSP Master branch vs release branches. In following the directions provided on the Google development site are given the command for downloading the source code using the Master branch. Using the Master branch as apposed to a release branch such as android-5.0.2_r1 or lower have found that the source compiles just fine but have run into one issue and just a general question that a little explanation would be helpful for general understanding of the AOSP Master branch.
The issue is that after flashing a Rom compiled using the Master branch everything in the Rom works as expected other than the radio. I have so far using the same exact vendor blobs as compiling a release branch have not had a signal and baseband version is listed under about phone as unknown.
The general question is that the android version listed compiling a Rom using the Master branch is version 5.0.50.50.50.50. In general I have yet to understand what this version number represents and very little to no information available via the Google Box.
Between the both I now wounder if the Master branch is intended for actual use or if so what changes are required so the baseband version is recognized and radio / Ril will work?
Quick Answer:
Google first commits new code into master and then is later tagged with an update for realease so in generall many things can be broken and the master branch is and not intended to be stable so if building from master expect that things will be broke or buggy.
Compiling Rom and Kernel together. For those of us again used to compiling using say the CM code are now used to compiling the Kernel along with the rest of the code. I know it is easy to just compile the Kernel and include in the device tree but for those of us who would still like the Kernel compiles with the rest of the code there is no information available on the Google Developers site for doing so and there seems to be a few differences as have tried just using the lines used in the CM Hammerhead device repository. I have come across these commits from Cl3Kener that should help. Hate posting other developers code but is on Github so is there for the public at large. So far have only tested as is so will update if finding not all changes are necessary or can be modified.
Inline Kernel Building
https://github.com/OptiPop/device_lge_hammerhead/commit/7de8fd95b6df16cb6311161d5048874d69cf1cb1
https://github.com/OptiPop/device_lge_hammerhead/commit/87768896f4eb8fcd989ce3b8492ca65305513851
https://github.com/OptiPop/device_lge_hammerhead/commit/5460eb3aa76ea5d813f64a3b3bab6ace1be6de68
Adding Pre-Built APK's
Seems Sprint users need a few apk's for updating prl and what not that are included into the Stock release but are not part of the AOSP code. For some reason through vendor or even device have tried adding these apk's into the build. First try I created a sprint vendor section and received a few errors untill learning would need to add sprint into a vendor white list found in build. Will post link to file later. After found the extra "Services.jar" I found in the stock image not found in the aosp compiled Rom did copy into the build but the apk's had not. Looking in the other vendor blobs noticed lge adds "qcrilmsgtunnel.apk" so followed the example and even tried just adding the other spk's into lge expanding the list used for adding in "qcrilmsgtunnel.apk" but still no luck. Also have tried adding through the device files for Hammerhead just to get them into the Rom for testing and still no luck. If this was CM or any other Rom not using pure aosp this would have been a 5 minut project so need to do some aditional homework.
Again think this thread could be a good resource for developers who are new to building their Roms around AOSP so wanted to include everything I run into during the process of moving away from using a heavily modified CM based code as the base of my Rom to using AOSP in its place so developers who are or in the same process or for those in the future can use as a resource to quickly adjusting. I have been building CM based Roms like Starship for years and after hours of working on other aspects to suddenly be stumped by these small differences between platforms can be very frustrating.
to the OP:
answer to your first question comes in two parts.
a) use 'make -j# otapackage' will generate a zip that is flashable in custom recovery.
b) if you plan on adding other files after the zip is made, you will need this info here:
https://github.com/android/platform_build/commit/26e6619c37e294fe2ee63aaa759e0ac861775ce8
There are some modifications needed to generate the OG zip files instead of the new "block" format.
Google hasn't released the 5.0.1 image for the N5 but that doesn't mean you can't build it and install it yourself. I'm running it and it seems okay to me so far although I'm hardly an expert.
simms22 said:
op.. this section is only for developers, to get work done. if you have questions, they belong in the q&a section. you arent new, you should know this. again, this section is only for developers, mot for the normal xda folk to post questions. you have a q&a section just for asking questions. please, ask a mod to move your thread there.
Click to expand...
Click to collapse
I am building a customized AOSP Rom I am interested in sharing so was looking for help or direction in creating an update zip that can be flashed in a custom recovery like TWRP. I am not used to compiling AOSP and with the help of know.patience in the first reply am now able to compile an update.zip I can flash in TWRP but in doing so it also replaces TWRP with the Stock recovery. I have still been using the .img files to flash personally but am still trying to figure out how to solve the recovery replacement issue. I still have other features I am adding and testing before I would like to post my work but before I get to that point I still need to figure out my recovery replacement issue. Maybe using the words personal use may have been confusing but at the moment until ready I have only been using my work personally but would like to at some point post and share. I also have work that is not AOSP based I am sharing in the Android Development section but I have been building CM and other source based Roms and sharing for years. This is the first device I have been able to build AOSP and still have a few things to figure out before sharing any of my AOSP based work. I am otherwise not sure why you think these are questions for general Q&A.
I started this thread in Android Development as there was only about 4 posts in this section and I see many AOSP based Roms in Android Development who's developers obviously know the answers to my questions so tried to get away posting there in hope one of these developers could help or like in the first response point me in the direction of a commit before the thread was moved by a mod into this section. Do you think someone in the general Q&A section is better equipped to help answer questions about compiling an AOSP based Rom in the form of an update.zip that can be flashed in TWRP without also replacing TWRP with the Stock recovery?? Would also be nice knowing what changes in the code need to be made in compiling an old style update.zip that does not use the new block format. This would be a bonus but overall not %100 needed as instead of moving files around after the code has been compiled have added init.d support and first have all the files I want moved into a staging directory and then form an init,d bash script to move the files during first boot and remove those that are not needed like this example I used in my CM based version of the Rom I am trying to update for AOSP for 5.0.
https://github.com/Starship-Android/android_device_starship-common/blob/cm-11.0/app-update
https://github.com/Starship-Android/android_device_starship-common/blob/cm-11.0/cleanup
I must seriously be underestimating the knowledge and in general the types of questions being asked and answered in the general Q&A section.
Honestly if not for the amount of times thanked I would think this comment was not so much about helping or community but more about someone trying to puff themselves up by trying to appear important by making decisions about what questions are worthy of being asked but judging by the number of times they have been helpful I am thinking its either a case of not reading or understanding the question being asked or my own inability to express my questions in the proper manor. Either way its definitely not about taking up resources in a section with less than 10 total posts. The frustrating part as a community as I like to believe we are all in is that why I worked on other parts in updating my Rom had expected that at least more than one developer out of all the AOSP based Roms posted in the development section would have helped me with this one part. Its not like I am asking how to be a developer just a resource to help with two simple things I am sure I could have figured out and will most likely still figure out without any help. Overall my thoughts behind posting this question was that why I am working to figure out something a bit more time consuming at least more than one person would be helpful enough to copy and past a commit.
XDA is weird in that with other devices all the developers would join a team and start a shared group of repository’s for one another to use in trying to make the best possible experience and options for everyone. For example in the op I posted an example of hours of work I did showing what libraries are needed by one another just so others could use it also in trying to port as much as possible for in that case the Galaxy Mini. Then with other devices like seems to be the case with the N5 its all about competition and what I am starting to call the smartest person in the room syndrome. Its just a shame there are only 5 maybe 6 threads posted in this section and I think that says allot about the community in general. So many good things could come about if we just tried to be helpful and pull as much knowledge together as we could. Anyhow think its time for ending this rant.
chairshot215 said:
compiling an AOSP based Rom in the form of an update.zip that can be flashed in TWRP without also replacing TWRP with the Stock recovery?? Would also be nice knowing what changes in the code need to be made in compiling an old style update.zip that does not use the new block format.
Click to expand...
Click to collapse
To get rid of the block-based zip format: https://github.com/Lethargy/android_build/commit/4d458300d935a3a9d893a590286cb578dcf54db2
You'll also want to make sure you have this commit so it doesn't flash awfully slow in recovery (8~ minutes, but only around 1-2 minutes with this commit): https://github.com/Lethargy/android_system_extras/commit/52f8d5fc3edfacd112827d0a41516c1dc5f4a468
This one isn't required but you may as well: https://github.com/Lethargy/android_build/commit/242be9ae4f05e3cb1d39d635cac7147ff904700c
For getting rid of the AOSP recovery: https://github.com/Lethargy/android_build/commit/48521e167c642db76c9d4f52b1c63f9abc7f707f then https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558
Lethargy said:
To get rid of the block-based zip format: https://github.com/Lethargy/android_build/commit/4d458300d935a3a9d893a590286cb578dcf54db2
You'll also want to make sure you have this commit so it doesn't flash awfully slow in recovery (8~ minutes, but only around 1-2 minutes with this commit): https://github.com/Lethargy/android_system_extras/commit/52f8d5fc3edfacd112827d0a41516c1dc5f4a468
This one isn't required but you may as well: https://github.com/Lethargy/android_build/commit/242be9ae4f05e3cb1d39d635cac7147ff904700c
For getting rid of the AOSP recovery: https://github.com/Lethargy/android_build/commit/48521e167c642db76c9d4f52b1c63f9abc7f707f then https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558
Click to expand...
Click to collapse
Thank you this is well beyond what I was looking for and don’t worry I make it a point not to send out PM's with questions that can be helpful for others as well. Otherwise would have blown up the AOSP Rom posters in development but thanks for the information.
chairshot215 said:
.. and don’t worry I make it a point not to send out PM's with questions that can be helpful for others as well..
Click to expand...
Click to collapse
If you mean "I'll probably ignore you if you try asking for support over PM.", that's part of my forum signature.
If you need anything else feel free to @mention me in a thread, though.
I reworked the Op to avoid confusion as Mods have been moving the thread around into different sections. I personalty believe these questions are more geared towered development than general Q&A but at least at the moment I appear to be wrong about that. Never know though as in the past one day one of the mods may decide to move the thread back into its intended location but until then I guess these topics will be of better use to general users than developers.
chairshot215 said:
I reworked the Op to avoid confusion as Mods have been moving the thread around into different sections. I personalty believe these questions are more geared towered development than general Q&A but at least at the moment I appear to be wrong about that. Never know though as in the past one day one of the mods may decide to move the thread back into its intended location but until then I guess these topics will be of better use to general users than developers.
Click to expand...
Click to collapse
You should include the other commit (https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558) which fixes building since the first one results in "IndentationError: unexpected indent".
Lethargy said:
You should include the other commit (https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558) which fixes building since the first one results in "IndentationError: unexpected indent".
Click to expand...
Click to collapse
Thanks for the heads up, when testing these I also cherry picked a few other things that looked related. Have to double check but may have forked the repository’s from you so would receive credit if anyone decided to look over my repository’s. Well overall my personal Github has been pretty bare as in the past most work was done on more obscure Virgin Mobile devices with only a few developers so we would pretty much create an organization for all the developers to use.
https://github.com/MTDEV-CM7
https://github.com/MTDEV-CM10
https://github.com/vmobi-triumph
https://github.com/MTDEV-KERNEL
https://github.com/MTDEV-MIUIv4
https://github.com/MTCM9
https://github.com/MTCM10
https://github.com/HTCCM9
https://github.com/HTCCM10
https://github.com/HTCStarShip
https://github.com/HTCUbuntu
https://github.com/vmobi-shooter
https://github.com/vmobi-gogh
These days have been keeping everything under Starship-Android.
https://github.com/Starship-Android
Have 2 other members listed who I had worked with in the past but has otherwise been a solo organization with one of the other members who decided on going with the Moto X and Verizon over the N5 and showed little interest in his 2012 version of the N7 as it was intended for being a Nexus only device line up and the second being my Kernel Guru from a few devices back who mainly joined to help me out with a few things but ultimately what I am getting around to is this is the first time working %100 solo. Have to say without having anyone to bounce off ideas and share findings with things definitely move much slower and take a bit of getting used to. Is also the reason for starting threads like this. Most of this stuff looking in the developer section appeared to be pretty common knowledge but having never worked from pure AOSP before was slowing down other development for about a week just to figure out what seemed like half the community had already known and with what probably took at the most 5 or 10 minutes of copying and pasting commits probably saved me a weekend of sifting through github and testing. I hope by creating a thread like this will be able to do the same for others.
Hi guys,
Anyone manage to fix RIL problems with master branch?
I also build AOSP roms so for sure i will hangout here
Sent from my AOSP on HammerHead using XDA Free mobile app
malcho said:
Hi guys,
Anyone manage to fix RIL problems with master branch?
I also build AOSP roms so for sure i will hangout here
Sent from my AOSP on HammerHead using XDA Free mobile app
Click to expand...
Click to collapse
Never tried.
ODEXED
i am successfully build cm12 with fully odexed. now i like to odex some prebuilt apk also but LOCAL_DEX_PREOPT=true not odexing prebuilt apk. can somebody help me? already DEX_PREOPT=true working fine.
soorajj said:
i am successfully build cm12 with fully odexed. now i like to odex some prebuilt apk also but LOCAL_DEX_PREOPT=true not odexing prebuilt apk. can somebody help me? already DEX_PREOPT=true working fine.
Click to expand...
Click to collapse
Why do you need to odex a prebuilt apk?
Not sure if what you want is even possible.
But if odexing your prebuilt apk is necessary then why not odex it then include the .odex with the prebuilt?
Lethargy said:
Why do you need to odex a prebuilt apk?
Not sure if what you want is even possible.
But if odexing your prebuilt apk is necessary then why not odex it then include the .odex with the prebuilt?
Click to expand...
Click to collapse
suppose i want to odex gapps. how to?
malcho said:
Hi guys,
Anyone manage to fix RIL problems with master branch?
I also build AOSP roms so for sure i will hangout here
Sent from my AOSP on HammerHead using XDA Free mobile app
Click to expand...
Click to collapse
Nothing so far, I downloaded the master and 5.0.2_r1 branches and have loaded both in meld for looking over differences but have not yet identified from the dif between the 2 branches that is responsible for ril working in release branch but not master. Still have allot to look over though still. Still have not found a decent explanation of the master branch to know if its recommended to build from but still just for Knowledge sake am interested in knowing. At first thought maybe apn's but not so sure with baseband also listed as unknown from my Master branch builds.
chairshot215 said:
Nothing so far, I downloaded the master and 5.0.2_r1 branches and have loaded both in meld for looking over differences but have not yet identified from the dif between the 2 branches that is responsible for ril working in release branch but not master. Still have allot to look over though still. Still have not found a decent explanation of the master branch to know if its recommended to build from but still just for Knowledge sake am interested in knowing. At first thought maybe apn's but not so sure with baseband also listed as unknown from my Master branch builds.
Click to expand...
Click to collapse
As far as i know all the patches goes to master branch then from this branch ,if they are ok,is distributed to lower branches.I also didn't find info why is named as 5.0.50.50.I will try to investigate this ril problem
malcho said:
As far as i know all the patches goes to master branch then from this branch ,if they are ok,is distributed to lower branches.I also didn't find info why is named as 5.0.50.50.I will try to investigate this ril problem
Click to expand...
Click to collapse
Thanks will definitely update the Op with any findings. Was very surprised to find the thread again as it has now been moved 4 times by 4 different Mods, some bounce it to general Q&A and then is bounced back here by another. I understand its not comprised of the most advanced development topics but with that said is still way more advanced than the topics being discussed by general users over in the general Q&A section. I had just thought it would be a nice one stop place for learning the basics of AOSP development. With the constant moving and scolding messages being received one would think the threads very existence is up there with crossing the streams and threatens the existence of Android development.
@chairshot215 Thank you for starting this thread. Thank you @Lethargy for all of your insight. I like to do my own perosnal builds every once in a while for my nexus devices. What I have observed over the years is that the Master Branch will sometimes have funky version numbers like you have described. One thing to consider is what @malcho mentioned. If all commits indeed go there first before the respective branches(although this may not entirely be the case), then it is likely that some things may be broken in the master branch from time to time, hence the ril problem. I think with the galaxy nexus I ended up running into issues from time to time with the master branch, and from there learned to build for specific branches/tags. For instance, there are times when items within a specific branch will be ahead of master in some areas and behind it in others, as in this link to platform_build for lollipop release https://github.com/android/platform_build/tree/lollipop-release. So with that, it is probably in our best interests to just use specific branches.
Milly7 said:
@chairshot215 Thank you for starting this thread. Thank you @Lethargy for all of your insight. I like to do my own perosnal builds every once in a while for my nexus devices. What I have observed over the years is that the Master Branch will sometimes have funky version numbers like you have described. One thing to consider is what @malcho mentioned. If all commits indeed go there first before the respective branches(although this may not entirely be the case), then it is likely that some things may be broken in the master branch from time to time, hence the ril problem. I think with the galaxy nexus I ended up running into issues from time to time with the master branch, and from there learned to build for specific branches/tags. For instance, there are times when items within a specific branch will be ahead of master in some areas and behind it in others, as in this link to platform_build for lollipop release https://github.com/android/platform_build/tree/lollipop-release. So with that, it is probably in our best interests to just use specific branches.
Click to expand...
Click to collapse
Thanks for the response and have definitely learned its better building from branches with a release tag. Still very curious why and how the branches are structured so thanks for the explanations.
Way totally off topic for the thread but landed a brand new SSD and decided to install everything fresh. After everything was set back up and wanted to start building I ran my usual,
-j'grep 'processor' /proc/cpuinfo | wc -l'
a very old habit before fully understanding what number to use after -j so used grep to figure it out based on Googles recommendation. The command did not work so removed the grep and just made it -j4 but also with 0 success. At first just figued I missed somthing setting everything back up and "make" is just not working but wrong again as running "make" command without -j of any number works just fine.
Also tried this with CM12 as I am doing 2 versions of my Starship Rom. One from AOSP and one using CM. Figured AOSP would be special for Nexus users why also having a version for CM I can make most changes by adding a Starship Device Tree could easily port the Rom to any device running CM supported or not.
https://github.com/Starship-Android/android_device_starship-common/tree/cm-12.0
Also found why compiling CM that -j also results in an error
Invalid lunch combo: cm_hammerhead--j4
No such item in brunch menu. Try 'breakfast'
So far have not found anything using the Google Box so figured may as well ask. If have not figured out by now I have no shame in asking questions. Oddly enough that is for things that are probably relatively simple. Took a better part of a week figuring out how to start CM using the Now Launcher and setting up init.d bash scripts for moving around and replacing libs after learning the Gapps package includes libs that will not work so the solution needed to be that the CM Gapps package libs needed to be replaced with either stock or libs pulled after installing the Now Launcher from the Play Store after flashing Gapps and the Rom staring. Also then what if user updates and wipes the system partition after the new and updated llibs have been moved into place. Anyhow point of story is things like this I will just figure out without bothering anyone but for the cant believe I need to stop what I am working on to figure out something most likely very simple and can be answered with very little time spent I have no shame in just asking. Not that someone else’s time is less important but like I have mentioned before is frustrating just after spending hours or days figuring out something asked in dozens of threads is just frustrating getting caught up or loosing momentum and thought processes over something so simple there are little resources available. Also I assume most devs have the same experience when you have an idea or thought behind resolving an issue that once you stop and change direction it just sometimes never comes back and that short time you had I guess can be called an epiphany is gone once going back. Otherwise thats how I justify asking dumb ars questions.
Hi,
I get an increasing amount of pms asking me how to build for chagalllte. If I would answer all that questinons en detail I could stop developing, and just answer emails. So I decided to publish some of the most basic and detailed answers I gave here in this forum.
I also hope, that people trying to build for chagalllte can find each other and build up a team for the task of getting cm to chagalllte. TEAM: together everybody achieves more...
Hope, this helps:
Hello,
Devices are said to be equal... As t700 and t800 are being equal but screen size. That's NOT true. They differ verry subtile. (t700 vs. t800 i.e. differ in sound and touchscreen drivers...).
That being said I would start like this:
learn git - not github, but git on the command line
get both: most current sammy rom for t800 and t805 and put them both untared side by side to you disc
compare them thoroughly - learn the differences
from opensource.samsung.com get kernel sources for both devices: again - learn the differences
start from my gits (device, vendor, kernel) - fork them on github, clone locally
put the differences to the three gits: step by step - commit every change with long comments (wil save your as)
before flashing your first build take a look at /system/etc/wifi of running device with sammy rom, take a look at updater-script of flashable sammy-rom zip, take a look at my git repackrom.sh and use it on your flashable zip.
don't be frutrated, iron out my errors, sammy errors and your errors - build next time...
Good morning,
to get this straight: driver refers to kernel code (statically build in or build as module), blobs (or prorietary binaries) refers to already build binaries from sammy rom: these are libs (i.e. libGLES_mali.so), compiled executables (i.e. gpsd, sswap), loadable firmware for hardware (i.e. /system/etc/wifi/*), some ascii files (some keymaps if I remember right) and all that I forgot...
Of course the mali drive (kernel) interacts ditectly and closly with some of the blobs (in this case libGLES_mali.so, and some people refer to leb_GLES_mail.so as mali driver. This doesn't matter for most people - for you IT DOES MATTER to know of which part I'm speaking...
I recommend usimg the kernel sour8ce from opensource.samsung.com fot T805, but cherry-pick at least the commits from my git or crpalmers picassowifi to make it build inline cm (so if you haven't learned git you are lost here the first time).
For the versions: yeah, you make with sammy's 4.4.2 blobs a cm-11.0 (aka 4.4.4) build. We have to take what we we get - we have no 4.4.4 blobs and propably nver wil get... Sorry.
For cm-12.0 I build at the moment with a mix of sammy 4.4.2, widevine 5.0 (taken from manta) and a hexedit patched libGLRS_mali.so from picassowifi - thats fun, mage. But relax, for cm-11.0 you will come along with the blobs from sammy 4.4.2 rom. You have to find out which blobs you need in addition to the ones I have taken from 800 rom to get modem running.
For the build environment: there are several setup guides for cm. Use google. I use gentoo amd64 build from scratch - but I think you won't want that... *lol*
Add this
Code:
[alias]
lg1 = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white) %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative
lg2 = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(bold white) %an%C(reset)' --abbrev-commit
lg = !"git lg1"
to the end of /etc/gitconfig, clone my three gits, cd to them (one after the other) and type each time "git lg1"... "git show [hash]" will show you a single commit. I know it must be boring and anoying for you, but: learn git.
May the source be with you, Nvertigo
thanks so much for posting this, i just hope someone with skills can pick this up
TheLoverMan said:
thanks so much for posting this, i just hope someone with skills can pick this up
Click to expand...
Click to collapse
Just did a quick count: got 27 pms from 8 different people regarding this subject. So if we calculate that only half of this are really interested in giving up their sparetime, partnerships and all other activities, there could be a team of 4 people...
Code long and prosper, Nvertigo
Im also going to try cm forums see if anyone has come up with something
I will try to build and see if i can use your help, if needed. Thanks for the tutorial though.
I would be so grateful for CM12 on LTE model. I don't have knowledge myself, but I thouht maybe we all users of T805 could donate for NVertigo to collect money for him to buy LTE variant? What do you guys think?
Hello, everyone.
I noticed, there are many custom roms, but not that many for the SM-T505. Is it because it's newly released, or are there other reasons?
Yes, this is a new device and many people are probably waiting for the Black Friday/Cyber Monday deals to grab one. I just grabbed one for $150 on Amazon, a steal compared to something like a Fire tablet IMO. This is a low-end tablet, so there won't be as much focus on it as say a flagship phone. But thankfully it's already been unlocked and rooted, so the next step will be to get TWRP on it, and then custom ROM development can start to pick up on it. Don't expect any updates before the end of the year for custom ROMs though, it will likely take time to have TWRP up and running on it, but I am hopeful that we will see good things on this tablet in 2021
Without kernel sources it won't happen. See https://opensource.samsung.com/uploadSearch?searchValue=sm-t505 and https://opensource.samsung.com/uploadSearch?searchValue=sm-t500.
You can request them on that page. I did it a few times but no response so far.
paziusss said:
Without kernel sources it won't happen. See https://opensource.samsung.com/uploadSearch?searchValue=sm-t505 and https://opensource.samsung.com/uploadSearch?searchValue=sm-t500.
You can request them on that page. I did it a few times but no response so far.
Click to expand...
Click to collapse
Interesting... is it just me or is there no button to start an inquiry?
EDIT: Found it... just posted an Inquiry.
Watching!! I just bought the T500.
jlang11 said:
Watching!! I just bought the T500.
Click to expand...
Click to collapse
Just got an answer from Samsung, but don't get to excited. It was just an automated answer, that they received my inquiry. So stay tuned...
https://opensource.samsung.com/uploadSearch?searchValue=t500 gives you a 514mb file with kernel and vencor files.
Maybe both 505 and 500 are similiar enough to get you started
Sources are available: https://opensource.samsung.com/uploadSearch?searchValue=sm-t500
They include a toolchain in kernel tree, broken KConfigs and a lot of junk. I will try to clean a bit a mess and update a lean kernel tree to github
paziusss said:
Sources are available: https://opensource.samsung.com/uploadSearch?searchValue=sm-t500
They include a toolchain in kernel tree, broken KConfigs and a lot of junk. I will try to clean a bit a mess and update a lean kernel tree to github
Click to expand...
Click to collapse
Will you also do a diff against the upstream version so we can see what they changed?
selemine said:
Will you also do a diff against the upstream version so we can see what they changed?
Click to expand...
Click to collapse
Sure, but I'm going to remove the toolchain from the kernel tree since the beginning. It takes About 1GB alone and I don't want to have it on git refs because it will still take a lot of space even if removed.
The rest of changes will be available on github.
paziusss said:
Sure, but I'm going to remove the toolchain from the kernel tree since the beginning. It takes About 1GB alone and I don't want to have it on git refs because it will still take a lot of space even if removed.
The rest of changes will be available on github.
Click to expand...
Click to collapse
It's been a long time, since i took up building custom roms and forgot about it for a while... if the kernel is cleansed from all the BS no one needs, that would be awesome.
There are a lot of small changes to comments and changes of 2 characters in a line. Wonder if they backported stuff there.
Kernel of the SM-T505 was just released...
If this is of any relevance, the download is 'just' 200MB... i wonder why.
The Platform Archive is mostly identical, just a few text files with notes and copyright were missing.
The Kernel Package as well, just small changes to netfilter and
a new defconfig file.
Defconfig for both devices also is more or less the same
gta4lwifi_eur_open_defconfig is missing one line compared to gta4l_eur_open_defconfig
CONFIG_SAMSUNG_FREECESS=y
Guess the difference comes from the toolchain mentioned above.
@paziusss
How far have you come?
Would be great if we had something clean to start a twrp and easier rooting
selemine said:
@paziusss
How far have you come?
Would be great if we had something clean to start a twrp and easier rooting
Click to expand...
Click to collapse
Sorry, I have a very bad internet connection (uplink it is ~50-100KiB/s)
I created the repo a month ago: https://github.com/pazos/android_kernel_samsung_gta4lwifi
,tried to push and failed. Never tried again until now, but it is still failing.
So, if somebody is nice enough to dump the contents of the SM-T500 kernel in a github repo, I can fork and submit the patches without having to upload the whole thing myself.
paziusss said:
Sorry, I have a very bad internet connection (uplink it is ~50-100KiB/s)
I created the repo a month ago: https://github.com/pazos/android_kernel_samsung_gta4lwifi
,tried to push and failed. Never tried again until now, but it is still failing.
So, if somebody is nice enough to dump the contents of the SM-T500 kernel in a github repo, I can fork and submit the patches without having to upload the whole thing myself.
Click to expand...
Click to collapse
Here you go
jayzarry84 said:
Here you go
Click to expand...
Click to collapse
Thank you! It helped.
I had to apply the patch manually, so everything is in a single commit, but should be easy for others to understand what each chunk of code does.
Here you go: https://github.com/pazos/android_kernel_samsung_gta4lwifi
paziusss said:
Thank you! It helped.
I had to apply the patch manually, so everything is in a single commit, but should be easy for others to understand what each chunk of code does.
Here you go: https://github.com/pazos/android_kernel_samsung_gta4lwifi
Click to expand...
Click to collapse
Just realized I didn't upload the Platform folder contents. It's uploading as we speak
jayzarry84 said:
Just realized I didn't upload the Platform folder contents. It's uploading as we speak
Click to expand...
Click to collapse
I really have to ask, can i use this to build a custom rom for the SM-T505 as well?