Related
I have an Inspire 4g for my phone and I have been trying to follow the cyanogenmod wiki to get a compiled kernel. I am just trying to get it to build to the defaults at this time before I tweak anything. I am on the android-msm-2.6.35-froyo-stable branch, I also tried the android-msm-2.6.37 branch with same results.
If I pull the config from my working version(CM7) and build using that and accepting all defaults its always fails with this error:
Code:
CC arch/arm/mach-msm/acpuclock-7x30.o
arch/arm/mach-msm/acpuclock-7x30.c:32: error: conflicting types for 'acpuclk_power_collapse'
arch/arm/mach-msm/acpuclock.h:31: note: previous declaration of 'acpuclk_power_collapse' was here
arch/arm/mach-msm/acpuclock-7x30.c:47: error: conflicting types for 'acpuclk_set_rate'
arch/arm/mach-msm/acpuclock.h:30: note: previous declaration of 'acpuclk_set_rate' was here
make[1]: *** [arch/arm/mach-msm/acpuclock-7x30.o] Error 1
make: *** [arch/arm/mach-msm] Error 2
I have also tried setting the CPU speeds to see if that was it but still ends up failing with the same error as above
if I use the exact same config accepting all defaults like above on the HTC-msm branch from cyanogen its compiles just fine. I have tried a couple of the defconfig's and the msm ones compile fine, but the cyanogen_msm_defconfig seems to be for another device by looking at the default options. So is there a premade defconfig that I am not seeing in there that I should be using or why does the .config I pull from the working CM7 not work? I would think accepting the defaults this way it should just build fine since it the same kernel version. Can someone please give me some hints or let me know what default defconfig I should use and start from there. I have followed the wiki to a T as well as a few other guides around always with the same results using cm-kernel. I do have expierence building kernel's and OS's for embedded devices and just cant get what I am missing here, I know its probably something stupid on my part being new to Android.
Thanks for any and all help, info, tips
I had the same problem for DHD
Untill I downloaded appropriate kernel
if you use CM kernel from their git it's not configured for DHD or Inspire 4G...
There are a lot of things to be done before it can compile...
I use 2.6.32 from Kali- and it works wonders..
You must find kernel just for your device
no need to pull the config from your device... Mine didn't work.. I used default config for ACE (dhd)
First:
make cyanogen_ace_defconfig
make menuconfig
if there are no inspire or ace defconfigs in /arch/arm/configs than you can't build the kernel that easily
hope I helped a little.. I've lost 7 days to figure that out
LorD ClockaN said:
hope I helped a little.. I've lost 7 days to figure that out
Click to expand...
Click to collapse
Yes you helped tons it made things clear in my error. I like u spent a long time before asking. Feel dumb for not getting cm-kernel is different than the htc-msm ones. I will have to check out the one u said I just used the cyanogen msm branch today. Thanks again for your time
Sent by miniature turtles using the XDA Android app
HTC Inspire - Cyanogenmod rom
This has been started for people interested in porting other ROM's for the Nubia Z7 Mini (NX507J). If you are interested in seeing/using/asking questions about ROM's that currently exist, please use the thread created by @Seyron here. I previously posted the following information on that thread, but feel a new thread will be better so the other can be used for people with questions about existing ones.
I'm not sure what you mean by a good background for going at it; however, I think having a good understanding of computers and even some basic programming is very helpful. As for myself, everything is self-taught. I'm pretty familiar with mac, PC, and linux. Even if you are completely new at it, there is lots of good information out there - I would just encourage you to start by learning from credible and well established sources. I have only tried porting for nubia Z7 mini - no other android. I previously used the iphone (and am frankly glad I now have android).
It really depends on whether you want to do a simple port (that's how I call it - don't know if there's an official way of calling it) or port from source. If you are doing a simple port, you can use any computer (mac, pc, linux); however, if you want to port/build from source it is by far the easiest to do it from Linux. There are many resources out there for building/porting from linux - most of which are using Ubuntu. I personally use Debian (which incidentally Ubuntu was created from; however, they are now each distinct and different), but you could use most any linux distro as long as you are comfortable using the command line. Also, if you are using linux, make sure you have enough hard drive space available (most recommended is at least 30GB) and have enough RAM (I have 16GB - minimum recommended is 8GB). It's also very helpful if you have a large swap set up as it makes building go faster. Once you have everything put together, compiling/building takes 3-5 hours depending on the specs of your computer. I have a 1.7ghz i5 in my computer and it is slow - 4-5 hour range for me.
For the sources list below, please note I have no affiliation with them and do not know them. Use at your own risk, I assume no responsibility for what may happen to your computer or phone.
I think some of the best (and frankly most detailed) information comes from the android source code website and from XDA-University.
https://source.android.com/index.html
XDA-University
For what I call simple porting, can be done on any computer - this was the site I started with and it seemed to work except that I kept getting boot loop issues. There are many other sites out there with nearly identical information. This person uses a PC, but you can adjust it quite simply for doing this on mac or linux too:
http://seekandroid.info/2014/05/porting-android-roms-for-your-phone.html
The following site/instructions are very interesting as they are different than any other site I found out there with porting instructions. I have not done it this way - primarily because I am concerned about "bricking" my phone. The method this person uses is the same; however, the files that they transfer are opposite to most any other site I've found. I have not used these instruction - be very cautious until someone else can confirm.
http://anythingsyouneed.blogspot.com/2014/06/how-to-port-custom-rom-rom-porting.html
This one seems interesting; however, I have not used anything on this website and have not used one of the Kitchen programs.
http://www.littlegreenrobot.co.uk/tutorials/how-to-cook-your-own-android-rom/
Android - excellent and very detailed. Personally I think most helpful to those with intermediate to advanced programming knowledge. Or at least have the ambition and time to learn.
https://source.android.com/source/building-devices.html
XDA-University - Truly amazing wealth of information, approachable for anyone from absolute beginners to advanced programers.
http://xda-university.com/as-a-developer
http://xda-university.com/as-a-developer/porting-aosp-roms-using-source-code
I've been busy and haven't had a chance to use these pages yet, but it's what I'm going to do next to try and solve the boot loop errors.
http://xda-university.com/as-a-user/zip-based-rom-tweaking
http://xda-university.com/as-a-user/how-to-recover-from-a-bootloop
If anyone has anything to add, please do. I'd be interested in seeing what else people use.
I haven't found the required sources to port from source, so I don't know if that's possible. Neither am I experienced in any of that.
In basic porting I do, however so far it has been unsuccesful for the Z7 Mini.
I have tried to port CM11S from the OPO, but it didn't work out, the phone became stuck in a bootloop, and logcat wasn't working to find out what's the problem of not booting. Might be dual-sim related but that should more likely run into a non-working sim/ril or a lot of crashes, not making it not booting at all.
I do wonder how they got the CM11 / Mokee with eng/ch languages to work. Tried using those as base too but that didn't do the trick.
To build completely from source you need to have the kernel source.
ZTE has not yet released it, but I'm hoping it will be released soon.
You can check here.
On Github there's a repo but it's apparently broken.
Anyway you can build cyanogenmod without having the kernel source (http://wiki.cyanogenmod.org/w/Doc:_porting_intro)
As soon as I get my own device I'll try that.
Nice, will follow this thread
I was trying to port the Z7 Max CM11 to the Z7 Mini, still work in progress because i'm new at this...
So, do you have any idea how the existing ROM's were ported then? If they weren't from source, we should be able to port others without getting the boot loop error - in theory. Not finding the kernel source is the main reason (besides finding the time) why I haven't worked on porting others. I also cannot find the vendor tree for the phone - which incidentally, may well be part of the kernel source. If you can port CM without source the others should be equally possible. Personally, I'm not interested in a CM based ROM (although a couple I listed in the other thread that I tried porting were CM based); I'm more interested in an AOSP based ROM. I wonder why ZTE has been so slow to release the kernel? Especially since they've released all the others (albeit not the other Z7's) and they have been so popular.
Also, as I stated in the other thread, I was able to get a couple to boot, but they were stuck in boot loop issues. I forgot to use logcat to see what the issue was.
@voetbalremco I agree with you, how did they get MoKee and MIUI to work? I tried using MoKee as base too - though didn't try MIUI. Does anyone know if it's possible to extract the kernel from the current stock ROM?
pierg75 said:
To build completely from source you need to have the kernel source.
ZTE has not yet released it, but I'm hoping it will be released soon.
You can check here.
On Github there's a repo but it's apparently broken.
Anyway you can build cyanogenmod without having the kernel source (http://wiki.cyanogenmod.org/w/Doc:_porting_intro)
As soon as I get my own device I'll try that.
Click to expand...
Click to collapse
pedrud said:
So, do you have any idea how the existing ROM's were ported then? If they weren't from source, we should be able to port others without getting the boot loop error
Click to expand...
Click to collapse
There are different ways to port a Rom...or you build it from scratch, so you compile everything. And for that you need source for every component.
Or you can use the various kitchens (this one for example) to repack and tweak an existent rom.
pedrud said:
Does anyone know if it's possible to extract the kernel from the current stock ROM?
Click to expand...
Click to collapse
You can do it with the kitchen above or using one of the tools available (like this one for example.
Probably everything can be done with dd (as mentioned in the cyanogenmod guide).
Hopefully my device will be her soon, so I can also try these as well
pierg75 said:
There are different ways to port a Rom...or you build it from scratch, so you compile everything. And for that you need source for every component.
Or you can use the various kitchens (this one for example) to repack and tweak an existent rom.
You can do it with the kitchen above or using one of the tools available (like this one for example.
Probably everything can be done with dd (as mentioned in the cyanogenmod guide).
Hopefully my device will be her soon, so I can also try these as well
Click to expand...
Click to collapse
Thanks for the resources! I think combining those two, plus the info on the CM website, and what's on XDA-University; I should be able to get this figured out. Now all I need to do is find the time.
Today my phone arrived! Tomorrow I'll pick it up and start to do some tests.
Sent from my Nexus 7 using Tapatalk
Here it is Kernel source code for NX507J
github.com/ztemt/Z7Mini_NX507J_H128_kernel
felipebarney said:
Here it is Kernel source code for NX507J
github.com/ztemt/Z7Mini_NX507J_H128_kernel
Click to expand...
Click to collapse
I thought that was the kernel that was either incomplete or broken. Do you know otherwise? I had seen it previously, but had read there were errors with it. If not, that's great! I also wonder if it has the "fixes" that ZTE has made for wifi, BT, etc in the recent updates.
pedrud said:
I thought that was the kernel that was either incomplete or broken. Do you know otherwise? I had seen it previously, but had read there were errors with it. If not, that's great! I also wonder if it has the "fixes" that ZTE has made for wifi, BT, etc in the recent updates.
Click to expand...
Click to collapse
I found on the nubia.cn, but i don't know if this have issues... Anyway last updated was 22 days ago, I hope they have fixed...
felipebarney said:
I found on the nubia.cn, but i don't know if this have issues... Anyway last updated was 22 days ago, I hope they have fixed...
Click to expand...
Click to collapse
Can you post the link where you originally found it? Thanks.
pedrud said:
Can you post the link where you originally found it? Thanks.
Click to expand...
Click to collapse
bbs.nubia.cn/thread-266348-1-1.html
:good:
felipebarney said:
bbs.nubia.cn/thread-266348-1-1.html
:good:
Click to expand...
Click to collapse
Thanks. Although, one person commented on the thread that it is nubia development and isn't open source yet. Won't know for sure and I'm not totally sure how to tell from looking at it. May have to keep waiting - or at least dig a little deeper. Thanks again.
So I started to try to build something with CM-11.
I thought I could put my steps here, in case someone else needs them (or has a better way to do it):
1) Get the repo uility:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
2) Initialize the repository:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3) Sync the repository:
Code:
repo sync
This will take a while (the repo is pretty big).
I've taken some infos from the phone (build.prop, partitioning, kernel, boot.img).
I'll continue as soon as the repo is sync'ed.
Repo sync'ed, now build the environment:
Code:
. build/envsetup.sh
At this point we have to build the structure as explained here
Make sure you have the boot.img extracted (see previous posts about a tool).
Make sure you have the utility "unpackbootimg" installed.
I downloaded from https://github.com/osm0sis/mkbootimg/blob/master/unpackbootimg.c and compiled with:
Code:
gcc -o unpackbootimg unpackbootimg.c
Put it in your $PATH.
Then run the commands to create the directory structure:
Code:
./build/tools/device/mkvendor.sh nubia NX507J ../original/boot.img
"nubia" and "NX507J" come from the build.prop, respectively
Code:
ro.product.manufacturer=nubia
ro.product.device=NX507J
The result from the mkvendor.sh is:
Code:
[...]
Use the following command to set up your build environment:
lunch cm_NX507J-eng
And use the follwowing command to build a recovery:
. build/tools/device/makerecoveries.sh cm_NX507J-eng
...to be continued
pierg75 said:
So I started to try to build something with CM-11.
I thought I could put my steps here, in case someone else needs them (or has a better way to do it):
1) Get the repo uility:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
2) Initialize the repository:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
3) Sync the repository:
Code:
repo sync
This will take a while (the repo is pretty big).
I've taken some infos from the phone (build.prop, partitioning, kernel, boot.img).
I'll continue as soon as the repo is sync'ed.
Click to expand...
Click to collapse
This is great! Thanks. Are you using a PC or Linux and what OS? Those are the next steps that I want to take. I'm interested in doing it with carbon, omni, and maybe paranoid.
pedrud said:
This is great! Thanks. Are you using a PC or Linux and what OS? Those are the next steps that I want to take. I'm interested in doing it with carbon, omni, and maybe paranoid.
Click to expand...
Click to collapse
Obviously I'm using Linux
No windows here
Sent from my NX507J using Tapatalk
pierg75 said:
Obviously I'm using Linux
No windows here
Sent from my NX507J using Tapatalk
Click to expand...
Click to collapse
That's what I assumed, but hey, you never know. You know what they say when you make assumptions... What distro are you using?
Fedora and Debian...BTW I added few more steps in the previous message.
pierg75 said:
Fedora and Debian...BTW I added few more steps in the previous message.
Click to expand...
Click to collapse
Did you see the post by yiphoming on the other thread that CM11 already exists? Any other ROM's you're interested in?
Hi all,
In short i want to modify Android 4.2.2 on my MK802IIIS to allow me to use an external USB WIFI Adapter. The one i have uses a Ralink (MediaTek) RT5372 chipset.
I'm not a beginner, but by no means an expert. I have compiled firmware for my Linux based routers. But compiling Android, or parts of, seems much more complicated. I only want to add support for a USB adapter. Do i need to build the kernel from scratch, or can i create a module? Do i need to cross compile a module or can it be "made" in Ubunutu and just copied across?
I have searched for a RT5372.ko file online, finding references to RT5370, but i dont think it's the same.
I downloaded the driver from the Mediatek website and proceeded to attempt to create a .ko file by making it in Ubuntu but it only created a RT5372STA.dat file. Does this driver need to be cross compilied for android? Also how do i turn it in to a module that i can just load into my currently installed ROM?
I have been poking around for a while so i havent covered everhything i've tried. I'd really like to understand how building for Android works. If anyone can answer any of these questions for me, it'd help me imensely. Or if there is a resource covering these topics that i have yet to come across please point me at it. I know there are a lot of very detailed How-To's for compliling but i seem to get lost with the amount of detail.
Many thanks
More info regarding my setup:
Building in Ubuntu 14.04, 64bit.
The current ROM appears to have been built using the Linaro 4.6.2 toolchain, so u have downloaded that, currently stored in /home/wriggerz/RK3066/Toolchains
Also downloaded the RK3066 Kernel Source, stored in /home/wriggerz/RK3066/RK3066-Kernel
The RT5372 driver has been extracted to /home/wriggerz/RT5572NEW
I've been mashing bits of different guides and suggestions found on other forums together to try and frankenstien this KO module. From within the drivers folder i ran the two commands below. From what i've read this needs to be done to specify which "Toolchain" and "Compiler" to use.
Code:
export CROSS_COMPILE=~/home/wriggerz/rk3066/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-
export ARCH=arm
Then i ran the make command like below to try and have the driver built for the correct Toolchain with the correct Compiler:
Code:
make ARCH=arm CROSS_COMPILE=arm-eabi-linaro-4.6.2
However i get the following response:
Code:
make -C tools
make[1]: Entering directory `/home/wriggerz/RT5572NEW/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/wriggerz/RT5572NEW/tools'
/home/wriggerz/RT5572NEW/tools/bin2h
cp -f os/linux/Makefile.6 /home/wriggerz/RT5572NEW/os/linux/Makefile
make -C /lib/modules/3.16.0-30-generic/build SUBDIRS=/home/wriggerz/RT5572NEW/os/linux modules
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-30-generic'
Makefile:652: Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler
make[1]: arm-eabi-linaro-4.6.2-gcc: Command not found
CC [M] /home/wriggerz/RT5572NEW/os/linux/../../common/crypt_md5.o
/bin/sh: 1: arm-eabi-linaro-4.6.2-gcc: not found
make[2]: *** [/home/wriggerz/RT5572NEW/os/linux/../../common/crypt_md5.o] Error 127
make[1]: *** [_module_/home/wriggerz/RT5572NEW/os/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-30-generic'
make: *** [LINUX] Error 2
Someone knowledgeable will hopefully look at the steps i have just taken to rip it to shreds...... :fingers-crossed:
If not, is there anyone with any ideas of where i'm going wrong?
I think i've put this in the wrong section....
If anyone has to go out of their way to move it they have my sincere apologies.
J Double You said:
I think i've put this in the wrong section....
If anyone has to go out of their way to move it they have my sincere apologies.
Click to expand...
Click to collapse
First of all, I would suggest to recompile the kernel and the entire source code (like when building CM), it is way better than insmodding modules every time, and you have less errors to solve. I'm currently writing a guide about building Cyanogenmod to support awus036h wireless adapter, maybe I can have a look for yours too, shouldn't be too hard. There are two or there good references around, however I'm trying to out all of them together in this new one I want to publish. Hope this will help you too.
Don't download a .KO from internet, it's not going to work. You would not only need to build for the specific device, but also for the specific kernel, which may vary from build to build, that's why I recommend to compile the whole kernel. Please consider to download a ROM's source code or your device kernel.
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Thanks for the helpful response Ciuffy.
Before i ask any more potetnially stupid questions i will do some research on that approach. I look forward to seeing your guide. For now i may be back for some direction.
Thanks again
I do like the ROM i'm on at the minute. NeoTV CR 2.0 (4.2.2), works really well, snappier than others i;ve tried and the benchmark results are pretty good too, but there are a couple of issues with it:
Busybox isnt installed and doesnt install.
Commands dont seem to work in terminal.
Now it doesnt really matter, as i wont be Insmodding the driver now, but it would be nice to have. How do i stay as cose to my current ROM as possible while re-compiling? Do i need to contact the ROM creator and ask them for the source? Should it be available on the web somewhere? Or can i "rip" it off the device? My main goal is to add driver support to the kernel from the drivers srouce files. But it would be nice to have busybox installed too. Was thinking i might re-comile the whole rom, but that be like trying to run before i can stand..... But, learning is amazing, and i learn best by doing!!
Main question: Whats the easiest way to re-compile my current kernel? Do i need source files from the ROM creator? I have asked but havent had a repsonse yet, but it's only been about 16 hours, not even that.
J Double You said:
I do like the ROM i'm on at the minute. NeoTV CR 2.0 (4.2.2), works really well, snappier than others i;ve tried and the benchmark results are pretty good too, but there are a couple of issues with it:
Busybox isnt installed and doesnt install.
Commands dont seem to work in terminal.
Now it doesnt really matter, as i wont be Insmodding the driver now, but it would be nice to have. How do i stay as cose to my current ROM as possible while re-compiling? Do i need to contact the ROM creator and ask them for the source? Should it be available on the web somewhere? Or can i "rip" it off the device? My main goal is to add driver support to the kernel from the drivers srouce files. But it would be nice to have busybox installed too. Was thinking i might re-comile the whole rom, but that be like trying to run before i can stand..... But, learning is amazing, and i learn best by doing!!
Main question: Whats the easiest way to re-compile my current kernel? Do i need source files from the ROM creator? I have asked but havent had a repsonse yet, but it's only been about 16 hours, not even that.
Click to expand...
Click to collapse
Definetely, you should find the kernel source code, I think you can find it on Github, I'll give a look at it. I honestly don't think you can reverse engineer the kernel and recompile it.
Edit: I can't seem to find it. It is also possibile that the source code was not released.
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Stupid Question: Is the SDK the same thing as the source?
If so i think i found what i need to build from scratch here: http://www.cnx-software.com/2013/08/20/rockchip-rk3066-android-4-2-2-hdmi-tv-stick-sdk-leaked/
If thats right, i need to find a way to add the driver i found to the source so it's included in the compilation.
Boom, think i found my base... And answered my previous question. SDK is not source.
http://freaktab.com/forum/tv-player...73-full-1080p-modded-kit-kat-4-4-2-rk3066-rom
The OP kindly links to the kernel source.
Apologies for spamming my own thread, i like to keep anyone watching up to date with progress so they dont waste their time replying to old stuff.
J Double You said:
Boom, think i found my base... And answered my previous question. SDK is not source.
http://freaktab.com/forum/tv-player...73-full-1080p-modded-kit-kat-4-4-2-rk3066-rom
The OP kindly links to the kernel source.
Apologies for spamming my own thread, i like to keep anyone watching up to date with progress so they dont waste their time replying to old stuff.
Click to expand...
Click to collapse
SDK stands for Software Development Kit, in other words the environment that lets you build applications and related for a specific platform.
So, you found the source you were looking for?
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Sure did, i also now know which compiler i need.... arm-linux-gnueabi-4.7.
Now to find out how to add the driver i have downloaded to the kernel.
From what i've read i need to "make" the driver, cross compiling in the process, then put some of the resulting files in situ within the kernel source. (along these lines: http://stackoverflow.com/questions/11710022/adding-new-driver-code-to-linux-source-code).
J Double You said:
Sure did, i also now know which compiler i need.... arm-linux-gnueabi-4.7.
Now to find out how to add the driver i have downloaded to the kernel.
From what i've read i need to "make" the driver, cross compiling in the process, then put some of the resulting files in situ within the kernel source. (along these lines: http://stackoverflow.com/questions/11710022/adding-new-driver-code-to-linux-source-code).
Click to expand...
Click to collapse
Excuse me, are you then going to compile the enitre kernel? Waiting for your answer, there should be an easier way to do this.
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
I was going to, based on your suggestion to compile from scratch, but i have most likely mis-understood what it was you were getting at.
Also, i have downloaded a bunch of toolchains and i have arm-linux-androideabi-4.7, but is that the same as arm-linux-gnueabi-4.7
Again, i could be barking up the completely wrong tree. Which is a shame, as i thought i was actually getting somewhere..... hahaha!
As always, your continued input is greatly appreciated Ciuffy.
J Double You said:
As always, your continued input is greatly appreciated Ciuffy.
Click to expand...
Click to collapse
Yes, I was in fact suggesting you to build from scratch, thinking you could include modules for your adapter in the kernel configuration. However, I can't find what kernel module is exactly going to do it. I found rt2800usb, however I am not sure. You may try to include support for rt2800 and also build the kernel module from the driver source code, as explained in that link for example.
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Ciuffy said:
Yes, I was in fact suggesting you to build from scratch, thinking you could include modules for your adapter in the kernel configuration. However, I can't find what kernel module is exactly going to do it. I found rt2800usb, however I am not sure. You may try to include support for rt2800 and also build the kernel module from the driver source code, as explained in that link for example.
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Click to expand...
Click to collapse
Ah.... I have downloaded the Linux driver from the MediaTek websitefor the RT5372, but it needs "making". Would cross compiling the driver not give me the modules i need to load in to the kernel?
That link explains how to add the required files, but doesnt explain how they're created. I dont think....
J Double You said:
Ah.... I have downloaded the Linux driver from the MediaTek websitefor the RT5372, but it needs "making". Would cross compiling the driver not give me the modules i need to load in to the kernel?
That link explains how to add the required files, but doesnt explain how they're created. I dont think....
Click to expand...
Click to collapse
If by cross compiling you mean building the kernel module while also compiling the source code and then loading it in the running kernel, yes, as long as you downloaded the drivers compatible with the Linux kernel on your Android.
You can either use the instruction on that link on StackExchange, or follow the "How to build them?" section here:
http://forum.xda-developers.com/showthread.php?t=1455382
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Thanks Ciuffy.
Seems i've still got some stuff to get my head around. I'll re-read up and come back.
FAIL!!!
Tried flashing the unit with the ROM i was going to compile a kernel for. Looked to go well, but wouldn't boot past the boot splash screen. And after rebooting wouldnt boot at all. Obviously some fundamental incompatibility, or the fact that it cant handle the overclock....
Problem is i have previously broken the OTG port so i have no way to flash using ADB, not until i get a cable soldered in it's place.
Really just wanted to explain why i may be absent from this topic for a bit. I'm going to make some calls to see if any nearby electronics shops can do the job. Once done i'll be back.
J Double You said:
FAIL!!!
Tried flashing the unit with the ROM i was going to compile a kernel for. Looked to go well, but wouldn't boot past the boot splash screen. And after rebooting wouldnt boot at all. Obviously some fundamental incompatibility, or the fact that it cant handle the overclock....
Problem is i have previously broken the OTG port so i have no way to flash using ADB, not until i get a cable soldered in it's place.
Really just wanted to explain why i may be absent from this topic for a bit. I'm going to make some calls to see if any nearby electronics shops can do the job. Once done i'll be back.
Click to expand...
Click to collapse
In case you misunderstood: I just wanted to point out that once compiled the kernel modules along with the kernel, you don't keed to flash the kernel, only insmod the modules.
Hope you can solve the OTG problem, waiting for your response.
Ciuffy's SM-G900F CM 12.1 spirit hath marked this way. Thank if helped your soul.
Hey guys,
So I've been searching around for a while now and I could not find any updated guide on porting/building custom kernels. I need a lot of help for this, as I am completely new and do not know anything to do with kernel stuff. I do my part by finding out whats a ramdisk and stuff, but please pardon me if I ask very stupid questions which may give you cancer.
I asked quite a few people, but all those don't reply. I won't list names, but just to let you know I tried.
Anyways, my problem here is I want to port a kernel which isn't available for my device, i9305. First kernel I want to try porting is boeffla kernel. Here is the repo --> https://github.com/n0aaz/boeffla-kernel-cm-s3/tree/boeffla13.0_u600 I am continuing off @aaz03 's work, as his laptop spoilt or something. In the first place, when I tried to use the script bbuild.sh, the terminal window immediately closes after a bunch of stuff happened and I cannot find the .zip. I don't even know if there's an error in building because terminal window immediately closes after a huge bunch of text showed up
I would also want to port other kernels in the future but I guess I'll get some basic knowledge of kernels first.
Thanks,
limjh16
limjh16 said:
Hey guys,
So I've been searching around for a while now and I could not find any updated guide on porting/building custom kernels. I need a lot of help for this, as I am completely new and do not know anything to do with kernel stuff. I do my part by finding out whats a ramdisk and stuff, but please pardon me if I ask very stupid questions which may give you cancer.
I asked quite a few people, but all those don't reply. I won't list names, but just to let you know I tried.
Anyways, my problem here is I want to port a kernel which isn't available for my device, i9305. First kernel I want to try porting is boeffla kernel. Here is the repo --> https://github.com/n0aaz/boeffla-kernel-cm-s3/tree/boeffla13.0_u600 I am continuing off @aaz03 's work, as his laptop spoilt or something. In the first place, when I tried to use the script bbuild.sh, the terminal window immediately closes after a bunch of stuff happened and I cannot find the .zip. I don't even know if there's an error in building because terminal window immediately closes after a huge bunch of text showed up
I would also want to port other kernels in the future but I guess I'll get some basic knowledge of kernels first.
Thanks,
limjh16
Click to expand...
Click to collapse
Told you in private : launch the script using
Code:
sudo ./bbuild.sh
The terminal closing problem is due to a syntax error.
Also the kernel, first time I managed to build it was booting, not working, it booted until lockscreen and then immediately bootloop. Will upload the faulty kernel for those who want to try, for every dev/contributer that can help please come and let us make a glorious boeffla kernel
The boeffla I built is from zanezam's custom for i9300 and everything is on my github.
EDIT: make a thread in i9305 Q&A, no one gives a shirt about i9305 here and we will be more visible to i9305 users
aaz03 said:
Told you in private : launch the script using
Code:
sudo ./bbuild.sh
The terminal closing problem is due to a syntax error.
Also the kernel, first time I managed to build it was booting, not working, it booted until lockscreen and then immediately bootloop. Will upload the faulty kernel for those who want to try, for every dev/contributer that can help please come and let us make a glorious boeffla kernel
The boeffla I built is from zanezam's custom for i9300 and everything is on my github.
EDIT: make a thread in i9305 Q&A, no one gives a shirt about i9305 here and we will be more visible to i9305 users
Click to expand...
Click to collapse
Nope, I tried and the terminal still dies.
Anyways I posted here because not only boeffla I also want to port AK. But boeffla first since the "base" has been set I guess...
edit: I'll make a thread in i9305 Q&A tmr, no time today.
limjh16 said:
Nope, I tried and the terminal still dies.
Anyways I posted here because not only boeffla I also want to port AK. But boeffla first since the "base" has been set I guess...
edit: I'll make a thread in i9305 Q&A tmr, no time today.
Click to expand...
Click to collapse
Here the booting boeffla I built : https://mega.nz/#!PEh2mTCL!jvkZ-xaDXiMlymTUMxeObZ471-d_9kCGP2xAYF67Pmw it will probably help
Hello,
I asked Boeffla once and he told me to pick all commits from his Boeffla Kernel to your kernel. At your site, I would start with adding some custom Governos. And after that pick some schedulers.
Clone your kernel (git clone)
Fetch the other kernel repo (git fetch)
Pick the commit (git cherrz-pick)
Push the commit (git push)
Then you will see n0aaz committed with Trafalgar-Square (your username) on date in GitHub.
Trafalgar Square said:
Hello,
I asked Boeffla once and he told me to pick all commits from his Boeffla Kernel to your kernel. At your site, I would start with adding some custom Governos. And after that pick some schedulers.
Clone your kernel (git clone)
Fetch the other kernel repo (git fetch)
Pick the commit (git cherrz-pick)
Push the commit (git push)
Then you will see n0aaz committed with Trafalgar-Square (your username) on date in GitHub.
Click to expand...
Click to collapse
Yeah I agree this is a normal procedure for a kernel port but for us it isn't really a port as the i9300 and the i9305 share the same smdk4412 source with very few differences so you can easily recycle the folder and I take as proof that it is booting. Plus I have zero knowledge about standalone kernel building so I'm happy with the boeffla building script...
So, I recently got a ASUS Zenfone 4 Selfie Pro, the phone is stuck on android 7.1 and doesn't have any roms, nothing, just TWRP. So I'm on a journey trying to build stuff for this device from the ground up, I already made a device tree based on Zenfone 3 (which has the same SoC) and I tried to build lineage/cyanogenmod 14.1 for it and got a lot of kernel errors, so I went to try to compile the kernel from the source ASUS gave on their website and uploaded it to my github. In this past 3 days was able to fix and workaround some of the errors I got while building, but now I'm stuck on this one: https://hastebin.com/iqisuzegeg.coffeescript | any help would be greatly apreciated .
For easier access to the kernel source I uploaded it to my github and made some fixes/workarounds for some errors: https://github.com/2003Frost/android_kernel_asus_Z01M_stock
I'm using Linaro 7.5.0 as arm64 toolchain.
I'm using Zorin OS 15.2 as OS.
If any more information is needed I'll be glad to give out.
0
Seppppx said:
Hmm. There is probably no definition for 'drivers/platform' and 'drivers/platform/msm' . But there is a reference (probably). Also have you tried to build the kernel with the defconfig "the manual way". If there is something wrong with the kernel I have almost no way of helping you because I'm not a real developer.
EDIT : There is a kernel source for your phone that on a developer's github https://github.com/shakalaca/android_kernel_asus_zd552kl . That is also the person who is the maintainer for official twrp. He has some large commits on the kernel so his kernel should build.
Click to expand...
Click to collapse
I already tried his kernel and got the same exact error :/
I didn't understand fully what you said with "the manual way" but I'm trying to compile the kernel outside the rom build environment, by using my device's defconfig and compiling with linaro.
0
Seppppx said:
By the manual way I mean the with the defconfig. Also I made a pull request to your Device Tree (adds persist partition and Shakalaca's kernel).
Also if you're trying to build with defconfig there is a tutorial by google. https://source.android.com/setup/build/building-kernels-deprecated .
After that you will have to put it to the boot image. Another guide for that. https://source.android.com/setup/build/building-kernels#embedding-into-Android .
Edit : Isn't the Android kernel build with the defconfig when you run a source build? I think it actually builds the kernel when you build android so you don't build the kernel separately.
Click to expand...
Click to collapse
I accepted your pull request. Yes when you build a rom from source it also compiles the kernel, but I wasn't able to build the rom because it gave me kernel errors, so I went and started compiling separately because it's easier to fix kernel errors like this.
I am not using Google's tutorial, I'm following one that has almost the same steps and I'm using the same toolchain.
0
Seppppx said:
By toolchain you mean tools that you need to compile a kernel? Why doesn't one just install the tools needed to compile a kernel source.
The guide I linked doesn't specify any toolchain (thus idk if I need one). It also doesn't have anything to do with build.sh script used to compile a kernel. Instead it uses the defconfig. The commands are actually very simple.
cd kernel-source_code
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-android-
make ZD552KL-Phoenix_defconfig
make
Also have you tried to build another kernel that you are sure builds? If another kernel builds. The issues have to do something with the kernel itself. If it does not it's most likely something else.
Click to expand...
Click to collapse
To compile a kernel from source you need something a cross compiler or toolchain in my case I'm actually using the exact same commands you commented with linaro toolchain/cross compiler (aarch64-linux-android). As far as I know you need that to compile a kernel and I don't think the toolchain is the problem but the kernel itself. I can try another kernel later to see if it compiles.
0
Seppppx said:
Okay thanks!
If you manage to compile the kernel for your device make sure to mention/quote me. I would like to contribute. I'm on my way to make another pull request (now about cameras).
Click to expand...
Click to collapse
If you want to talk to me more quickly you can message me on telegram https://t.me/Frost_2003
0