Now that NI has released Adam kernel sources I have compiled tun.ko module, needed by VPNC and OPENVPN, but it not loads.
I followed this steps.
Obtain kernel sources from repository
git clone KERNEL GIT URL
Obtain config file from my Adam
adb pull /proc/config.gz
gunzip config.gz
Patch config file to include tun module
patch -b -i config.diff -p0 --verbose -Z
Create local build directory
mkdir modules
cd modules
Copy new config file
cp -a ../config .config
Patch Makefile
cp -a ../adam-kernel/Makefile .
patch -b -i Makefile.diff -p0 --verbose -Z
Rebuild tree
lndir ../adam-kernel
rm include/asm-arm
Compile tun module
../compilar_modulos.sh
Push module to Adam
adb push drivers/net/tun.ko /system/lib/modules/
Now, i connect to Adam
$ adb shell
# modprobe tun
modprobe: can't load module tun (tun.ko): invalid module format
#
Comparing the vermagic info from Adam kernel it looks as the processor type does not match:
# busybox modinfo tun
filename: tun.ko
...
...
...
vermagic: 2.6.32.9-00066-g16c1dec-dirty SMP preempt mod_unload modversions ARMv7
# uname -a
Linux localhost 2.6.32.9-00066-g16c1dec-dirty #1 SMP PREEMPT Thu Mar 24 10:03:47 IST 2011 armv7l GNU/Linux
#
Somebody knows what is wrong in my procedure?
Curious, which compiler are you using?
aorth said:
Curious, which compiler are you using?
Click to expand...
Click to collapse
Android NDK R5B.
This is the same compiler I used in the past to compile modules for HTC Hero.
albertogb said:
Android NDK R5B.
This is the same compiler I used in the past to compile modules for HTC Hero.
Click to expand...
Click to collapse
Did you ever get anywhere on this? I was thinking you should look in `dmesg`, as I'm not sure that architecture mismatch is the problem...
whats the progress with this? Any other detailed instructions on how to compile for specific adam kernels?
Related
I followed the instructions listed here to compile the kernel from the source and was successful. Next, I saw some instructions here on how to compile our own loadable kernel modules:
Code:
First we must retrieve and copy the kernel config from our device.
$ 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.
$ cd /path/to/kernel
$ make ARCH=arm CROSS_COMPILE=/path/to/android-ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- 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:
obj-m := modulename.o
KDIR := /path/to/kernel
PWD := $(shell pwd)
CCPATH := /path/to/android-ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-eabi- -C $(KDIR) M=$(PWD) modules
COMPILING AND INSTALLING YOUR MODULE
$ 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
$ cd /path/to/android-sdk/
$ ./adb shell
$ su
# insmod /sdcard/modulename.ko
When I try executing:
Code:
make ARCH=arm CROSS_COMPILE=/path/to/android-ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- modules_prepare
I get an error:
Code:
make: *** No rule to make target `modules_prepare`. Stop.
Can someone please tell me if I am missing something here?
EliteLegend said:
I followed the instructions listed here to compile the kernel from the source and was successful. Next, I saw some instructions here on how to compile our own loadable kernel modules:
Code:
First we must retrieve and copy the kernel config from our device.
$ 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.
$ cd /path/to/kernel
$ make ARCH=arm CROSS_COMPILE=/path/to/android-ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- 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:
obj-m := modulename.o
KDIR := /path/to/kernel
PWD := $(shell pwd)
CCPATH := /path/to/android-ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin
default:
$(MAKE) ARCH=arm CROSS_COMPILE=$(CCPATH)/arm-eabi- -C $(KDIR) M=$(PWD) modules
COMPILING AND INSTALLING YOUR MODULE
$ 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
$ cd /path/to/android-sdk/
$ ./adb shell
$ su
# insmod /sdcard/modulename.ko
When I try executing:
Code:
make ARCH=arm CROSS_COMPILE=/path/to/android-ndk/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- modules_prepare
I get an error:
Code:
make: *** No rule to make target `modules_prepare`. Stop.
Can someone please tell me if I am missing something here?
Click to expand...
Click to collapse
The topic is old but the reply may be useful for other people:
this is the tipical issue when is missing the .config file which is a defconfig to be taken from /kernelfolder/arch/arm/configs
Hi,
There seems to me to be the general idea that swapping kernels is just flashing a different boot.img, however, what seems to never be mentioned is that each boot.img has a unique ram disk or included set of files/folder structure. This ram disk was designed to work with a specific version of android and within that, a specific build of that version. The init.rc file could be totally different, there could be a different init compiled in, ro.secure could be 0 in default.prop, and so on.
When looking through some of the scripts out there, it is always flash boot.img, not extract the ramdisk and rebuilt boot.img first. This introduces a tad bit of randomness to the whole kernel swapping scenario.
This is an pseudo example of what I would do, if I had to swap kernels manually on the phone. I have attached the referenced phone compatible binaries. (I would normally do it from within linux on a PC)
With CWM running on your phone, start adb.
$ adb shell
# ~ cd /tmp
# /tmp dump_image /dev/block/mmcblk0p11 boot.img
# /tmp unpack boot.img
# /tmp ls
boot.img boot.img-zImage boot.img-ramdisk
# /tmp cp /sdcard/mynewkernel-zImage .
# /tmp ls
boot.img boot.img-zImage boot.img-ramdisk mynewkernel-zImage
# /tmp cat /proc/cmdline >cmdline.txt
# /tmp cat ./cmdline.txt
[email protected] [email protected] vmalloc=320M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo mot_prod=1 androidboot.serialno=TA2xxxxxxx
# /tmp busybox vi cmdline.txt
# /tmp cat ./cmdline.txt
[email protected] [email protected] [email protected] vmalloc=320M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo mot_prod=1 androidboot.serialno=TA2xxxxxxx
# /tmp mkbootimg --cmdline cmdline.txt --kernel mynewkernel-zImage --ramdisk boot.img-ramdisk.gz -o boot.img
# /tmp flash_image /dev/block/mmcblk0p11 boot.img
the bits in green if you wanted to fix the missing [email protected] in your cmdline if applicable.
Replace the general sequence in your CWM install scripts when all you want is to swap the kernel, not potentially change the boot sequence/flags as well.
Cheers!
hi
thanks for tutorial
but regarding this command :
Code:
/tmp cp /sdcard/mynewkernel-zImage
what is mynewkernel-zImage ?
Hazem62 said:
hi
thanks for tutorial
but regarding this command :
Code:
/tmp cp /sdcard/mynewkernel-zImage
what is mynewkernel-zImage ?
Click to expand...
Click to collapse
That would be whatever kernel image you wanted to replace your existing kernel with. As the ones around are in zip files with prepackaged boot.img files you would have to unzip and extract to get just the kernel part. Also, you would need any dependent libs copied over to /system/lib/[modules].
This is nothing really new, just not being done with the Atrix thus far.
Cheers!
How do I get boot.img-ramdisk from this step
NFHimself said:
# /tmp ls
boot.img boot.img-zImage boot.img-ramdisk
Click to expand...
Click to collapse
into boot.img-ramdisk.gz for mkbootimg? do I use the regular gzip?
NFHimself said:
# /tmp mkbootimg --cmdline cmdline.txt --kernel mynewkernel-zImage --ramdisk boot.img-ramdisk.gz -o boot.img
Click to expand...
Click to collapse
If I wanted to edit and change the partition table, could I use the same method to pull and edit the partition file since it also exists in the same directory as cmdline?
toyota86 said:
do I use the regular gzip?
Click to expand...
Click to collapse
Yes.
(deleted)
NFHimself said:
Hi,
There seems to me to be the general idea that swapping kernels is just flashing a different boot.img, however, what seems to never be mentioned is that each boot.img has a unique ram disk or included set of files/folder structure. This ram disk was designed to work with a specific version of android and within that, a specific build of that version. The init.rc file could be totally different, there could be a different init compiled in, ro.secure could be 0 in default.prop, and so on.
When looking through some of the scripts out there, it is always flash boot.img, not extract the ramdisk and rebuilt boot.img first. This introduces a tad bit of randomness to the whole kernel swapping scenario.
This is an pseudo example of what I would do, if I had to swap kernels manually on the phone. I have attached the referenced phone compatible binaries. (I would normally do it from within linux on a PC)
With CWM running on your phone, start adb.
$ adb shell
# ~ cd /tmp
# /tmp dump_image /dev/block/mmcblk0p11 boot.img
# /tmp unpack boot.img
# /tmp ls
boot.img boot.img-zImage boot.img-ramdisk
# /tmp cp /sdcard/mynewkernel-zImage .
# /tmp ls
boot.img boot.img-zImage boot.img-ramdisk mynewkernel-zImage
# /tmp cat /proc/cmdline >cmdline.txt
# /tmp cat ./cmdline.txt
[email protected] [email protected] vmalloc=320M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo mot_prod=1 androidboot.serialno=TA2xxxxxxx
# /tmp busybox vi cmdline.txt
# /tmp cat ./cmdline.txt
[email protected] [email protected] [email protected] vmalloc=320M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo mot_prod=1 androidboot.serialno=TA2xxxxxxx
# /tmp mkbootimg --cmdline cmdline.txt --kernel mynewkernel-zImage --ramdisk boot.img-ramdisk.gz -o boot.img
# /tmp flash_image /dev/block/mmcblk0p11 boot.img
the bits in green if you wanted to fix the missing [email protected] in your cmdline if applicable.
Replace the general sequence in your CWM install scripts when all you want is to swap the kernel, not potentially change the boot sequence/flags as well.
Cheers!
Click to expand...
Click to collapse
can any1 tell me how to extract boot.img-zimage for adding more drivers
Ni5hant said:
can any1 tell me how to extract boot.img-zimage for adding more drivers
Click to expand...
Click to collapse
Basically, you can't.
New drivers are either built into the kernel when it is compiled. Or built as kernel modules using the same kernel source and same compiler as the main kernel. In both cases, you need to know all about compiling a kernel.
runekock said:
Basically, you can't.
New drivers are either built into the kernel when it is compiled. Or built as kernel modules using the same kernel source and same compiler as the main kernel. In both cases, you need to know all about compiling a kernel.
Click to expand...
Click to collapse
anyway ..i have an ARM kali 2.0 on my galaxy j7.. and i want to connect my TP-Link Tw722n wifi adapter to it....
"Dmesg | grep usb" shows the usb...bt i cant anything else with it..........any help would be appreciated
Ni5hant said:
anyway ..i have an ARM kali 2.0 on my galaxy j7.. and i want to connect my TP-Link Tw722n wifi adapter to it....
"Dmesg | grep usb" shows the usb...bt i cant anything else with it..........any help would be appreciated
Click to expand...
Click to collapse
If you are running Kali Linux on a Galaxy J7, then you are in entirely the wrong thread. This is about Android on Motorola Atrix. Try asking in a Kali Linux thread. Though I suspect the answer will be more or less the same -- that you need to learn how to compile a kernel to do anything.
runekock said:
If you are running Kali Linux on a Galaxy J7, then you are in entirely the wrong thread. This is about Android on Motorola Atrix. Try asking in a Kali Linux thread. Though I suspect the answer will be more or less the same -- that you need to learn how to compile a kernel to do anything.
Click to expand...
Click to collapse
Thnx for the answer buddy i have downloaded my kernel source and goind to recompile it...just looking for the right toolchain to download...anyways thnx for the replies
Ni5hant said:
Thnx for the answer buddy i have downloaded my kernel source and goind to recompile it...just looking for the right toolchain to download...anyways thnx for the replies
Click to expand...
Click to collapse
BTW, this may not only be a question of drivers. The userspace networking code also needs to setup the new network port.
runekock said:
BTW, this may not only be a question of drivers. The userspace networking code also needs to setup the new network port.
Click to expand...
Click to collapse
Nopp..i have to just enable aethros driver support with cfg80211 module..and after flash dat kernel next time i can use my usb wifi adapter...although at this kernel i cant use my inbuilt wifi adapter...anyways i have. Build my kernel have to just compile it...if it will be a success i will upload it...
A beginners guide to building and modifying a nexus 4 lollipop* kernel from source.
*currently 5.0.1Disclaimer
I am not a developer, nor am I an expert. All the information in here I have gleaned from other sources, credited where possible, so it may not be correct and almost certainly isn't the 'best' way to do things. But it works for me. I hope it works for you but there's no guarantee. Use at your own risk
Assumptions
You have access to a computer running Ubuntu - other distros will probably work but this is the one I'm using. You'll need a basic understanding of the Linux command line including, but not limited to, ls, cp, cd, mkdir, make, ~, sudo, nano and so on.
You'll need to know how to use adb & fastboot to copy stuff into and out of your Nexus 4
A basic undersanding of Git is REALLY helpful if you want to modify your kernel. You'll be able to get by using the comands listed but you really need to have a basic understanding of what Git does if you're going to proceed.
CONTENTS
Initialise your build environment
Downloading the sources
Toolchain
Building
Creating a boot.img
A bit more about Git
Modifying kernels (how I got DT2W working)
Making a flashable zip
Initialise your build envronment
The information for this stage came from: here
I installed Ubuntu 14.04.1 LTS from a scratch. I used VM ware on a Windows laptop but any Linux environment can probably be made to work. So, to start, do an update just to be sure, then install the packages you'll need.
Code:
# sudo apt-get update
# sudo apt-get install bison g++-multilib git gperf libxml2-utils
# sudo apt-get install libncurses5-dev:i386
# sudo apt-get install lib32ncurses5-dev
# sudo apt-get install build-essential kernel-package
Downloads
Most of the really helpful information I've used came from here
I've updated the information slightly and changed the device from Flo to Mako but Pete's page is well worth reading for more background information than I've included here.
To download the source into a 'kernel' folder
Code:
# mkdir ~/android
# cd ~/android/
# git clone https://android.googlesource.com/kernel/msm.git kernel
# cd kernel/
# git branch -a
will show you all the current branches of Mako kernels, choose the one you want and checkout that one.
Code:
# git checkout android-msm-mako-3.4-lollipop-release
Now you need to find out exactly which kernel to build. The 'official' method is here
but that involves a significant download for just a few bytes so I suggest you use the following trick. Go to the pre-built kernel you want to copy here
and you wll see the first line after the header is:-
"16e203d lowmemorykiller: enhance debug information"
You need to make a note of the first seven characters, in this case 16e203d.
Next you need to use Git to create a new branch for our specific kernel. I've called it 'android-lollipop-release'.
Code:
# git checkout -b android-lollipop-release 16e203d
This will extract the source for the kernel we're going to build.
Toolchain
I'm using the stock toolchain (thanks @zaclimon) but will add an alternative suggested by @aviz1911 as time allows.
I'm going to install the toolchain in /usr/local/share but there are other places you could sensibly put it.
Code:
# cd /usr/local/share
sudo git clone [url]https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7[/url]
Export the path to the toolchain and check it works. Note these exports only work for the current session, if you want to add permanently put it in your .bashrc or .profile
Code:
# export PATH=$PATH:/usr/local/share/arm-eabi-4.7/bin
# cd ~
Test it works with
Code:
# arm-eabi-gcc --version
Now you need to tell the system we want to cross compile.
Code:
# export ARCH=arm
# export SUBARCH=arm
# export CROSS_COMPILE=arm-eabi-
Building
Now you're ready to start.
Code:
#cd ~/android/kernel
# make mako_defconfig
You'll get some warnings like this which you can ignore
warning: (ARCH_MSM_KRAITMP && ARCH_MSM_CORTEX_A5) selects HAVE_HW_BRKPT_RESERVED_RW_ACCESS which has unmet direct dependencies (HAVE_HW_BREAKPOINT)
Code:
# make menuconfig
this is where you can make some changes if you like, we're going to change just the name. Choose General Setup ---> then select
(-perf) Local version - append to kernel release
and change perf to anything you like, I'll use dt2w
Save and exit
Code:
# make -j2
where 2 is twice the number of cores on your machine - there's just one processor on my VM but could be many more on yours. It takes more than half an hour on my machine. Then you should see
Code:
Kernel: arch/arm/boot/zImage is ready
Ta Daaaaa - you have built a kernel - now you need to pack it for testing on your phone.
Creating a boot.img
Again I'm going to use Pete's blog post as my guide but omit some details and just get the job done. I'm not going to explain all the steps, you'll have to investigate yourself if you want to understand more.
Code:
# cd ~/android
# git clone https://github.com/pbatard/bootimg-tools.git bootimg-tools
# cd bootimg-tools/libmincrypt/
# gcc -c *.c -I../include
# # cd ../mkbootimg
# gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
# sudo cp mkbootimg /usr/local/bin/
# gcc -o unmkbootimg unmkbootimg.c
# sudo cp unmkbootimg /usr/local/bin/
You need an original boot img to copy so you can insert your new kernel into it. Download the factory image.
Code:
# mkdir ~/android/boot
# cd ~/android/boot
# wget https://dl.google.com/dl/android/aosp/occam-lrx22c-factory-86c04af6.tgz
# tar -xvf occam-lrx22c-factory-86c04af6.tgz
# cd occam-lrx22c/
# unzip occam-lrx22c-factory-86c04af6.zip
# cp boot.img ../
# cd ~/android/boot
Now it's time to unpack the original boot image. unmkbooting will tell you all the parameters you need to repack the boot image with your new kernel inside.
Code:
# unmkbootimg -i boot.img
kernel written to 'kernel' (6009416 bytes)
ramdisk written to 'ramdisk.cpio.gz' (490557 bytes)
To rebuild this boot image, you can use the command:
mkbootimg --base 0 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x81800000 --second_offset 0x81100000 --tags_offset 0x80200100 --cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=mako lpj=67677 user_debug=31' --kernel kernel --ramdisk ramdisk.cpio.gz -o boot.img
Code:
# cp ~/android/kernel/arch/arm/boot/zImage ~/android/boot/
Repack your new boot image with your new kernel using the information from unmkbootimg
Code:
mkbootimg --base 0 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x81800000 --second_offset 0x81100000 --tags_offset 0x80200100 --cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=mako lpj=67677 user_debug=31' --kernel zImage --ramdisk ramdisk.cpio.gz -o new_boot.img
Nore that kernel has been changed to zImage and output file has been changed new_boot.img Now it's time to test your new_boot.img by rebooting your phone into bootloader and reboot with the new img.
DO NOT FLASH THE NEW IMAGE.
fastboot boot new_boot.img NOT fastboot flash boot new_boot.img
If all has gone well your phone will now boot with your new kernel. If something has gone wrong just reboot the phone and you'll be back to where you started. If it has all worked then you can flash the new boot image and use that.
A bit more about Git
If like me, you know nothing about Git, then this bit of the guide is for you. If you have basic understanding this will be too simple for you and you'll have to skip this bit and look elsewhere. If you have a basic understanding of any version control software you won't need this either as the necessary commands to complete the next step will be self explanatory.
Jump to the next stage here
Git is a version control system. To understand what it does at a most basic level follow these steps
Code:
# mkdir git_test
# cd git_test
# git init
Tell git who you are. You don't need the inverted commas, just an email address and a name. Keep this information for when/if you open a Github account.
Code:
# git config --global user.email "[email protected]"
# git config --global user.name "Your Name"
create a text file called 'text' with a single line of text that says "This is the first line"
add this file to your git
Code:
# git add text
commit the change with a message
Code:
git commit -m "first line"
create a new branch (checkout -b both creates and makes the new branch current)
Code:
git checkout -b newbranch
edit the 'text' file by adding another line "this is the second line"
add and commit the change to git
Code:
# git add text
# git commit -m "second line"
Then examine the text file, as you might expect it looks like this
Code:
# cat text
this the first line
this is the second line
but if we now go back to the master branch and checkout THE SAME file, we get a different result
Code:
# git checkout master
cat text
this the first line
The second line is not present because it was only added to the 'newbranch' branch. This, it appears to me is the essence of git, it changes files depending on which branch you're viewing them from.
Now we're going to look at how we can use git to extract files from someone else's repository in order to get the files we want for our needs.
There are loads of guides that help you to learn more, I found this video particularly helpful.
https://www.youtube.com/watch?v=1ffBJ4sVUb4
Still to come
Modifying kernels (how I got DT2W working)
Edit:- It's going to be a while before I complete this section as although I managed to build a working kernel I'm pretty sure I didn't do it the 'right' way so I'm reading the Git Pro book.
Will be back later. .. . .
Awesome guide dude. This will surely help a lot of people
Nice
Nice guide, wish you'd have written it a week earlier
Anyways, what i'd really like to know, is how to patch the Linux version properly, because my attempts lead to break the kernel in the process. Didn't get beyond 3.4.11 :/
Hope you can help me out there, buddy.
How to create a zip ?
I have been looking into this and created a kernel a few days ago. But i want to share it.
For that ill have to create a zip. I have searched for it. I think its done using anykernel template.
The issuse is can i use the certificates in the meta-inf folder and the update-binary that is 4 years old ?
Or should i just unzip a kernel , modify the script and place my boot.img.
@aviz1911
Unzipping and re zipping is pretty easy, I'd do that.
@Nicknoxx How's the reading up on git going? Any tips on enabling dt2w would be much appreciated. I've been trying but can't seem to get it to work
I'm really new at the Kernel stuff and just wanted to build stock with dt2w as my first project.
Thanks for the first part of the guide
Wow nice guide sir, i'll try it later
Great Guide!
Thanks Mate!!
what all lines or links should i have to modify if i am building kernel for my device oneplus one lollipop ?
@Nicknoxx
Also @Nicknoxx one can use the -b argument with git while cloning so git just downloads a single branch of the kernel source, this'll save bandwidth and time to some extent
Like
git clone https://android.googlesource.com/kernel/msm.git -bx kernel
Replace x with desired branch name
Click to expand...
Click to collapse
̿ ̿̿’̿’\̵͇̿̿\з==(*͡° ͜ʖ ͡°)==ε/̵͇̿̿/’̿’̿ ̿ ̿̿*
---------- Post added at 08:26 PM ---------- Previous post was at 08:21 PM ----------
Droid.Riz said:
what all lines or links should i have to modify if i am building kernel for my device oneplus one lollipop ?
@Nicknoxx
Click to expand...
Click to collapse
Use the cm kernel source from github.com/CyanogenMod in git clone
Just type
git clone https://github.com/CyanogenMod/android_kernel_oneplus_msm8974 kernel
Click to expand...
Click to collapse
And for compiling
make bacon_defconfig
Click to expand...
Click to collapse
̿ ̿̿’̿’\̵͇̿̿\з==(*͡° ͜ʖ ͡°)==ε/̵͇̿̿/’̿’̿ ̿ ̿̿*
KNIGHT97 said:
Also @Nicknoxx one can use the -b argument with git while cloning so git just downloads a single branch of the kernel source, this'll save bandwidth and time to some extent
Like
̿ ̿̿’̿’\̵͇̿̿\з==(*͡° ͜ʖ ͡°)==ε/̵͇̿̿/’̿’̿ ̿ ̿̿*
---------- Post added at 08:26 PM ---------- Previous post was at 08:21 PM ----------
Use the cm kernel source from github.com/CyanogenMod in git clone
Just type
And for compiling
̿ ̿̿’̿’\̵͇̿̿\з==(*͡° ͜ʖ ͡°)==ε/̵͇̿̿/’̿’̿ ̿ ̿̿*
Click to expand...
Click to collapse
thanks a lot for quick reply i will start it today itself @ night.
after successfully compiling i will reply here
Nice guide. I ad it to my collection. I mis the part about building the modules. For wifi and so on. I think the command is "make modules"
Maby ad some info about updating a kernel. ICS to JB. KK to LP and sow on.
How about the command to clean after building?
[email protected] said:
Nice guide. I ad it to my collection. I mis the part about building the modules. For wifi and so on. I think the command is "make modules"
Maby ad some info about updating a kernel. ICS to JB. KK to LP and sow on.
How about the command to clean after building?
Click to expand...
Click to collapse
Executing the make -j# command automatically builds your modules along with the Zimage, you'll just need to read last few lines in terminal to know the modules and where they reside
̿ ̿̿’̿’\̵͇̿̿\з==(*͡° ͜ʖ ͡°)==ε/̵͇̿̿/’̿’̿ ̿ ̿̿*
Hi guys,
How i can implement this mod/patch in my kernel??
http://forum.xda-developers.com/android/software-hacking/kernel-tap2unlock-tap2wake-feature-t2965344
I'm running MyROM 1.2 and it doesn't have tun.ko which I need. I tried the installer from google play without success. I'm willing to change ROMS if necessary but I need to know which ones have it already integrated or how to install it. If I have to compile it please give details instructions.
go0 said:
I'm running MyROM 1.2 and it doesn't have tun.ko which I need. I tried the installer from google play without success. I'm willing to change ROMS if necessary but I need to know which ones have it already integrated or how to install it. If I have to compile it please give details instructions.
Click to expand...
Click to collapse
Module must be compiled exactly for your kernel version.
You have to download kernel sources, compile kernel and module, so vermagic of kernel and module will be the same.
I can try to compile this module for you, but you need to provide me content of your /proc/version file for spoof kernel version for verification.
Kostyan_nsk said:
Module must be compiled exactly for your kernel version.
You have to download kernel sources, compile kernel and module, so vermagic of kernel and module will be the same.
I can try to compile this module for you, but you need to provide me content of your /proc/version file for spoof kernel version for verification.
Click to expand...
Click to collapse
Hi Kostyan,
I'm not certain I know where to get the sources from and the next steps to compile the module. Is there a tutorial somewhere?
My /proc/version reads:
Linux version 3.0.8-00370-g3be8d90 ([email protected]) (gcc version 4.7 (GCC) ) #1 SMP PEEMPT Tue Sep 2 13:21:11 CST 2014
Click to expand...
Click to collapse
Create directory for module:
Code:
adb shell
su
mount -o rw,remount /system
cd /system/lib
mkdir modules
exit
exit
Copy module in /system/lib/modules
Set permission 644 for tun.ko
Try to load module:
Code:
adb shell
su
insmod /system/lib/modules/tun.ko
if insmod will fail, get error description by this command:
Code:
dmesg | grep insmod
P.S. All these operations requires full root access.
This https://github.com/LineageOS/androi...4/configs/exynos9810-crownlte_defconfig#L3638 is the kernel normally integrated in the official LOS17.1 build that I flashed on my phone.
When I
Bash:
$ sudo ls /dev/tt*
in termux, why isn't it the
Bash:
/dev/ttyACM0
listed in the outputed device files please?