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
已解决! 转到解答。
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!
-----------------------------------------------------------------------------------------------------------------------
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, ...
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
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!
-----------------------------------------------------------------------------------------------------------------------
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!
-----------------------------------------------------------------------------------------------------------------------
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!
-----------------------------------------------------------------------------------------------------------------------