I'm aware that there are custom kernels for 5.0 by rumirand and entropy,
but rumirand's kernel is not really 100% compatible with YP-GB70 (KOR) and this is the device that i currently have.
Unfortunately, even in Korea GP forum, there is absolutely no custom kernel for 5.0 (Tegrak Kernel exists for 4.0)
So i wanted to develop it on my own so i've been searching for instructions.
I've instaled ubuntu, installed bunch of stuffs.
but i have no idea how to start. all those guides were incoherent.
can somebody tell me some basic infos and things that i should know for developing YP-GB70 kernel?
I would advice starting with reading about linux kernel structure, how it works etc.
I would like to develop new kernel for 5.0 too
Send from samsung galaxy s wifi 5.0 running paranoidandroid.
search, search, search!
That's what I had to do. I now have a modified, compiled and running kernel with no prior experience. Follow that guide, look at the android site for setting up an environment, etc.
Then you need your source files + initramfs. I don't think samsung has released their initramfs source so you're going to need to find it elsewhere. Samsung stuff is also different than the nexus things that the android site refers to so you need to take bits and pieces of information from places and piece it together yourself. I recommend looking at other kernel builder's githubs too, I've modified others sources and have wound up with good results.
exodus454 said:
search, search, search!
That's what I had to do. I now have a modified, compiled and running kernel with no prior experience. Follow that guide, look at the android site for setting up an environment, etc.
Then you need your source files + initramfs. I don't think samsung has released their initramfs source so you're going to need to find it elsewhere. Samsung stuff is also different than the nexus things that the android site refers to so you need to take bits and pieces of information from places and piece it together yourself. I recommend looking at other kernel builder's githubs too, I've modified others sources and have wound up with good results.
Click to expand...
Click to collapse
yeah that's what i was doing. i managed to extract initramfs from the zimage but dont know what to do anymore :silly:
Do you have any idea if the initramfs is the same between your version and the rest of the world? You might be able to use an already extracted version.
Sent from my YP-G70 using xda premium
exodus454 said:
Do you have any idea if the initramfs is the same between your version and the rest of the world? You might be able to use an already extracted version.
Sent from my YP-G70 using xda premium
Click to expand...
Click to collapse
yes? i searched github but there weren't any for GB70 (there was g70)
So i just did it by myself, which took me around an hour. Everything was new to me so uploading GB70 initramfs to github took me like 30 mins.:silly:
my next step is to add cwm recovery to the kernel and it;s quite hard. most of the guides written in this forum are usually written for specific devices.
Before you start modifying the kernel, and i suggest you try compiling it to make sure your sources are good.
Sent from my SGP5 with XDA Premium
exodus454 said:
Before you start modifying the kernel, and i suggest you try compiling it to make sure your sources are good.
Sent from my SGP5 with XDA Premium
Click to expand...
Click to collapse
It can't be wrong. I got the zImage from Korean stock rom tar. But you are right. I gotta try decompiling and compiling to make sure
stylemate said:
It can't be wrong. I got the zImage from Korean stock rom tar. But you are right. I gotta try decompiling and compiling to make sure
Click to expand...
Click to collapse
Just a note..you can't decompile a kernel binary. The farthest you can go is extracting the initramfs from it. To get a kernel you would have to build it from source.
Sent from my HTC One S using Tapatalk 2
klin1344 said:
Just a note..you can't decompile a kernel binary. The farthest you can go is extracting the initramfs from it. To get a kernel you would have to build it from source.
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
oops seems like i made a noobish term mistake there
i wanted to write unpack but thought that decompile can be used also. Thanks!
Related
Hey...just wondering...How to put acpuclock-7x30.c in boot.img?or after rooting the phone and use root explorer?
I found this file from another thread(http://forum.xda-developers.com/showthread.php?t=1320270&page=2)
Kudos to hartej
for a this device which has the same cpu/gpu as mine and i wanted to know where this file is and how can i replace it in order to use the new frequency and steps!!
Thank you!! (Yes i am a lil bit noob,sorry)
nfsmw_gr said:
Hey...just wondering...How to put acpuclock-7x30.c in boot.img?or after rooting the phone and use root explorer?
I found this file from another thread(http://forum.xda-developers.com/showthread.php?t=1320270&page=2)
Kudos to hartej
for a this device which has the same cpu/gpu as mine and i wanted to know where this file is and how can i replace it in order to use the new frequency and steps!!
Thank you!! (Yes i am a lil bit noob,sorry)
Click to expand...
Click to collapse
Not a trivial matter. Here's a synopsis: You'll have to get a compatible kernel source tree, then get a linux environment set up with the cross compiler chain for your target system (Arm), then modify and compile the kernel. Once you've got a good working kernel, you need to put together a boot.img for your device. You'll need a working boot.img to tear apart. You break the boot.img down into its ramdisk and kernel, then rebuild it using your new kernel. Once you've got a working boot.img, you flash it to your device.
Each of the above steps involve substeps that could fill entire posts or more. Like I said, this is anything but trivial.
Are you sure there's not a custom kernel/boot image already compiled for your device? That would be the easiest route.
Thank you sooo much for aswering!!
No,there isn't any kernel available for my device WT19i really only cm7 is the other option instead of stock rom/kernel...
It has though the ability to chose 1.6ghz instead of the stock 1.0ghz for my device,but i was just asking weather this could be done...
Sooo...i need to follow some kind of tutorial to do this on my own huh..?
nfsmw_gr said:
Thank you sooo much for aswering!!
No,there isn't any kernel available for my device WT19i really only cm7 is the other option instead of stock rom/kernel...
It has though the ability to chose 1.6ghz instead of the stock 1.0ghz for my device,but i was just asking weather this could be done...
Sooo...i need to follow some kind of tutorial to do this on my own huh..?
Click to expand...
Click to collapse
Are you sure about the kernel source? The Linux GPL requires that OEMs provide their modified kernel source code as part of the terms of use. I don't know what a WT19i is, but they probably have a site somewhere that has the kernel source code. If not, then there's really not much you can do.
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums
Moving to Q&A
answer...
Well...it's a very new device(Live with walkman is it's normal name)
The only site i could find something is http://developer.sonyericsson.com/wportal/devworld/search-downloads/opensource?cc=gb&lc=en
but it doesn't have my device name anywhere except only the firmware version(which is the same with 4 more devices!!!! :S )
Soo...i can't do anything huh..?
Gene Poole said:
Are you sure about the kernel source? The Linux GPL requires that OEMs provide their modified kernel source code as part of the terms of use. I don't know what a WT19i is, but they probably have a site somewhere that has the kernel source code. If not, then there's really not much you can do.
Click to expand...
Click to collapse
Gene Poole said:
I don't know what a WT19i is
Click to expand...
Click to collapse
This: http://pdadb.net/index.php?m=specs&id=2979&c=sony_ericsson_wt19__wt19i_walkman.
Hi there
I'm Chaosz-X, known from some kernel work for the HTC Desire, and my custom ROM, and one of the first people (with Texasice, Sandvold, and Shaky153) to get ICS running on the Desire. Since it wouldn't be a bad idea at all to update the kernels of our devices to 3.0, as that is the recommended version for 4.0.3 of ICS, I decided to work ono that.
I took the Tiamat 8x50 source as a base, and applied all the changes of 2.6.39.4. Once this version is up and running, we should be able to download a brand new version of the kernel as 1 patchset, and apply it within a couple of minutes. And more importantly, it will make the work on porting of drivers (e.g. HWA) easier as our kernel isn't a bottleneck anymore. I just finished uploading the source code of this 2.6.39 kernel, and with a few modifications, it should run on the Nexus One too I think. So here is the link:
http://api2.ge.tt/0/8XflAuC/0/blob/download
The file in the root called 'RENAME THIS TO (DOT)config', you can remove it. It is the .config of the Desire. Instead, copy \arch\arm\config\tiamat_mahimahi_defconfig to the root of the folder, and rename it to .config
Edit the MAKEFILE in the root to redirect to the place of the toolchain. The line that has to be edited for this is:
CROSS_COMPILE ?= arm-eabi-
Get Linaro Toolchain for Android, and replace this arm-eabi- with the location of the Linaro toolchain. Enter the terminal, get root access, and type:
make menuconfig
And press EXIT, and YES to save. Then enter
make -j2 -i (if you have 2 cores, if you have 4, you can try -j4)
And it should compile. It will tell you where it put the WiFi 4329 drivers, and you should find a zImage in /arch/arm/boot/. I never checked how the Nexus One has to be flashed with a new kernel, but this zImage is the one you need to get on your device (pretty sure some people here can take care of this ).
And then, report in this topic how it works, what works and what doesn't, etc. I haven't tried compiling this yet as I don't have my Linux machine here atm, so you may run into errors and it can stop compiling: if so, tell me.
(and make sure you got all the dependencies to build a kernel, if you don't know which one you need, Google it)
Sounds promising. Is everything from desire thread working for N1?
You mean in the kernel? This kernel is based on Tiamat, and that was the one we were using for ICS, and only tethering through USB (natively) and real HWA without hacks wasn't working, and I applied modifications from 2.6.39 source to get the kernel to new standards, so it should work better on ICS. I don't know whether it really fixes the issue, because I haven't tested it yet (don't have a N1 around here, and I don't have a Linux machine with me here atm).
I hope to update it once again to Linux 3.0 kernel in one or two weeks, along with modifications from CodeAurora which got everything running on the DHD too. But for now, this kernel may already fix the issues, but we don't know until we flash 'em
Chaosz-X said:
You mean in the kernel? This kernel is based on Tiamat, and that was the one we were using for ICS, and only tethering through USB (natively) and real HWA without hacks wasn't working, and I applied modifications from 2.6.39 source to get the kernel to new standards, so it should work better on ICS. I don't know whether it really fixes the issue, because I haven't tested it yet (don't have a N1 around here, and I don't have a Linux machine with me here atm).
I hope to update it once again to Linux 3.0 kernel in one or two weeks, along with modifications from CodeAurora which got everything running on the DHD too. But for now, this kernel may already fix the issues, but we don't know until we flash 'em
Click to expand...
Click to collapse
AMAZING news for us N1 owners. We've been waiting for a 3.0 kernel for some time now. True HW Acceleration on ICS ROMs puts a BIG smile on my face!
Great job man.
Sent from my Nexus One using xda premium
Yeah
Now, who wanna try it ?
Sounds very promising, Chaos-X!
What we would need now, however, is for someone to pack this into a boot.img (or flashable zip) for easy installation.
xeloni said:
Now, who wanna try it ?
Click to expand...
Click to collapse
If someone will compile and pack into a flashable zip....I'll test it.
Sent from my Nexus One using xda premium
PHP:
include/linux/types.h:156: error: redefinition of typedef 'dma_addr_t'
/home/zyr3x/android/kernel/222/arch/arm/include/asm/types.h:23: note: previous declaration of 'dma_addr_t' was here
no make
Remove the declaration on line 156 then, seems pretty obvious to me ;p And make sure you're building with -i
this not help, mass errors
This news is great to hear. If I read correctly, hopefully a 3.0 kernel will be on it's way. Finally we will be able to get ICS in full hardware acceleration mode! Long live the N1 and the devs here on XDA!
No luck compiling I assume? :/
Sent from my Nexus One using xda premium
- If you are able to build a zImage, I believe, it is pretty simple to convert it to boot.img. Android provides a host side utility mkbootimg.
- It is build during Android compilation process. It takes the zImage, ram-disk and concatenates them to form boot.img which has a header to identify where kernel starts, where ram-disk starts etc embedded into the boot.img.
Its syntax is:
mkbootimg --kernel <path_of_zImage>/zImage --ramdisk <path_of_ramdisk>
The only thing that needs to be checked is, will the default ramdisk (from any working boot.img) work with new kernel?
From Desire topic:
Think it's almost done... The BCM4329 module caused an error, which took some time to fix, and atm there's an issue in 80211 functionality, and when that's done I think we're pretty close to getting final image
Click to expand...
Click to collapse
Still working on it
This is so exciting, is this all that's standing in the way of full Hardware acceleration?
Well, theoretically no. You could port over all stuff from a 3.0 kernel to a 2.6 kernel regarding HWA, and it could simply work. However, ICS is recommended to work with a 3.0 kernel, and a later version of Android maybe won't even work anymore with a 2.6 kernel, so the earlier we move on to the latest kernel, the better. Even if HWA wouldn't be working in this new build, it certainly will be much easier to fix it, because the entire environment is now ready for a patch for a 3.0 kernel.
Example:
You want the HWA fix from 3.0 in 2.6. You port it (which takes time), and then you see it depends on something else > port that over too. Oh wait, that conflicts with this old snippet of code, fix that...etcetera.
In our new build: the fix is already there and working, or we can simply fix it once, and don't have to worry about 50 other files which got broken dependencies.
BTW, build finished for Desire, uploading it now. If it boots for a Desire, I'm compiling it for the Nexus One too today or tomorrow. Though I will need someone from your community with a CM7 running device, but more info on that coming
Chaosz-X said:
Well, theoretically no. You could port over all stuff from a 3.0 kernel to a 2.6 kernel regarding HWA, and it could simply work. However, ICS is recommended to work with a 3.0 kernel, and a later version of Android maybe won't even work anymore with a 2.6 kernel, so the earlier we move on to the latest kernel, the better. Even if HWA wouldn't be working in this new build, it certainly will be much easier to fix it, because the entire environment is now ready for a patch for a 3.0 kernel.
Example:
You want the HWA fix from 3.0 in 2.6. You port it (which takes time), and then you see it depends on something else > port that over too. Oh wait, that conflicts with this old snippet of code, fix that...etcetera.
In our new build: the fix is already there and working, or we can simply fix it once, and don't have to worry about 50 other files which got broken dependencies.
BTW, build finished for Desire, uploading it now. If it boots for a Desire, I'm compiling it for the Nexus One too today or tomorrow. Though I will need someone from your community with a CM7 running device, but more info on that coming
Click to expand...
Click to collapse
I can try it with MeDroid ICS 4.0.3 V6 if the kernel's theoretically supported.
woozyking said:
I can try it with MeDroid ICS 4.0.3 V6 if the kernel's theoretically supported.
Click to expand...
Click to collapse
Ditto from me.
Sent from my Nexus One using xda premium
theoretically it will work on all devices. In fact, just wait )
i can also test kernel if needed, on any rom suggested by Chaosz-X
Hi!
I'm decided to get into Android development, and help making a fully working cm9 port for Galaxy Player. I have read that we need to port the 3.0 kernel to get many things working such as hardware acceleration. I think the kernel in the boot.img but I can't find one in JackpotClavin's cm9 zip.
Where can I find the kernel files?
hunstalix said:
Hi!
I'm decided to get into Android development, and help making a fully working cm9 port for Galaxy Player. I have read that we need to port the 3.0 kernel to get many things working such as hardware acceleration. I think the kernel in the boot.img but I can't find one in JackpotClavin's cm9 zip.
Where can I find the kernel files?
Click to expand...
Click to collapse
I think he is using ambrice's boot.img from cm7 for the Galaxy Player 5.0. He hasn't gotten a boot yet on his 3.0 kernel port though.
Sent using Tapatalk
Thanks for the answer, I have found the cm7boot.img, but I can't extract it. I used an perl script, founded on FYA, but it says:
Android Magic not found in boot.img. Giving up.
This cm7 boot image differs from the others? How can I extract it?
CALLING ALL DEVS AND PORTERS
Galaxy s wifi/player 5.0
Ok guys ive been trying since the Galaxy Nexus OTA drop to try and port this to our device the GALAXY WIFI 5.0 but im having no luck so I am posting all i know here and I need help from devs please
Status:
Not booting Stuck on samsung logo
Here is a list of what I have done
Ramdisk diff
This is a diff file for the Jellybean ramdisk from ICS. This is from the galaxy nexus and will have to be changed for your specific device. Some notes that are not shown in the diff are that /sbin/adbd and init changed -- These are both binaries so they need to be manually taken from the jb ramdisk.
http://pastebin.com/xwCLRrT0
Files changed in /system/
This is a list of files that have changed in JB... Please check /vendor/{device vendor}/{device name}/ and[/SIZE][/SIZE] /device/{device vendor}/{device name}/ in the CM source to make sure they don't overlap... If any do, just keep your cm9 versions.
/system/app/ - Basically every apk, don't even bother copying individual changed files
/system/bin/
adb.p dumpsys.p mksh.p sdptool.p
applypatch.p fsck_msdos.p mtpd.p sensorservice.p
app_process.p gzip.p ndc.p servicemanager.p
bluetoothd.p hciattach.p netcfg.p service.p
bootanimation.p hostapd.p netd.p setup_fs.p
brcm_patchram_plus.p installd.p pand.p smc_pa_ctrl.p
bugreport.p ip6tables.p ping.p surfaceflinger.p
dalvikvm.p ip.p pppd.p system_server.p
dbus-daemon.p iptables.p racoon.p tc.p
debuggerd.p keystore.p rild.p tf_daemon.p
dexopt.p linker.p run-as.p toolbox.p
dhcpcd.p logcat.p schedtest.p vdc.p
dnsmasq.p logwrapper.p screencap.p vold.p
drmserver.p make_ext4fs.p screenshot.p wpa_supplicant.p
dumpstate.p mediaserver.p sdcard.p
NEW
atrace content e2fsck mdnsd requestsync uiautomator
/system/xbin/
dexdump.p/system/etc/apns-conf.xml.p fallback_fonts.xml.p permissions
audio_effects.conf.p gps.conf.p ppp
dhcpcd media_profiles.xml.p security
event-log-tags.p NOTICE.html.gz.p system_fonts.xml.p
NEW
audio_policy.conf media_codecs.xml security
fallback_fonts-ja.xml preferred-apps
/system/media/ & /system/fonts/ - Just take it all from jb as pretty much none is device specific.
/system/framework/ - Everything
Do we have to change the CM9 boot image ?
Im using CM9 as base
Good luck! I'd help, but I know ziltch about rom deving.
Sent from my YP-G70 using xda app-developers app
I still don't understand the obsession with SDK ports and winzip kangbang ports of firmwares from completely unrelated devices.
You're going to experience massive levels of frustration and achieve nothing in the next few weeks that won't be completely invalidated when source drops.
Entropy512 said:
I still don't understand the obsession with SDK ports and winzip kangbang ports of firmwares from completely unrelated devices.
You're going to experience massive levels of frustration and achieve nothing in the next few weeks that won't be completely invalidated when source drops.
Click to expand...
Click to collapse
I agree. I'm going to wait for the sources to be released before properly working on JB
Sent from my YP-G70 using xda app-developers app
Entropy512 said:
I still don't understand the obsession with SDK ports and winzip kangbang ports of firmwares from completely unrelated devices.
You're going to experience massive levels of frustration and achieve nothing in the next few weeks that won't be completely invalidated when source drops.
Click to expand...
Click to collapse
meh gives me something to do and I learn new things about Android development on the way, I enjoy expanding my knowledge lol
Rueben_ said:
meh gives me something to do and I learn new things about Android development on the way, I enjoy expanding my knowledge lol
Click to expand...
Click to collapse
Might join you on this if you don't mind? I also, have nothing to do at the minute.
What youa re trying to do is valid, and should be rewarding if it comes to fruition. But first you need a 4.1 kernel to use. If you don't have an appropriate kernel, it will be stuck at the bootloader like you described.
Why even port jelly bean if we dont even have a kernel for our ICS roms yet?
cleve321 said:
Why even port jelly bean if we dont even have a kernel for our ICS roms yet?
Click to expand...
Click to collapse
I am pretty sure this is for the 5.0, not the 4.0.
cleve321 said:
Why even port jelly bean if we dont even have a kernel for our ICS roms yet?
Click to expand...
Click to collapse
'Cause why not? If nothing else it could make it easier for when we Do have a kernel.
hanthesolo said:
I am pretty sure this is for the 5.0, not the 4.0.
Click to expand...
Click to collapse
I know that
DeLaVicci said:
'Cause why not? If nothing else it could make it easier for when we Do have a kernel.
Click to expand...
Click to collapse
Its gonna be awhile before we have a kernel.
hanthesolo said:
What youa re trying to do is valid, and should be rewarding if it comes to fruition. But first you need a 4.1 kernel to use. If you don't have an appropriate kernel, it will be stuck at the bootloader like you described.
Click to expand...
Click to collapse
Is that strictly true? With droid 4.1 not being a major update, I can't see there being a HUGE difference in Kernel.
cleve321 said:
Its gonna be awhile before we have a kernel.
Click to expand...
Click to collapse
Hope progress on that is still continued, cause without the proper kernel, it will just make ICS on our devices render useless when it comes to core features.
Sent from XDA
abtekk said:
Is that strictly true? With droid 4.1 not being a major update, I can't see there being a HUGE difference in Kernel.
Click to expand...
Click to collapse
Not being a 5.0 dev or a kernel dev don't hold me to my words, but I believe you must change the kernel before it boots a next android iteration. At least that was the case with honeycomb.
YoBob said:
Hope progress on that is still continued, cause without the proper kernel, it will just make ICS on our devices render useless when it comes to core features.
Sent from XDA
Click to expand...
Click to collapse
And Jelly bean is gonna be the same way too
hanthesolo said:
Not being a 5.0 dev or a kernel dev don't hold me to my words, but I believe you must change the kernel before it boots a next android iteration. At least that was the case with honeycomb.
Click to expand...
Click to collapse
But if I remember rightly, in order to boot CM9 properly on the Nook TABLET, they had to use the GB kernel.
abtekk said:
But if I remember rightly, in order to boot CM9 properly on the Nook TABLET, they had to use the GB kernel.
Click to expand...
Click to collapse
I am not saying you cannot use a older kernel, I just think you cannot use a unmodified older kernel.
cleve321 said:
And Jelly bean is gonna be the same way too
Click to expand...
Click to collapse
Hope not. Definitely want to see a post GB ROM as a daily driver. Hope dev work is still continued.
Sent from XDA
hanthesolo said:
Not being a 5.0 dev or a kernel dev don't hold me to my words, but I believe you must change the kernel before it boots a next android iteration. At least that was the case with honeycomb.
Click to expand...
Click to collapse
Well Jackpot's CM9 port used the CM7 kernel, if I recall.
Even if it was ported, there still wont be many feature we could use
I'd like to know what are the differencies between kernels for, for example, CM10 and stock manufacturer's JB. Can we use stock kernel to build something different from stock? I've found no info myself so I'd like to ask you for help.
nagato.fm said:
I'd like to know what are the differencies between kernels for, for example, CM10 and stock manufacturer's JB. Can we use stock kernel to build something different from stock? I've found no info myself so I'd like to ask you for help.
Click to expand...
Click to collapse
Different kernels have different features and performance, the vast majority of kernel threads will include an overview of the features it has. The difference between stock Jelly bean from the manufacture and CM10 is features, for example the CM10 kernel includes additional governors and io schedulers as well as many performance tweaks. And yes you can use the stock Android kernel as a starting point to create your own custom kernels.
Sent from my SCH-I535 using xda premium
shimp208 said:
Different kernels have different features and performance, the vast majority of kernel threads will include an overview of the features it has. The difference between stock Jelly bean from the manufacture and CM10 is features, for example the CM10 kernel includes additional governors and io schedulers as well as many performance tweaks. And yes you can use the stock Android kernel as a starting point to create your own custom kernels.
Sent from my SCH-I535 using xda premium
Click to expand...
Click to collapse
So it's possible to use stock kernel sources to port CM, for example?
nagato.fm said:
So it's possible to use stock kernel sources to port CM, for example?
Click to expand...
Click to collapse
Yes, using the kernel source for your device is a important part of creating a fully functional Cyanogenmod port. I would recommend taking a look at this guide to porting Cyanogenmod for a new device wiki.cyanogenmod.org/w/Doc:_porting_intro.
Sent from my SCH-I535 using xda premium
shimp208 said:
Yes, using the kernel source for your device is a important part of creating a fully functional Cyanogenmod port. I would recommend taking a look at this guide to porting Cyanogenmod for a new device wiki.cyanogenmod.org/w/Doc:_porting_intro.
Sent from my SCH-I535 using xda premium
Click to expand...
Click to collapse
One more question: what is platform source and where (or how) to get vendor files? Sorry, I've found no answers in google.
nagato.fm said:
One more question: what is platform source and where (or how) to get vendor files? Sorry, I've found no answers in google.
Click to expand...
Click to collapse
The platform source is the actual Cyanogenmod source code and is obtained by doing the following step during the build process:
Code:
$ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
$ repo sync
I would recommend taking a look at this guide for an overview of the build process as well as this guide. Vendor files have to be pulled from your device they are proprietary files such as binaries, and other driver components that allow your device to function properly (Phone, camera, GPS, etc.). If you are using a Nexus series device binaries can be downloaded here. If you don't have a Nexus series device take a look at this guide to setting up vendor files and use this guide as a base to extract the proprietary files after you setup the vendor folders.