Problem with generating 32bit kernel image for T4240rdb board

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

Problem with generating 32bit kernel image for T4240rdb board

Jump to solution
1,805 Views
vigneshr
Contributor III

Hi All,

I need to build kernel images for t4240rdb board of 32bit size. I have two builds and both compiles for 64 bit kernel only.

I tried to change the kernel defconfig file in t4240rdb.conf, but I was not able to compile successfully..

I'm using SDK-1.8, Is it possible to compile t4240rdb for 32bit kernel, if so tell me the steps to be followed and the necessary changes to be made.

Thanks,

--Vignesh

Tags (2)
0 Kudos
1 Solution
1,593 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Vignesh R,

More comments.

For e6500 processors, only 64bit Kernel is supported, no 32bit Kernel. Only the filesystem is differed as 32 bit and  64 bit.


Have a great day,
Yiping

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

View solution in original post

8 Replies
1,593 Views
vigneshr
Contributor III

Any Idea ??

0 Kudos
1,593 Views
mathiasparnaude
Contributor III

I'm not sure but I suppose getting a 32-bit kernel is not supported. The diff between t4240rdb.conf and t4240rdb-64b.conf is the include of e6500.inc or e6500-64b.inc ... so I had a look at the e6500.inc file and I see:

BUILD_64BIT_KERNEL = "1"

So I suppose that forces the kernel to be built in 64-bit mode (even in a context of a 32-bit userland).

Please, when asking something, think about giving more details: for example, you mention "two builds" but don't say more, you talk about compilation errors but you don't share, you don't say which commands you used, ...

1,593 Views
vigneshr
Contributor III

Thanks Mathias for your reply and suggestion,

Two builds I meant like one is for build_t4240rdb-release and another is for build-t4240rdb_64b-release. With these two builds when I ran bitbake -f virtual/kernel, It is generating the kernel image with 64bit. Then I tried to change kernel defconfig file from corenet64 to corenet32 in the configuration file of t4240rdb under meta-fsl-ppc/conf/ ... Even-though IM not able to compile the kernel for 32bit.

So first I need to conform that, with t4240rdb is it possible to compile the kernel for 32 bit, if so what changes need to be done..

Thanks,

--Vignesh

0 Kudos
1,593 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Vignesh R,

One important thing between building 32bit and 64bit Kernel is that the Toolchains are different, 32 bit GCC Toolchain is used to build 32bit Kernel, and building 64bit Kernel with 64 bit GCC Toolchain for e6500.

So I suggest you install the ISO QorIQ-SDK-V1.8-PPCE6500-CACHE-20150619-yocto.iso to deploy e6500 32bit Toolchain and sysroot environment.

Create the build project with the command

$ source ./poky/fsl-setup-poky -m t4240rdb

$ bitbake virtual/kernel

If you want to modify Kernel configuration and rebuild Kernel, please use the following procedure.

$bitbake virtual/kernel -c patch -f

Go to Kernel source folder build_t4240rdb_release/tmp/work/t4240rdb-fsl-linux/linux-qoriq/3.12-r0/git/.

Reconfigure Kernel

$make ARCH=powerpc menuconfig

Rebuild Kernel

$ cd build_t4240rdb_release

$ bitbake virtual/kernel -c compile -f

$ bitbake virtual/kernel


Have a great day,
Yiping

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

1,594 Views
vigneshr
Contributor III

Hi Yiping,
Thank you very much for the detailed explanation.

0 Kudos
1,594 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Vignesh R,

More comments.

For e6500 processors, only 64bit Kernel is supported, no 32bit Kernel. Only the filesystem is differed as 32 bit and  64 bit.


Have a great day,
Yiping

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

1,596 Views
lunminliang
NXP Employee
NXP Employee

Hello Vignesh R,

In arch/powerpc/platforms/85xx/Kconfig, there are below description:

"

config CORENET_GENERIC

    bool "Freescale CoreNet Generic"

    select DEFAULT_UIMAGE

    select E500

    select PPC_E500MC

    select PHYS_64BIT

    select SWIOTLB

    select ARCH_REQUIRE_GPIOLIB

    select GPIO_MPC8XXX

    select HAS_RAPIDIO

    select PPC_EPAPR_HV_PIC

    select HAS_FSL_QBMAN

    select MDIO_BUS_MUX if FSL_DPAA_ETH

    select MDIO_BUS_MUX_MMIOREG if FSL_DPAA_ETH

    select MDIO_BUS_MUX_GPIO if FSL_DPAA_ETH

    help

      This option enables support for the FSL CoreNet based boards.

      For 32bit kernel, the following boards are supported:

        P2041 RDB, P3041 DS and P4080 DS

      For 64bit kernel, the following boards are supported:

        T208x QDS and RDB, T4240 QDS, T4240 RDB and B4 QDS

      The following boards are supported for both 32bit and 64bit kernel:

        P5020 DS, P5040 DS, T104xQDS, T104xRDB, T102xQDS, T102xRDB

"


Have a great day,
Lunmin

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

1,596 Views
vigneshr
Contributor III

Okay, Thanks Lunminliang

0 Kudos