Related
It's question me for a long time. All the custom rom's building instruction say that "Your device should already be running the branch of CyanogenMod you wish to build your own version of for the extract-files.sh script to function properly. If you are savvy enough to pull the files yourself off the device by examining the script, you may do that as well without flashing CyanogenMod first."
But where is the "first" proprietary blobs came from? I know for the nexus device we can get the driver from
developers.google.com / android / nexus / drivers
But how about the others? How can we get the kitkat proprietary blobs for "galaxy nexus" and other devices for the first time build?
ps: I am not sure if it is appropriate to post this question here. But I do not know where to ask... sorry if this is in appropriate. And also sorry for my bad English..
https://github.com/DonkeyCoyote
So for my i9100 (Samsung SII (intl)) I had to add
Code:
<project path="vendor/samsung" name="DonkeyCoyote/proprietary_vendor_samsung" remote="github" revision="android-4.4" />
inside the
Code:
<manifest> ... </manifest>
tags in
Code:
.repo/local_manifests/local_manifest.xml
FatMinMin said:
It's question me for a long time. All the custom rom's building instruction say that "Your device should already be running the branch of CyanogenMod you wish to build your own version of for the extract-files.sh script to function properly. If you are savvy enough to pull the files yourself off the device by examining the script, you may do that as well without flashing CyanogenMod first."
But where is the "first" proprietary blobs came from? I know for the nexus device we can get the driver from
developers.google.com / android / nexus / drivers
But how about the others? How can we get the kitkat proprietary blobs for "galaxy nexus" and other devices for the first time build?
ps: I am not sure if it is appropriate to post this question here. But I do not know where to ask... sorry if this is in appropriate. And also sorry for my bad English..
Click to expand...
Click to collapse
In general, the blobs are first obtained by pulling all of the contents of /system from a device running stock.
Sometimes the blob archive winds up being a bit of mix-and-match of stuff from multiple sources...
It's a real mess and unfortunately there is no way to simplify the mess without raising some potential legal issues, as blobs are a bit of a grey area here.
FatMinMin said:
It's question me for a long time. All the custom rom's building instruction say that "Your device should already be running the branch of CyanogenMod you wish to build your own version of for the extract-files.sh script to function properly. If you are savvy enough to pull the files yourself off the device by examining the script, you may do that as well without flashing CyanogenMod first."
But where is the "first" proprietary blobs came from? I know for the nexus device we can get the driver from
developers.google.com / android / nexus / drivers
But how about the others? How can we get the kitkat proprietary blobs for "galaxy nexus" and other devices for the first time build?
ps: I am not sure if it is appropriate to post this question here. But I do not know where to ask... sorry if this is in appropriate. And also sorry for my bad English..
Click to expand...
Click to collapse
https://developers.google.com/android/nexus/drivers#grouper
Here are all the stock blobs, Extract to your build folder then run the scripts in bash
They will then after accepting the license install to the correct vendor location.
( i just learned this last week )
Is there any way how you can get blobs for not so popular devices?
Like Cat S50? The Android is compiled by "Bullitt Group ltd" AFAIK.
Also I know HTC One mini 2 has the same chipset, is it possible to use the one's from that device?
barkley128 said:
Is there any way how you can get blobs for not so popular devices?
Like Cat S50? The Android is compiled by "Bullitt Group ltd" AFAIK.
Also I know HTC One mini 2 has the same chipset, is it possible to use the one's from that device?
Click to expand...
Click to collapse
In general, if you're doing the bringup for a given device, you pull the blobs from a stock firmware for that device, then try to integrate them. Sometimes in the end you wind up grabbing blobs from another device (such as Adreno GPU blobs from a Nexus or a newer device with same chipset), but people always start with the stock firmware and go from there.
Incase anyone is looking for the same
See this thread here. http://forum.xda-developers.com/showthread.php?t=2794413 :good:
Okay Guys,
I am working hard to bring up Cyanogenmod to our beloved moto g.
But i am a bit Noobish in this field.
I have been reading guides and following the process.
So far I have setup the build environment and synced the latest repo from CM sources.
Now, further most imp step is Vendor, Kernal and Device tree.
I have found this so far, by searching this forum only,
https://github.com/MotorolaMobilityLLC/kernel-msm/tree/kitkat-4.4.4-release-titan
Now, reading further some guides, they say kernel and device tree will require some modification to work with CM12, but i couldnt find about this modification.
so I request all developers to guide me on this.
We can surely do this together. :fingers-crossed:
N.K.V. said:
Okay Guys,
I am working hard to bring up Cyanogenmod to our beloved moto g.
But i am a bit Noobish in this field.
I have been reading guides and following the process.
So far I have setup the build environment and synced the latest repo from CM sources.
Now, further most imp step is Vendor, Kernal and Device tree.
I have found this so far, by searching this forum only,
https://github.com/MotorolaMobilityLLC/kernel-msm/tree/kitkat-4.4.4-release-titan
Now, reading further some guides, they say kernel and device tree will require some modification to work with CM12, but i couldnt find about this modification.
so I request all developers to guide me on this.
We can surely do this together. :fingers-crossed:
Click to expand...
Click to collapse
I love your initiative! Unfortunately I'm not a developer...
Send from my XT1068 using Tapatalk.
nice work mate.... developers are needed urgently....
Why do you think developers will find you and this thread? It works the other way. You need to find developers and ask for help. I suggest you start here and here
I keep my fingers crossed for the success of the project :highfive:
Yes, I am reading all possible guides given by the developers.
By that only i have reach this far.
But for device tree and kernel, device specific modifications are necessary, and I really need help of some one who has actually done this before.
If this is successful , we can have an alpha build of CM 12 , in 3-4 days.
@ N.K.V.
ok i will help you with this..
first we need to set up device tree and vendor trees....
there is 2 ways to do this
first:- get a official motorola stock lollipop update for your phone.
(unfortunately it not yet released for all variants)
examine the similar device trees like falcon or htc a5 (desire 816) of lg l90 or sony m2 or sony e3
compare the kernel sources of falcon and titan (these are kitkat sources so may be in future motorola will release updated lollipop kernel source)
there are various major differences.
set up a basic device tree from falcon with msm8226 common of cm repos.
take vendor blob list from falcon
adapt it for titan
extract vendor blob from phone.
compile the rom
second:- from existing 4.4.4 rom
repo sync kernel from github
make changes to falcon and msm8226 device tree to adapt titan
extract vendor blobs with falcon list
compile
problem with second approach is that you have to make many changes to kernel and other things
but if we get official moto update of lollipop with kernel source then it will be little easier...
still if you are going to compile and want to make a cm12 from 4.4.4 i am with you ...i will set up device trees and other trees to set up things in motion.....
and then we can change vendor blobs and kernel to lollipop when it get released...
k2wl said:
@ N.K.V.
ok i will help you with this..
first we need to set up device tree and vendor trees....
there is 2 ways to do this
first:- get a official motorola stock lollipop update for your phone.
(unfortunately it not yet released for all variants)
examine the similar device trees like falcon or htc a5 (desire 816) of lg l90 or sony m2 or sony e3
compare the kernel sources of falcon and titan (these are kitkat sources so may be in future motorola will release updated lollipop kernel source)
there are various major differences.
set up a basic device tree from falcon with msm8226 common of cm repos.
take vendor blob list from falcon
adapt it for titan
extract vendor blob from phone.
compile the rom
second:- from existing 4.4.4 rom
repo sync kernel from github
make changes to falcon and msm8226 device tree to adapt titan
extract vendor blobs with falcon list
compile
problem with second approach is that you have to make many changes to kernel and other things
but if we get official moto update of lollipop with kernel source then it will be little easier...
still if you are going to compile and want to make a cm12 from 4.4.4 i am with you ...i will set up device trees and other trees to set up things in motion.....
and then we can change vendor blobs and kernel to lollipop when it get released...
Click to expand...
Click to collapse
This is great news. A team effort can do anything.:good:
Thanks to NKV and Kewl. Great initiative. God Bless You.
Sent from my Nexus 7 using XDA Free mobile app
okay guys,
let's keep this thread clean for developers.
you can always hit like to appreciate
UPDATE: @k2wl is working on kernel and device tree, it will take him some days.
@k2wl and N.K.V.
Thx for your time and work :good:
I wait for the right Software on xt1068!
I have a little bit of knowledge and i can learn really fast, if you guys need help, you can count on me
which model will this be for? (please say xt1064)
Bobboman said:
which model will this be for? (please say xt1064)
Click to expand...
Click to collapse
Doesn't matter. It will be for all variants!
absolutely brilliant, i wish i knew a lick of programming so that i could help get this done faster (i'm tired of seeing a SU update in play store and not being able to use it because it sends my G into a bootloop)
Thanks man, lollipop official update have a bug while playing music via bluetooth when screen is lock, can you fix it on this rom?
Ha ha...Let's make the ROM first..
Bug fixing in Second task.
Now that lollipop soak has started in India....i think Work should go fast. :beer:
Waiting for it. Please keep updated though!
I'm interested in helping with this.
Sent from my A0001 using XDA Free mobile app
Hope to See this soon! Thanks guys!!
Nice intitiative...but i think making device tree and vendor for this device will not be tht easy....still hope for best
Hello again,
Again I post here because I am denied posting in the correct spot. I suppose this silly denial will end, eventually.
I have a question for @Silesh.Nair :
In the dev thread, you tell somebody that he can build CM14.1 from source himself, using that guide:
http://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763
In a further post, you seem to indicate that the Moto G4 Plus build is obtained direct from the CM source repo.
I found that github repo for CM on the moto G4: https://github.com/CyanogenMod/android_device_motorola_athene
Unfortunately, the latest tag is marked CM 13 ... and there is nowhere to find the BSP files for CM 14.1.
Now, since it seems quite evident to you, but not at all for me, could you please kindly tell us where we can obtain the BSP files (device tree, vendor, kernel) for CM14.1 - Athene?
Thank you for your understanding my confusion.
You cannot post on a dev forum till you get to 10 posts.
You obviously cannot build cm14.1 using the device tree in cm github.
You have to sync the sources and add your device, vendor and kernel repos from here in your local manifest file.
Thank you
Silesh.Nair said:
You cannot post on a dev forum till you get to 10 posts.
You obviously cannot build cm14.1 using the device tree in cm github.
You have to sync the sources and add your device, vendor and kernel repos from here in your local manifest file.
Click to expand...
Click to collapse
Thank you for this snippet of information. I will look further into it.
In the world of embedded systems, when you have a generic operating system that can be used with many different hardware targets, a Board Support Package ("BSP") is the set of files that are required to build the generic OS on a specific target. For example here the BSP is all the files that are specific for the Moto G4/Plus (e.g. device tree, vendor, kernel), once you have a generic CM 14.1 distribution to start with. "BSP" refers to all the target-specific files that would not be the same on another target (i.e. a different phone).
I think this nomenclature is quite appropriate for the subject at hand.
Looking for the Device Tree, Kernel, and Vendor for this tablet.
I am just learning. Is there a process for getting these from an existing tablet?
Thank you!
Darran
I found the device tree for the a similar tablet here:
https://github.com/Matshias/twrp_android_device_tb_8504x
Someone on reddit told me this:
If you can find something with similar specs and the same processor you can try adapting it to your device. The Samsung Note 4 and the S5 use the same sources with some minor adjustments. I've had good luck getting some kernel sources from Samsung just by contacting them and asking, but they're the only brand I have any experience with.
For vendor files you can try TheMuppets found here: https://github.com/TheMuppets
Or you can try to extract them yourself using this guide- https://wiki.lineageos.org/extracting_blobs_from_zips.html
Best of luck to you.
Click to expand...
Click to collapse
Is this sound advice?
drizzle123 said:
Someone on reddit told me this:
Is this sound advice?
Click to expand...
Click to collapse
Device tree and vendor are not the problem. Kernel source code is the thing that is required. Was going to buy tab4 10 but won't if lenovo is not willing to release the kernel source. I've repeatedly asked them to do so in the forums but they never reply. Maybe try mailing lenovo support and see if that helps...
thank you - do you know if they have a dev support e-mail or is it the standard support e-mail?
Your kernel sources are already available. Its included in the kernel of Tab 4 8 Plus.
yener90 said:
Your kernel sources are already available. Its included in the kernel of Tab 4 8 Plus.
Click to expand...
Click to collapse
Is a seperate defconfig specifically for tab4 8 available ?
skoar said:
Is a seperate defconfig specifically for tab4 8 available ?
Click to expand...
Click to collapse
Yes.
yener90 said:
Yes.
Click to expand...
Click to collapse
Nice. I never downloaded the source to check. Then doing a bringup should be easy
Where is the source that you all reference?
Probably part of this? https://forum.xda-developers.com/th...m-lineageos-16-0-lenovo-tab-3-8-plus-t3923143
drizzle123 said:
Where is the source that you all reference?
Probably part of this? https://forum.xda-developers.com/th...m-lineageos-16-0-lenovo-tab-3-8-plus-t3923143
Click to expand...
Click to collapse
Some things will match others need to be modified as per the non plus model. Vendor files can be extracted from the device and the device tree can be set up by referencing the plus model since they are not too different. As per the kernel try prebuilt first and see if it boots
drizzle123 said:
Where is the source that you all reference?
Probably part of this? https://forum.xda-developers.com/th...m-lineageos-16-0-lenovo-tab-3-8-plus-t3923143
Click to expand...
Click to collapse
Bad choice. You need a device tree from a device with Snapdragon 425 (MSM8917)
yener90 said:
Bad choice. You need a device tree from a device with Snapdragon 425 (MSM8917)
Click to expand...
Click to collapse
This device tree looks to have a Snapdragon 425 (MSM8917)
drizzle123 said:
This device tree looks to have a Snapdragon 425 (MSM8917)
Click to expand...
Click to collapse
Tab4 8 plus has snapdragon 625. Go to gsmarena and search by snapdragon 425 and you'll get a few devices then go from there and see if they have a custom rom. If they do then find the device tree for that device from github and modify it as required. For vendor extract it from the device. There are quite a few tutorials on xda. As for kernel download the one provided by lenovo for tab4 8 plus (it'll work for non plus model as well). As for defconfig extract it from boot.img again there are tutorials available.
I'll probably try to get los running on the tab4 10 later
I found the kernel and some associated files here:
https://pcsupport.lenovo.com/us/en/...ntent=20190613_20190613184825&linkId=68972849
I found a similar an MSM8917 Device Tree here:
https://github.com/redmidevs/android_device_xiaomi_rolex
I looked through muppets and didn't find any vendor files for the TB-850 or any TB devices. Will work on extracting the vendor files and getting them up on muppets. Can I use the extract-files.sh file from lineage to extract the vendor files for the TB-850?
https://github.com/TheMuppets/proprietary_vendor_lge
drizzle123 said:
I found a similar an MSM8917 Device Tree here:
https://github.com/redmidevs/android_device_xiaomi_rolex
I looked through muppets and didn't find any vendor files for the TB-850 or any TB devices. Will work on extracting the vendor files and getting them up on muppets. Can I use the extract-files.sh file from lineage to extract the vendor files for the TB-850?
https://github.com/TheMuppets/proprietary_vendor_lge
Click to expand...
Click to collapse
A good choice. Vendor files should be from the same device like device tree.
Use this one:
https://github.com/redmidevs/android_vendor_xiaomi_rolex/tree/lineage-15.1
You need just the camera blobs blobs from your device. But you can do this later.
More important are the firmware files because those are unique for every device.
Replace thos files with the one on your device:
https://github.com/redmidevs/androi...tree/lineage-15.1/proprietary/vendor/firmware
I suggest you to build Lineage15.1 first. The kernel works with Android 8.1.
Thank you for the guidance - looking to give this a try today
@highwaystar_ru @yener90 @codeworkx
I know this is not the place to ask but I haven't gotten any response from the places I was supposed to ask so bear with me
I'm building los 16 for lenovo tab4 10
I've setup the the device tree and vendor and am using prebuilt kernel but while building it stops at 69% with the following error
[ 69% 65628/93948] //vendor/lineage/build/soong:generated_kernel_includes generate
FAILED: /home/skoar/android/lineageos/out/soong/.intermediates/vendor/lineage/build/soong/generated_kernel_includes/gen/.dummy_dep
/home/skoar/android/lineageos/out/soong/host/linux-x86/bin/sbox --sandbox-path /home/skoar/android/lineageos/out/soong/.temp --output-root /home/skoar/android/lineageos/out/soong/.intermediates/vendor/lineage/build/soong/generated_kernel_includes/gen --copy-all-output -c 'make -j CFLAGS_MODULE="-fno-pic" -C O=__SBOX_OUT_DIR__ ARCH=arm64 CROSS_COMPILE="/usr/bin/ccache aarch64-linux-androidkernel-" CROSS_COMPILE_ARM32="arm-linux-androideabi-" headers_install' && touch /home/skoar/android/lineageos/out/soong/.intermediates/vendor/lineage/build/soong/generated_kernel_includes/gen/.dummy_dep
make: *** O=/home/skoar/android/lineageos/out/soong/.temp/sbox985711399: No such file or directory. Stop.
sbox command (make -j CFLAGS_MODULE="-fno-pic" -C O=/home/skoar/android/lineageos/out/soong/.temp/sbox985711399 ARCH=arm64 CROSS_COMPILE="/usr/bin/ccache aarch64-linux-androidkernel-" CROSS_COMPILE_ARM32="arm-linux-androideabi-" headers_install) failed with err "exit status 2"
[ 69% 65635/93948] //frameworks/base:gen-platform-proto-constants generate
ninja: build stopped: subcommand failed.
11:35:26 ninja failed with: exit status 1
Soooo any ideas ???
Here are the repositories I am setting up
https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb8504f
https://github.com/darran-kelinske-fivestars/android_vendor_lenovo_tb8504f
https://github.com/darran-kelinske-fivestars/android_kernel_lenovo_tb8504f
tb8504 kernel looks like can be built with this config https://github.com/HighwayStar/andr...rm64/configs/msm8937_p3588_pcb-perf_defconfig Changes after splitting can be intergrated in 8953 kernel from lenovo-devs org.
vendor blobs and common device tree can be used from here https://github.com/lenovo-devs only some hals has to be renamed or replaced with ones name msm8937 instead of msm8953
Of the g2 models, I know that the f320 model has stopped development of Oreo or higher kernels.
So I'm trying to build the Oreo kernel for the f320 model myself.
I checked the change history of defconfig of other models in github and applied it to defconfig of f320 one by one.
Nevertheless, we have modified defconfig to build the nougat kernel and look at the kernel sources of other phones that use the msm8974 chipset.
github.com/LineageOS/android_kernel_lge_msm8974/commits/lineage-16.0/arch/arm/configs/lineageos_d802_defconfig[/url]
(This is the d802 model I used.)
d800, d801, d802, etc. These defconfig changes are all the same. Simply changing the f320 model will make it bootable, but I think it is wrong ...
I would really appreciate it if you could give me a hint.