How to use different Kernel version in Adroid 6.0.1_2.1.0 ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to use different Kernel version in Adroid 6.0.1_2.1.0 ?

1,230 Views
ThanarajS
Contributor III

Hi All,

   Currenty we are working on Marshmallow Wi-Fi porting. If i use git command for kernel imx, it is downloading kernel version 4.1.15. How to change this kernel based on user wish.

Can we use some other kernel version[like 3.16...] in Android 6 ?

Regards,

Thanaraj.

Regards,
Thanaraj Subramani
Labels (5)
0 Kudos
6 Replies

813 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Thanaraj,

NXP makes several modifications to adapt kernels to its processors' architecture and kernel 3.16 is not available for Android 6.

Theoretically you should be able to build both images, one with Kernel 4.1 and other with kernel 3.16 (note that both images must be Android images provided by NXP for IMX processors) and substitute kernel, device tree and root file system in each other according to your needs. However, you may find dependencies problems.

Please note that NXP does not provide support on such kind of kernel modifications , the free support socope is limited to use our images as provided. If you are interested in paid support you may contact the NXP professional services team at www.nxp.com/services


Best regards,
Carlos

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

813 Views
ThanarajS
Contributor III

Hi Carlos,

   Thanks for reply.

   Actually whenever we change the kernel configuration in Menuconfig its giving version magic error. This is not actual output right?

   We don't know why error is coming if we modify kernel configuration. Due to this only we planned for changing the different kernel.

   ERROR:

   version magic '4.1.15 SMP preempt mod_unload ARMv7 p2v8 ' should be '4.1.15-dirty SMP preempt mod_unload ARMv7 p2v8 '

   Could you please give some idea to compile the kernel with modified configuration settings?

Regards,

Thanaraj.

Regards,
Thanaraj Subramani
0 Kudos

813 Views
Carlos_Musich
NXP Employee
NXP Employee

HI Thanaraj,

what changes do you apply? How do you apply these changes?

the following sequence is an example of how to apply changes using menuconfig.

$ bitbake -c menuconfig linux-imx (change anything)
$ cp tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/3.0.35-r33.10/git/.config ../sources/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/mx6/defconfig
$ bitbake -c cleansstate linux-imx
$ bitbake fsl-image-gui

0 Kudos

813 Views
ThanarajS
Contributor III

Hi Carlos,

Is that command is same for android kernel_imx & linux_imx ? Because we don't have any linux-imx folder.

Below steps only we followed to change the kernel imx configuration,

  root@test1-cpu:/work/myandroid/kernel_imx# make menuconfig

            Device Drivers --->

                  Network device support --->

                          Wireless LAN --->

                                                ---> Disabled BCMDHD and saved the configuration file.

Then we used following commands for compilation,

     1) install -D kernel_imx/.config out/target/product/sabresd_6dq/.config
     2) make -C kernel_imx -j4 uImage ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- LOADADDR=0x10008000 KCFLAGS=-mno-android

     3) make -C kernel_imx dtbs ARCH=arm CROSS_COMPILE=`pwd`/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi- LOADADDR=0x10008000 KCFLAGS=-mno-android

We didn't know which one is correct. Could you please tell me clearly ? if we are doing anything wrong.

Regards,
Thanaraj Subramani
0 Kudos

813 Views
diegoadrian
NXP Employee
NXP Employee

Hello Thanaraj,

Like Carlos Musich said, changing the kernel version is a very complex task, and unfortunately, we cannot provide you this level of support.

However, if you want to build the kernel image separately, you can use the following commands:

$ export PATH=~/myandroid/bootable/bootloader/uboot-imx/tools:$PATH
$ cd ~/myandroid/kernel_imx
$ echo $ARCH && echo $CROSS_COMPILE

You need to set those two environment variables:

$ export ARCH=arm
$ export CROSS_COMPILE=~/myandroid/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-

Then, you proceed to build your kernel image.

$ make imx_v7_android_defconfig

$ make menuconfig                             #set your desired configuration

$ make KCFLAGS=-mno-android

I hope this can help you.

Best Regards,

Diego.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

813 Views
Carlos_Musich
NXP Employee
NXP Employee

You are right, and I am sorry, I sent the instructions to do it with Yocto.

diegoadriancuevasescareño‌ may comment on this.

But anyway, I want to emphasize that changing the kernel is a very complex task, and this level of support is only provided by NXP Professional Services

Regards,

Carlos

0 Kudos