Haykuro kernel .config - G1 Android Development

Can anyone help me extract the .config file from the kernel used on the HTC build?

This is standard linux stuff, the running kernel config is availible in /proc just like in most linux distros.
Code:
adb pull /proc/config.gz /tmp
zcat /tmp/config.gz

Related

[Guide] Instructions for the Addition of A2SD to a rom

A2sd installation
First and foremost you need to either edit the boot.img you have or grab one from a rom that has it enabled already.
For the purpose of editing the boot.img>
unpack , there will be two new files kernel + ramdisk
then unpack ramdisk to find init.rc, these are the edits needed.
Below this “setprop net.tcp.buffersize.wimax4096,87380,110208,4096,16384,110208”
add this
Code:
start a2sd
on property:cm.filesystem.ready=1
class_start default
below this “install-recovery.sh”
add this
Code:
service a2sd /system/bin/logwrapper /system/bin/sh /system/bin/a2sd
disabled
oneshot
then repack.
Download the 2.7 update one, unpack and copy the system folder to the system folder of your rom.
Next is the update script, you need to add this
# a2sd
set_perm 0 0 0777 SYSTEM:bin/a2sd
set_perm 0 0 0777 SYSTEM:bin/fixa2sd
set_perm 0 0 0777 SYSTEM:bin/boota2sd
set_perm 0 0 0777 SYSTEM:bin/chka2sd
set_perm 0 0 0777 SYSTEM:bin/setupa2sd
set_perm 0 0 0777 SYSTEM:bin/starta2sd
set_perm 0 0 0777 SYSTEM:bin/bash
set_perm 0 0 0777 SYSTEM:bin/e2fsck
set_perm 0 0 0777 SYSTEM:bin/busybox.a2sd
set_perm 0 0 0777 SYSTEM:bin/apps2sd
set_perm 0 0 0777 SYSTEM:xbin/a2sd
set_perm 0 0 0777 SYSTEM:xbin/apps2sd
set_perm 0 0 0777 SYSTEM:etc/init.d/04apps2sd
set_perm 0 0 0777 SYSTEM:xbin/e2fsck
set_perm 0 0 0777 SYSTEM:bin/zipalign
set_perm 0 0 0777 SYSTEM:bin/aligna2sd
If I missed anything please let me know and I will update it ASAP
Thanks again
Your welcome, for as many request as I had to post info on this you where the only on to reply, LOL....
Hope this helps everyone...
I just don't think that it's release was very what's the word i'm looking for?
are you using avabox (found here ) to decompile your boot.img
I'm using a Perl script caleld split_bootimg.pl to separate the kernel and the ramdisk from the boot.img. The modifications required to get A2SD working on a rom are in the ramdisk portion of boot.img.
thatguythatdid said:
I just don't think that it's release was very what's the word i'm looking for?
are you using avabox (found here ) to decompile your boot.img
Click to expand...
Click to collapse
Well I just learned something and I hope that it helps someone. If your using avabox to split a boot.img into the kernel and ramdisk the first time u use it. Run the activeperl exe. then go to all programs and run the activeperl program and give it a sec to do it's things.
Then cd to the the boot sripts folder using command prompt and type
Code:
perl split_bootimg.pl boot.img
that will split your boot img now to figure out how to read it?
never mind I used 7zip to extract it then extract the next folder now i can see it in english
How do I repackage it?
See, I run Ubuntu Linux. The procedures are different for me.
To repackage, I run a program called mkbootimg (it's a linux binary...there may be an equivalent one in Windows). That creates a new boot image.
But, first, you have to gzip your ramdisk again. Once you do that, I run the following command:
mkbootimg --kernel <kernel segment of boot.img> --ramdisk <newly compressed ramdisk> --cmdline "no_console_suspend=1 console=null" -o <name of new boot image> --base 0x19200000
For me:
./mkbootimg --kernel boot.img-kernel --ramdisk newramdisk.gz --cmdline "no_console_suspend=1 console=null" -o newboot.img --base 0x19200000
boot.img-kernel is the kernel segment of the boot.img I separated.
newramdisk.gz is a gzip file containing the new ramdisk I modified
newboot.img is the image file I'm creating that has the old kernel and new ramdisk.
thatguythatdid said:
Well I just learned something and I hope that it helps someone. If your using avabox to split a boot.img into the kernel and ramdisk the first time u use it. Run the activeperl exe. then go to all programs and run the activeperl program and give it a sec to do it's things.
Then cd to the the boot sripts folder using command prompt and type
Code:
perl split_bootimg.pl boot.img
that will split your boot img now to figure out how to read it?
never mind I used 7zip to extract it then extract the next folder now i can see it in english
How do I repackage it?
Click to expand...
Click to collapse
I tried doing this to a HTC Boot.img and it didn't work, it would just never boot up.
Could there be something im doing wrong? Im using the perl scripts on a ubuntu box.
The four parameters are vital, especially the base address.
If the base address is wrong, it won't boot.
If the ramdisk isn't ran through cpio first, then gzipped, then it won't boot (or at least I don't think it will)
There are also other factors...but the most common is a wrong base address. The one in the example is for the Sprint Hero. Evo is different...so is Eris. Nexus One is the same as the Evo, but still different from our phones. Not sure about the rest since I can't seem to find base addresses for them.
t2noob said:
I tried doing this to a HTC Boot.img and it didn't work, it would just never boot up.
Could there be something im doing wrong? Im using the perl scripts on a ubuntu box.
Click to expand...
Click to collapse
I've unpacked and saw: 'The fu** ... is already there.'
ATM I try to build up a2sd for the desire-sense-2.2 ROM.
But ... when I say with the ... uh, what was it?
[A2SD] Darktremor Apps2SD 2.7.5 Preview Fix 3 Test 2 (07-07-2010)
This one.
When I now say: a2sd check
It says following:
[X] Ext partition found, but not mounted.
Your rom may not be setup to run A2SD.
Check with your rom developer if the boot image
is programmed to run A2SD.
Where I stucked? Maybe other suggestions for A2SD?
DarkMio said:
I've unpacked and saw: 'The fu** ... is already there.'
ATM I try to build up a2sd for the desire-sense-2.2 ROM.
But ... when I say with the ... uh, what was it?
[A2SD] Darktremor Apps2SD 2.7.5 Preview Fix 3 Test 2 (07-07-2010)
This one.
When I now say: a2sd check
It says following:
[X] Ext partition found, but not mounted.
Your rom may not be setup to run A2SD.
Check with your rom developer if the boot image
is programmed to run A2SD.
Where I stucked? Maybe other suggestions for A2SD?
Click to expand...
Click to collapse
That means that the init.rc in the ramdisk isn't patched or for some reason it isn't executing at boot.
So I dualbooted with ubuntu 10.04 good read.
so I'm having problems with cpio the ramdisk. I used split_bootimg.pl to split the boot.img of darches boot.img and then again on the tmo mytouch 32b froyo boot.img. I used the mkbootimg to combine the kernel and the ramdisk and flashed it to my phone that worked. Then I wanted to change the r.o secure to 0 so I unzipped the ramdisk changed it and then re-cpio using this command
Code:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
and then I zipped it and ran the mkbootimg and flashed that to my phone. But it didn't work
this is what i also changed in the default prop
Code:
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1
any ideas what I'm doing wrong?
I'm running ubuntu 10.04 64bit
does mkbootfs recpio it?

[Q] How to compile kernel module for ARMv7?

Hi, I'm trying to build the tun module for VPN, but I can't load it because it seems my toolchain only builds for ARMv6.
Code:
tun: version magic '2.6.32.15-gf9c0527 preempt mod_unload ARMv6 ' should be '2.6.32.15-gf9c0527 preempt mod_unload ARMv7 '
Toolchains tested:
- android-ndk-r4b-linux-x86.zip
- arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2.tar
What I did:
- downloaded 2.6.32.15 from kernel.org
- adb pulled config.gz from running android kernel, unpacked and moved it to .config
- export PATH=$PATH:/path/to/toolchain
- make ARCH=arm CROSS_COMPILE=$mytoolchain oldconfig
- make ARCH=arm CROSS_COMPILE=$mytoolchain menuconfig -> tuned version information and enabled tun module
- make ARCH=arm CROSS_COMPILE=$mytoolchain
- adb push drivers/net/tun.ko ...
insmod failes.
So what am I missing? Is the original HTC kernel somewhat otherwise patched? HTC doesn't seem to have released the 2.6.32.15 sources yet...whatever.
Thanks for any hints
Try the ndk toolchain or the prebuilt one in aosp. Use the 4.4.0 one.
Already tried the 4.4.0 one, same with the aosp toolchain from git.
I do think the stock 2.6.32.15 kernel is missing something (HTC patches?).
It's noticeable that some symbols like CONFIG_CPU_32v7 are not there when run oldconfig / menuconfig related to the original /proc/config.gz.
Already seen this in some custom Roms (module not loadable because of version mismatch), so has anyone built a functional (so loadable) module for HTC's Froyo Kernel? And if, how?
OK, very very dirty:
Get 2.6.32 from Android Kernel's git.
Code:
adb pull /proc/config.gz
gunzip -c config.gz > .config
make ARCH=arm CROSS_COMPILE=arm-none-eabi- menuconfig
## enable tun/tap module and append correct localversion ##
sed 's/EXTRAVERSION = .9/EXTRAVERSION = .15/g' Makefile #ouch
make ARCH=arm CROSS_COMPILE=arm-none-eabi- modules
adb push drivers/net/tun.ko ... and so on

[Tutorial] How to compile a kernel module outside the kernel

I've decided to make a short tutorial and present the way I compile kernel modules (outside the kernel sources).
I've built few kernel modules (governors - ineractive and smartass, cifs, nls, etc) and I started receiving private messages asking how I did it.
For kernel modules that come with the kernel itself - cifs / tun for example - they just work if you compile the kernel and activate correct config parameters.
Some other modules (such as the smartass governor that doesn't come with the kernel) you compile outside the kernel source. However they require changes since kernel does not export the symbols the module needs to use - so you have to know what k_all_syms are needed, grab them from the phone and update the kernel module.
So there will be changes there. However, the main steps are:
a) follow tutorials to get the kernel / android ndk to compile. People seem able to do this.
b) then take the module you want (For example cpufreq_smartass.c from here: http://pastebin.com/rR4QUCrk ) and copy it in a new folder on the disk.
c) create a Makefile like the one below, but with your paths of course:
Code:
KERNEL_DIR=/home/viulian/android_platform/kernel-2.1.A.0.435/kernel
obj-m := cpufreq_smartass.o
PWD := $(shell pwd)
default:
$(MAKE) ARCH=arm CROSS_COMPILE=/home/viulian/android_platform/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) clean
d) execute make
Of course, the module source needs to be adjusted as you need to put in the frequencies, and also update the k_all_syms pointers .. But you can retrieve them from /proc/kallsyms on the device itself - just look for the method name, and use the address you see in the log.
If you still can't get it to compile, try to compile a very basic hello_world kernel module. I used the code below when testing:
Code:
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_ALERT */
MODULE_LICENSE("GPL");
MODULE_AUTHOR("viulian, 2011");
MODULE_DESCRIPTION("Demo module for X10i");
int init_module(void)
{
printk("<1>Hello world\n");
// A non 0 return means init_module failed; module can't be loaded.
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world 1.\n");
}
It is not perfect, but if you manage to insmod-it and check dmesg, you will see "Hello world" written there.
One more thing, linux kernel is fussy about the module versions. Even if nothing is changed between two kernel versions related to what a module needs, is enough a small difference in module's modinfo value to make the kernel to refuse the module.
For this, you need to trick your local kernel and adjust EXTRAVERSION value in kernel's main Makefile to have the exact version of the one on the device:
In X10 stock kernel (GB 2.3.3 release), the kernel version is 2.6.29-00054-g5f01537 visible in phone settings.
This means that the kernel on the phone will only accept modules that are compiled for that exact version. But the kernel version is just a string in the module .ko, so is a string comparison - the module might work perfectly, but is not loaded.
There is luck though, the string value comes from a define in kernel's Makefile, which you can change before you compile!
The Makefile in the kernel you are going to use to build the module will have to include these lines at the top:
Code:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 29
EXTRAVERSION = -00054-g5f01537
Other than that, it should work .. Expect phone reboots and difficulty to debug if stuff goes wrong. Android kernel doesn't come with syslog functionality, kernel prints are found in /proc/kmsg. Dmesg works, but you can't execute if if phone reboots.
I usually had to keep another adb shell opening with 'cat /proc/kmsg' which showed as much as possible from the module's outputs.
Happy compiling on your risk!
Good
Sent from my GT-S5570 using Tapatalk
Nice really nice.
Anyone help me.have someone who could compile the linux bluetooth modules please? Iam noob in linux
http://www.multiupload.com/58OPISAYNH
Anyone please can make a video tutorial?
That's really nice of you for sharing this.
Guide to Compiling Custom Kernel Modules in Android
I've spent the better part of today trying to figure out how to compile and load a custom kernel modules in android to aid me in my research. It has been in entirely frustrating experience, as there is almost no documentation on the topic that I can find. Below you will find my attempt at a guide. Hopefully this will help save someone else the hassle.
PREREQUISITES
Disclaimer: This list may be incomplete, since I've not tried it on a fresh install. Please let me know if I've missed anything.
Install the general android prereqs found here .
Download and un(zip|tar) the android NDK found here .
http://developer.android.com/sdk/ndk/index.html
Download and un(zip|tar) the android SDK found here .
http://developer.android.com/sdk/index.html
Download and untar the kernel source for your device. This can usually be found on the website of your device manufacturer or by a quick Google search.
Root your phone. In order to run custom kernel modules, you must have a rooted phone.
Plug your phone into your computer.
PREPARING YOUR KERNEL SOURCE
First we must retrieve and copy the kernel config from our device.
Code:
$ cd /path/to/android-sdk/tools
$ ./adk pull /proc/config.gz
$ gunzip ./config.gz
$ cp config /path/to/kernel/.config
Next we have to prepare our kernel source for our module.
Code:
$ cd /path/to/kernel
$ make ARCH=arm CROSS_COMPILE=/path/to/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- modules_prepare
PREPARING YOUR MODULE FOR COMPILATION
We need to create a Makefile to cross-compile our kernel module. The contents of your Makefile should be similar to the following:
Code:
obj-m := modulename.o
KDIR := /path/to/kernel
PWD := $(shell pwd)
CCPATH := /path/to/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linux-androideabi- -C $(KDIR) M=$(PWD) modules
COMPILING AND INSTALLING YOUR MODULE
Code:
$ cd /path/to/module/src
$ make
$ cd /path/to/android-sdk/tools/
$ ./adb push /path/to/module/src/modulename.ko /sdcard/modulename.ko
RUNNING YOUR MODULE
Code:
$ cd /path/to/android-sdk/
$ ./adb shell
$ su
# insmod /sdcard/modulename.ko
---------- Post added at 07:40 PM ---------- Previous post was at 07:37 PM ----------
IMPORNTANT TOO
Preparing a build environment
To build an Android kernel, you need a cross-compiling toolchain. Theoretically, any will do, provided it targets ARM. I just used the one coming in the Android NDK:
$ wget http://dl.google.com/android/ndk/android-ndk-r6b-linux-x86.tar.bz2
$ tar -jxf android-ndk-r6b-linux-x86.tar.bz2
$ export ARCH=arm
$ export CROSS_COMPILE=$(pwd)/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
For the latter, you need to use a directory path containing prefixed versions (such as arm-eabi-gcc orarm-linux-androideabi-gcc), and include the prefix, but not “gcc”.
You will also need the adb tool coming from the Android SDK. You can install it this way:
$ wget http://dl.google.com/android/android-sdk_r12-linux_x86.tgz
$ tar -zxf android-sdk_r12-linux_x86.tgz
$ android-sdk-linux_x86/tools/android update sdk -u -t platform-tool
$ export PATH=$PATH:$(pwd)/android-sdk-linux_x86/platform-tools
not yet ((((
Come on, please make video tuto
that's interesting.
Thanks for sharing
Any takers to do a video status? Come on people it would be good for newbies like me and many that tme around. When teaching the community grows.
hi
i'm traing to compile module for acer a500.
but i have got an error: Nothing to be done for `default'.
my makefile:
Code:
obj-m += hello.o
KDIR := /home/hamster/android
PWD := $(shell pwd)
CCPATH := /home/hamster/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linux-androideabi- -C $(KDIR) M=$(PWD) modules
acer kernel code is located in /home/hamster/android
could you help me?
thanks
Thanks man. The step "modules_prepare" is what did the trick for me!
Makefile including tabs
hamsterksu said:
hi
i'm traing to compile module for acer a500.
but i have got an error: Nothing to be done for `default'.
my makefile:
Code:
obj-m += hello.o
KDIR := /home/hamster/android
PWD := $(shell pwd)
CCPATH := /home/hamster/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linux-androideabi- -C $(KDIR) M=$(PWD) modules
acer kernel code is located in /home/hamster/android
could you help me?
thanks
Click to expand...
Click to collapse
This is probably because you need to add a tab in front of your $(MAKE). Without the tab it will not recognize the command.
Help with compiling module
I am trying to compile a module for Galaxy S. I am getting this error.
# insmod hello_world.ko
insmod: init_module 'hello_world.ko' failed (Exec format error)
These are the module related options that I have enabled in the .config
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
Further this is the cat /proc/kmsg out put
<3>[53597.457275] hello_world: version magic '2.6.35.7-I900XXJVP-CL264642 preempt mod_unload ARMv7 ' should be '2.6.35.7-I9000XXJVP-CL264642 preempt mod_unload ARMv7 '
Why am I getting this error??
These are the steps I followed,
1. Downloaded the GT-I9000_OpenSource_GB.zip from samsung open source.
2. Change the EXTRAVERSION to EXTRAVERSION = .7-I900XXJVP-CL264642 (kernel version shown on phone is [email protected] #2)
I tried with EXTRAVERSION = [email protected] as well.
3. Added this line to the main make file -
core-y := usr/ TestModule/
5. Place the TestModule/ with the module code on the root directory.
6. Created the TestModule/Makefile and added this entry
obj-m := hello_world.o
4. On the read me of the kernel source it says to install Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI, which I did.
5. Execute 'make aries_eur_defconfig'.
6. Execute make (again this is how the readme in the source says)
I have compiled this module for the emulator and it works fine, What am I doing wrong here?
Thanks in advance.
hamsterksu said:
hi
but i have got an error: Nothing to be done for `default'.
Code:
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linux-androideabi- -C $(KDIR) M=$(PWD) modules
Click to expand...
Click to collapse
be sure to have {tab} not space or other symbol before: $(MAKE) in:
Code:
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-linux-androideabi- -C $(KDIR) M=$(PWD) modules
Hello,
I'm trying to load a module in my GS3 but I encounter problems about version. Maybe it's just a mismatch between the kernel i use to compile and the one on my phone.
I have a 3.0.31-742798 kernel version on my GS3, so I put this info in the makefile like viulian said but it didn't work.
I manage to compile and put the module on the phone, but when I want to insmod it, I've got
Code:
insmod: init_module 'hello_world.ko' failed (Exec format error)
and the /proc/kmsg say
Code:
... disagrees about version of symbol module_layout
And there no config.gz on the /proc/ dir like fabricioemmerick suggest to use
EDIT: I try to modify the symbol by copying the one of module from the phone. Have another error.
btw , with modinfo I found that the compilation always add -gc33f1bc-dirty after the subversion. Maybe something in the compilation goes wrong. Still use the stock kernel and the toolchain from the ndk sourcecode
m00gle said:
Hello,
I'm trying to load a module in my GS3 but I encounter problems about version. Maybe it's just a mismatch between the kernel i use to compile and the one on my phone.
I have a 3.0.31-742798 kernel version on my GS3, so I put this info in the makefile like viulian said but it didn't work.
I manage to compile and put the module on the phone, but when I want to insmod it, I've got
Code:
insmod: init_module 'hello_world.ko' failed (Exec format error)
and the /proc/kmsg say
Code:
... disagrees about version of symbol module_layout
And there no config.gz on the /proc/ dir like fabricioemmerick suggest to use
EDIT: I try to modify the symbol by copying the one of module from the phone. Have another error.
btw , with modinfo I found that the compilation always add -gc33f1bc-dirty after the subversion. Maybe something in the compilation goes wrong. Still use the stock kernel and the toolchain from the ndk sourcecode
Click to expand...
Click to collapse
Maybe your kernel source code version and your phone kernel version is different. If both are 3.0.31 but just the subversion is different, you can
try "insmod -f" to load. The -f option will ignore the version.
How can I get a dmesg of a specific kernel module using adb shell or any other way?
ravike14 said:
How can I get a dmesg of a specific kernel module using adb shell or any other way?
Click to expand...
Click to collapse
I'm not sure I understand the question ... you can just dmesg and grep by the module name ? Or some string that the module outputs ? You have full control
viulian said:
I'm not sure I understand the question ... you can just dmesg and grep by the module name ? Or some string that the module outputs ? You have full control
Click to expand...
Click to collapse
That's the part I don't understand, the grep part.. When I enter grep with my commamd I get as it's not a recognized command.. I'm using Windows is that the reason?
I'm using 'adb shell dmesg > dmesg.txt' how do I add the grep part for it and and the module name.. I did alot research but all are Linux kernel specific debugging guides.. What would be the exact command to grep a specific module.ko logs?
Sent from my HTC_Amaze_4G using XDA Premium 4 mobile app
ravike14 said:
I'm using 'adb shell dmesg > dmesg.txt' how do I add the grep part for it and and the module name.. I did alot research but all are Linux kernel specific debugging guides.. What would be the exact command to grep a specific module.ko logs?
Click to expand...
Click to collapse
I think I understand now
The order is this:
a) DroidSSHd from here: http://code.google.com/p/droidsshd/downloads/list
b) Busybox installer from the market.
c) Putty on your windows to connect to the phone
Now you can dmesg + grep once you are connected to the phone (don't forget to su before and allow DroidSSHd root).
You need to be connected to the phone since it is much more easier. Use the phone as your remote Linux machine.

Boot device location?

Hey devs/custom ROM users. I wanted to know where is your kernle's partition in /dev
Needs root, run this command:
Code:
su -c find dev -name boot
Code:
/dev/block/platform/soc/624000.ufshc/by-name/boot
RR
Awesome​. I've built Kali Nethunter in top of CM-14.1 (and other ROMs based on it), any tester can PM me

Asus ZenPhone 3 Max ZC520TL MT6737M Kernel Compile Help.

Hello I am having issues compiling this kernel to boot on the phone https://dlcdnets.asus.com/pub/ASUS/...412.436189975.1548547589-306171368.1548198647.
Basically I went through and fixed all the syntax and missing files for kernel and compiled successfully with Linaro-4.9-aarch64 as well as UberTC-4.9-aarch64. And used Android Image Kitchen to replace the kernel with my Image.gz-dtb then flashed the new boot.img with Fastboot and ran Magisk to fix the Ramdisk, but when I boot the phone I get a bootloop I have tried this for every def_config in the /arch/arm64/config folder I also noticed cust.dtsi is missing from the DTS folder. I noticed when fixing the source the drivers for Mediatek MT6737M or MT6735M seem to be incomplete and I ended up replacing the missing files with those from the MT6735 not M variant driver folders.
At this point I just want to see if someone who knows what they are doing can confirm the kernel source is incomplete so Im not wasting my days trying to compile something that is broken, Any help is appreciated thank you.
~Figured it out.
$ chmod -R a+x kernel-3.18
$ cd kernel-3.18
$ mkdir tools/tools
$ mkdir out
$ make <def_config for D281L> ARCH=arm64 O=out
$ make menuconfig ARCH=arm64 O=out
$ make -j6 ARCH=arm64 O=out
I compiled it with ubertc 4.9 aarm64 and made the boot.img with Android Image Kitchen I installed magisk on the phone then I backed up the boot partition to a boot.img and used AIK to swap the zImage with the the new zImage.gz-dtb then I flashed with fastboot and it boots...
Also when unzipping the source non of the file permissions have been set so everything that is executable needs a swift chmod +x <FILE>.

Categories

Resources