Hello,
I am trying to apply some patches to the currently running kernel:
Code:
[email protected]:/ # uname -a
Linux localhost 2.6.38.8-tiamat-ics+ #1 PREEMPT Fri May 25 21:49:58 CDT 2012 armv7l GNU/Linux
Is this the correct process?
1) Download the kernel source (I'm downloading this branch now, do you think this is correct : http : // git.tiamat-dev.com/htc-kernel-msm8x50/log/?h=android-msm-2.6.38-ics-tiamat ? )
Code:
cd ~/kernel/
git clone git://git.tiamat-dev.com/htc-kernel-msm8x50 -b android-msm-2.6.38-ics-tiamat
2) Grab the current config from the android device /proc/config.gz over to my laptop
Code:
adb pull /proc/config.gz /tmp/config.gz && gzip -d /tmp/config.gz && cp /tmp/config ~/kernel/htc-kernel-msm8x50/.config
3) Follow android kernel compiling instructions (from showthread.php?t=1774035 )
Code:
cd ~/kernel/
git clone https://android.googlesource.com/platform/prebuilt -b ics-plus-aosp
export PATH=~/kernel/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
export ARCH=arm
export SUBARCH=arm
### export CROSS_COMPILE=arm-eabi- (WRONG! this gave me a "sorry, unimplemented: -mfloat-abi=hard and VFP" error, use the below line instead)
export CROSS_COMPILE=arm-linux-androideabi-
make ARCH=arm oldconfig
make
edit: currently compiling here.. see how it goes
4) Copy the compiled kernel into a zip archive (in similar format to current installable kernel zip file) and install custom kernel via recovery
Am I missing anything here?
Thanks!
Dave (android kernel compiling newb)
the update file released by htc for htc desire 616 contains a read me file showing how to use the update but i cannot understand it if someone can explain i would be so greatful
defconfig file: a3ul_defconfig (arm-eabi-4.7)
Download:
=========
If you are not already using an AOSP toolchain (included in an AOSP build tree), download the corresponding official android toolchain for the arm-eabi specified above for this device:
git clone https://android.googlesource.com/platform/prebuilt for 4.4.3
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6 for 4.6
git clone https://android.googlesource.com/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7 for 4.7
(use darwin-x86 in place of linux-x86 for mac)
Build the kernel:
=================
set the following environment variables:
export TOP= [where you installed the toolchain or top of android AOSP code base]
export PATH=$TOP/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH (use corresponding arm-eabi bin path)
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
make [the defconfig file for this device above]
make clean (for subsequent builds)
make -j4 (in this example 4 is the number of processors of your build machine)
Output Binary Files:
====================
After the build process is finished, there should be a file named "zImage" found in arch/arm/boot/
If you are building a rom with this kernel ZImage, copy it into your build's output folder and rename it to "kernel".
You will also need the following kernel modules. These will eventually be installed into /system/lib/modules on the device.
kernel modules:
./driver/*.ko
If you have already built and installed a boot.img with root access you can also install the modules directly into the device using "adb remount" and "apb push [file] system/lib/modules/" for each file listed above. After installing files set permissions with "adb shell chmod 0644 system/lib/modules/*" and "adb reboot"
For additional information:
===========================
http://htcdev.com
honeyman_1989 said:
the update file released by htc for htc desire 616 contains a read me file showing how to use the update but i cannot understand it if someone can explain i would be so greatful
defconfig file: a3ul_defconfig (arm-eabi-4.7)
Download:
=========
If you are not already using an AOSP toolchain (included in an AOSP build tree), download the corresponding official android toolchain for the arm-eabi specified above for this device:
git clone https://android.googlesource.com/platform/prebuilt for 4.4.3
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6 for 4.6
git clone https://android.googlesource.com/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.7 for 4.7
(use darwin-x86 in place of linux-x86 for mac)
Build the kernel:
=================
set the following environment variables:
export TOP= [where you installed the toolchain or top of android AOSP code base]
export PATH=$TOP/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH (use corresponding arm-eabi bin path)
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
make [the defconfig file for this device above]
make clean (for subsequent builds)
make -j4 (in this example 4 is the number of processors of your build machine)
Output Binary Files:
====================
After the build process is finished, there should be a file named "zImage" found in arch/arm/boot/
If you are building a rom with this kernel ZImage, copy it into your build's output folder and rename it to "kernel".
You will also need the following kernel modules. These will eventually be installed into /system/lib/modules on the device.
kernel modules:
./driver/*.ko
If you have already built and installed a boot.img with root access you can also install the modules directly into the device using "adb remount" and "apb push [file] system/lib/modules/" for each file listed above. After installing files set permissions with "adb shell chmod 0644 system/lib/modules/*" and "adb reboot"
For additional information:
===========================
http://htcdev.com
Click to expand...
Click to collapse
This procedure will give you a kernel,not a ROM.
Sent from a Cool Phone stuck with crappy KingUser
checkout these links
for rom compiling
http://xda-university.com/as-a-developer/getting-started-building-android-from-source
https://source.android.com/source/building.html
http://forum.xda-developers.com/showthread.php?t=2223690
http://forum.xda-developers.com/showthread.php?t=2754145
http://forum.xda-developers.com/showthread.php?t=2320007
https://www.youtube.com/watch?v=fN0v5H0Eoe4
if still have any question feel free to ask.
or pm me
Give the full build rom from HTC 616 for kitkat
Good afternoon, guys, I created a tutorial how to compile Lollipop kernel for Zenfone 5 (x86 chip).
i am not expert in this but anyway....
STEP 1
Download official kernel sources from here:
http://dlcdnet.asus.com/pub/ASUS/ZenFone/A500CG/zenfone3_24_40_tar_gz.zip
STEP 2
Open folder with Android sources and unpack all stuff from archive with kernel sources to folder with Android sources.
STEP 3
Open KernelMakefile. (it will be in the root of folder with Android sources)
And find this line:
Code:
TARGET_DEVICE ?= hd
Delete it.
Add this line:
Code:
TARGET_DEVICE=hd (A500CG/A501CG/A600CG - default)
STEP 4
Open Linux Terminal.
Cd to folder with Android sources.
Run this command:
Code:
source build/envsetup.sh
lunch aosp_x86-eng
make -j4 minigzip openssl
STEP 4
Build zImage:
Code:
make -f KernelMakefile TARGET_DEVICE=hd modules_install
STEP 5
Build modules:
Code:
make -f KernelMakefile TARGET_DEVICE=hd copy_modules_to_root
STEP 6
Get modules and zImage from out/target/product/asusctp_hd/ folder.
Reboot to Windows.
STEP 7
Download AndImg Tool:
https://drive.google.com/file/d/0B-Fin8UxrD6PTFpuWlYtMTE3LVk/view
STEP 8
Unpack boot.img for CM/RR using AndImg Tool.
STEP 9
Open unpacked fodler.
Go to PARTS folder. Delete BZIMAGE file. Add your built zImage and rename it to BZIMAGE.
STEP 10
Open unpacked fodler.
Open ramdisk/lib/modules folder.
Add you compiled modules.
STEP 11
Build boot.img using AndImgTool.
THATS IT.
How to enable DT2W:Go to linux/kernel folder.
Go here: (thx @Borets24)
drivers/input/touchscreen/synaptics_dsx_core.c
Uncomment this lines:
Code:
#define ASUS_TOUCH_PROXIMITY_NODE //<ASUS_Proximity+>
#define ASUS_TOUCH_DTP_WAKEUP //<ASUS_DTP+>
XDA:DevDB Information
How to compile Lollipop kernel for Zenfone 5 (x86 chip), Tool/Utility for the Asus Zenfone 5
Contributors
tank0412
Version Information
Status: Testing
Created 2016-02-11
Last Updated 2016-02-11
Thanks for the guide!
You also forgot that on lines
Code:
make -f KernelMakefile TARGET_DEVICE=hd modules_install
and
Code:
make -f KernelMakefile TARGET_DEVICE=hd copy_modules_to_root
you can use the -j option for faster building.
if only add DT2W, is my phone freeze, tks???
@tank0412 if I wanna build a cm 13 kernel I need a cm 13 kernel to replace the bzimg?
Nice dude. Will try it for sure. I have already had my zimage.
---------- Post added at 09:40 AM ---------- Previous post was at 09:38 AM ----------
dgadelha said:
Thanks for the guide!
You also forgot that on lines
Code:
make -f KernelMakefile TARGET_DEVICE=hd modules_install
and
Code:
make -f KernelMakefile TARGET_DEVICE=hd copy_modules_to_root
you can use the -j option for faster building.
Click to expand...
Click to collapse
Sir, i use your device tree to build the mokee lollipop. I develope it now. It gives me amazing battery backup. Thanjs for your device tree. .
Github repo: https://github.com/kernel-killer/android_kernel_huawei_h30u10
All changes I made since last commit are in my private repo.
Install packages (Not sure if it's right):
Code:
sudo apt-get install build-essential
Note: Please run ./mk ckeck-env to verify your build enviroment (Newer GNU MAKE will fail but the code compiles the same with new or older version)
Build:
Code:
./mk bm_new k
Testing your new kernel:
Download both attachments (KernelSwapper and BootimgRestore).
Append headers from stock kernel to zImage (which can be found at ./out/target/product/huawei82_cwet_kk/obj/KERNEL_OBJ/arch/arm/boot/zImage)
In KernelSwapper update 'kernel' with your own generated zImage rename it to 'kernel' and replace it inside zip.
In BootimgRestore replace 'boot.img' with your current ROM's boot.img in case that something goes wrong (e.g.: Phone not booting).
Copy the two new zips into phone's memory (or SD card) and flash KernelSwapper.
===== Reserved #1 =====
Thanks for the awesome work KK. I am on CM 13 3.4.67 kernel. Can i use this or do i have to be in stock rom for testing the kernal?
Sent from my Honor 3C using Tapatalk
---------- Post added at 06:12 AM ---------- Previous post was at 06:02 AM ----------
Update : Flashed the kernel, phone booted but felt laggish while using. I am still testing, will let you know what happens
Sent from my Honor 3C using Tapatalk
karkeankit said:
Thanks for the awesome work KK. I am on CM 13 3.4.67 kernel. Can i use this or do i have to be in stock rom for testing the kernal?
Sent from my Honor 3C using Tapatalk
---------- Post added at 06:12 AM ---------- Previous post was at 06:02 AM ----------
Update : Flashed the kernel, phone booted but felt laggish while using. I am still testing, will let you know what happens
Sent from my Honor 3C using Tapatalk
Click to expand...
Click to collapse
Yes, I'm sure that the kernel has multiple bugs. The phone may feel laggish because there is enabled low-level kernel debugging over UART.
Thank you for testing...
kernel.killer said:
Yes, I'm sure that the kernel has multiple bugs. The phone may feel laggish because there is enabled low-level kernel debugging over UART.
Thank you for testing...
Click to expand...
Click to collapse
You are welcome, wishint you good luck for further development
Sent from my Honor 3C using Tapatalk
Hi, tnx for The kernel
if i Update my kernel VPN bug in CM12.1 will fix?
hamadk said:
Hi, tnx for The kernel
if i Update my kernel VPN bug in CM12.1 will fix?
Click to expand...
Click to collapse
Nope, it's ROM bug not a kernel bug plus I have released only development preview version which has enabled many debugging options and it may be quite buggy.
Thanks, but can this process led to a suitable kernel for CM13?
Does this kernel fixes the video playback problem and the recording problem?(Can't play or capture 720p videos, screen recorder works fine, just the camera.)
Sent from my Huawei Honor 3C using XDA Labs
Lumpbloom7 said:
Does this kernel fixes the video playback problem and the recording problem?(Can't play or capture 720p videos, screen recorder works fine, just the camera.)
Sent from my Huawei Honor 3C using XDA Labs
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=67848925&postcount=8
mhxygh said:
Thanks, but can it this process led to a suitable kernel for CM13?
Click to expand...
Click to collapse
Aim of this project is to make stock kernel sources stable for KitKat ROMs (It is originally for KK) but somebody else may patch them for CM 13. I am not working on this nor I'll do.
Will you be adding extra CPU governors and IO schedulers along with kernel level wakeups for double tap waking?
I was wondering who else is developing kernel 3.10.XX for this device ?
Ms_Julia said:
I was wondering who else is developing kernel 3.10.XX for this device ?
Click to expand...
Click to collapse
Actually, nobody is working on 3.10.X kernel. And I'm rather focusing on LineageOS for now.
What is the defconf for our device in kernel source
imranpopz said:
What is the defconf for our device in kernel source
Click to expand...
Click to collapse
This should include most configs
Code:
/* Mediatek common */
./mediatek/config/common/autoconfig/kconfig/AEE
./mediatek/config/common/autoconfig/kconfig/USER
./mediatek/config/common/ProjectConfig.mk
/* MT6582 common */
./mediatek/config/mt6582/autoconfig/kconfig/platform
./mediatek/config/mt6582/ProjectConfig.mk
/* h30u10 device specific */
./mediatek/config/huawei82_cwet_kk/autoconfig/kconfig/project
./mediatek/config/huawei82_cwet_kk/ProjectConfig.mk
kernel.killer said:
This should include most configs
Code:
/* Mediatek common */
./mediatek/config/common/autoconfig/kconfig/AEE
./mediatek/config/common/autoconfig/kconfig/USER
./mediatek/config/common/ProjectConfig.mk
/* MT6582 common */
./mediatek/config/mt6582/autoconfig/kconfig/platform
./mediatek/config/mt6582/ProjectConfig.mk
/* h30u10 device specific */
./mediatek/config/huawei82_cwet_kk/autoconfig/kconfig/project
./mediatek/config/huawei82_cwet_kk/ProjectConfig.mk
Click to expand...
Click to collapse
Replace Device Name with the configuration file found at:
Source/arch/arm/configs
It's written in this way something_DeviceCodename_user_defconfig
I need for the above step.. ☝☝☝
imranpopz said:
Replace Device Name with the configuration file found at:
Source/arch/arm/configs
It's written in this way something_DeviceCodename_user_defconfig
I need for the above step.. ☝☝☝
Click to expand...
Click to collapse
Well... This is Mediatek, DO NOT expect the sources to look nice. The configs are scattered through ./mediatek subdirectories, *.mk files are parsed and configs are assembled during build. Unfortunatelly, even if you manually assemble .config you will NOT be able to build the kernel. It is full of dirty hacks (Mediatek) and just typing "make" won't work, build will break.
Build:
Code:
$ git clone https://github.com/kernel-killer/android_kernel_huawei_h30u10.git
$ cd android_kernel_huawei_h30u10
$ export ARCH=arm && export ARCH_MTK_PLATFORM=mt6582 && export TARGET_PRODUCT=huawei82_cwet_kk
$ export CROSS_COMPILE=/path-to-your-toolchain/.../bin/arm-linux-androideabi-
$ ./mk n k
Code:
$ ./mk -h
Usage: (makeMtk|mk) [options] project actions [modules]
Options:
-t, -tee : Print log information on the standard-out.
-o, -opt=bypass_argument_to_make
: Pass extra arguments to make.
-h, -help : Print this message and exit.
Projects:
one of available projects.
Actions:
listp, listproject
: List all available projects.
check-env : Check if build environment is ready.
check-dep : Check feature dependency.
n, new : Clean and perform a full build.
c, clean : Clean the immediate files(such as, objects, libraries etc.).
r, remake : Rebuild(target will be updated if any dependency updats).
mrproper : Remove all generated files + config + various backup files in Kbuild process.
bm_new : "new" + GNU make's "-k"(keep going when encounter error) feature.
bm_remake : "remake" + GNU make's "-k"(keep going when encounter error) feature.
mm : Build module through Android native command "mm"
mma : Build module through Android native command "mma"
emigen : Generate EMI setting source code.
nandgen : Generate supported NAND flash device list.
codegen : Generate trace DB(for META/Cather etc. tools used).
drvgen : Generate driver customization source.
custgen : Generate customization source.
javaoptgen : Generate the global java options.
ptgen : Generate partition setting header & scatter file.
bindergen : Generate binder related information
sign-image : Sign all the image generated.
encrypt-image : Encrypt all the image generated.
update-api : Android default build action
(be executed if system setting or anything removed from API).
check-modem : Check modem image consistency.
upadte-modem : Update modem image located in system.img.
modem-info : Show modem version
gen-relkey : Generate releasekey for application signing.
check-appres : Check unused application resource.
sdk : Build sdk package.
win_sdk : Build sdk package with a few Windows tools.
banyan_addon : Build MTK sdk addon.
banyan_addon_x86 :Build MTK sdk x86 addon.
cts : Build cts package.
bootimage : Build boot image(boot.img).
cacheimage : Build cache image(cache.img).
systemimage : Build system image(system.img).
snod : Build system image without dependency.
(that is, ONLY pack the system image, NOT checking its dependencies.)
recoveryimage : Build recovery image(recovery.img).
secroimage : Build secro image(secro.img).
factoryimage : Build factory image(factory.img).
userdataimage : Build userdata image(userdata.img).
userdataimage-nodeps
: Build userdata image without dependency.
(that is, ONLY pack the userdata image, NOT checking its dependencies.)
dump-products : Dump products related configuration(PRODUCT_PACKAGE,PRODUCT_NAME ect.)
target-files-package
: Build the target files package.
(A zip of the directories that map to the target filesystem.
This zip can be used to create an OTA package or filesystem image
as a post-build step.)
updatepackage : Build the update package.
dist : Build distribution package.
Modules:
pl, preloader : Specify to build preloader.
lk : Specify to build little kernel.
md32 : Specify to build DSP md32.
tz, trustzone : Specify to build trusted execution environment.
k, kernel : Specify to build kernel.
dr, android : Specify to build android.
NULL : Specify to build all components/modules in default.
k <module path>
: Specify to build kernel component/module with the source path.
dr <module name>
: Specify to build android component/module with module name.
Other tools:
prebuilts/misc/linux-x86/ccache/ccache -M 10G
: Set CCACHE pool size to 10GB
Example:
./mk -t e1k emigen
: Generate EMI setting source code.
./mk -o=TARGET_BUILD_VARIANT=user e1k n
: Start a user mode full build.
./mk listp : List all available projects.
./mk e1k bootimage
: Build bootimage for e1k project.
./mk e1k bm_new k
: Build kernel for e1k project.
./makeMtk e1k c,bm_remake pl k
: Clean & Build preloader and kernel for e1k project.
./makeMtk e1k n k kernel/xxx/xxx
: Build(full build) kernel component/module
under the path "kernel/xxx/xxx" for e1k project.
./makeMtk e1k r dr Gallery
: Rebuild android module named Gallery for e1k project.
./makeMtk e1k mm packages/apps/Settings
: Change Directory to packages/apps/Settings and execute "mm"
./makeMtk e1k mma packages/apps/Settings
: Change Directory to packages/apps/Settings and execute "mma"
Edit:
I fixed the sources, so menuconfig can be used.
Apply patch:
Code:
$ git am 0001-Fix-build-using-make-command.patch
Build:
Code:
$ cd kernel && export ARCH=arm && export ARCH_MTK_PLATFORM=mt6582 && export TARGET_PRODUCT=huawei82_cwet_kk
$ export CROSS_COMPILE=/path-to-your-toolchain/.../bin/arm-linux-androideabi-
$ make -C $(pwd) O=output h30u10_defconfig menuconfig
$ make -C $(pwd) O=output
Append MTK headers:
Code:
$ ../mediatek/build/tools/mkimage output/arch/arm/boot/zImage KERNEL > output/zImage
*Note: I recommend using AOSP arm-linux-androideabi-4.9 toolchain.
Getting cp: cannot stat 'out/target/product/huawei82_cwet_kk_kernel.log
Make [1]: [kernel ] error 1
Make: *** [remake] error 2
Hello everybody
Iam busy with create my first custom rom / sailfish (lineage 18.1) i have found a tutorial .
but iam stuck in that tutrial where is must typ in the terminal my device vendor and kernel .
example from that tutorial with a motorola phone :
git clone https://github.com/sweetie2205/android_device_motorola_kinzie.git -b lineage-14.1-kinzie device/motorola/kinzie
git clone https://github.com/sweetie2205/proprietary_vendor_motorola.git -b lineage-14.1 vendor/motorola/kinzie
git clone https://github.com/sweetie2205/kernel_motorola_msm8992.git -b lineage-14.1 kernel/motorola/msm8992