Community
cancel
Showing results for 
Search instead for 
Did you mean: 
MWong16
Beginner
1,621 Views

Building 64 bit kernel image with Yocto

i can build a 32 bit version.

Now i am trying build 64 bit kernel, but got some issues:

 

After run "bitbake virtual/kernel -c menuconfig"

 

i choose [*]64 bit kernel and save

 

then copy the configuration file to the Edison build directory

 

then run "bitbake edison-image" again, but i get an error.

i find the log under /out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/temp/log.do_compile.6126 :

 

————————————————————————————-

 

DEBUG: Executing shell function do_compile

 

NOTE: make -j 4 bzImage CC=i586-poky-linux-gcc LD=i586-poky-linux-ld.bfd

 

GEN /home/marcus/src/edison/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/linux-edison-standard-build/Makefile

 

scripts/kconfig/conf –silentoldconfig Kconfig

 

SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h

 

SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h

 

SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h

 

SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h

 

SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_32_ia32.h

 

SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_64_x32.h

 

SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_64.h

 

GEN /home/marcus/src/edison/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/linux-edison-standard-build/Makefile

 

CHK include/generated/uapi/linux/version.h

 

CHK include/generated/utsrelease.h

 

CC scripts/mod/empty.o

 

HOSTCC scripts/selinux/genheaders/genheaders

 

/home/marcus/src/edison/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/linux/scripts/mod/empty.c:1:0: error: code model 'kernel' not supported in the 32 bit mode

 

/* empty file to figure out endianness / word size */

 

^

 

/home/marcus/src/edison/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/linux/scripts/mod/empty.c:1:0: sorry, unimplemented: 64-bit mode not compiled in

 

make[3]: *** [scripts/mod/empty.o] Error 1

 

make[2]: *** [scripts/mod] Error 2

 

make[2]: *** Waiting for unfinished jobs….

 

HOSTCC scripts/selinux/mdp/mdp

 

make[1]: *** [scripts] Error 2

 

make[1]: *** Waiting for unfinished jobs….

 

make: *** [sub-make] Error 2

 

ERROR: oe_runmake failed

 

WARNING: exit code 1 from a shell command.

 

ERROR: Function failed: do_compile (log file is located at /home/marcus/src/edison/edison-src/out/linux64/build/tmp/work/edison-poky-linux/linux-yocto/3.10.17-r0/temp/log.do_compile.6126)

 

————————————————————————————————–

Any idea about the issues ? Thanks~

0 Kudos
5 Replies
FerryT
Valued Contributor I
100 Views

idata
Community Manager
100 Views

Hi,

 

 

This link may also be helpful /thread/57334 https://communities.intel.com/thread/57334 . Keep us updated of your progress.

 

 

-Sergio

 

FIvan
New Contributor I
100 Views

It says "sorry, unimplemented:".

Don't you have to implement and code missing 64-bit drivers and programs first?

MWong16
Beginner
100 Views

I try to edit the edison.conf file

add

DEFAULTTUNE ?= "core2-64"

before

include conf/machine/include/tune-atom.inc

and build again but now i got this error

| x86_64-poky-linux-ld.bfd: skipping incompatible /home/marcus/Documents/Project/edison/edison-src/out/linux64/build/tmp/sysroots/edison/usr/lib/x86_64-poky-linux/4.9.1/libgcc.a when searching for -lgcc

| x86_64-poky-linux-ld.bfd: cannot find -lgcc

| make[2]: *** [examples/standalone/hello_world] Error 1

| make[1]: *** [examples/standalone] Error 2

| make: *** [examples] Error 2

| ERROR: oe_runmake failed

| WARNING: exit code 1 from a shell command.

| ERROR: Function failed: do_compile (log file is located at /home/marcus/Documents/Project/edison/edison-src/out/linux64/build/tmp/work/edison-poky-linux/u-boot/2014.04-1-r0/temp/log.do_compile.28011)

ERROR: Task 449 (/home/marcus/Documents/Project/edison/edison-src/meta-intel-edison/meta-intel-edison-bsp/recipes-bsp/u-boot/u-boot_2014.04.bb, do_compile) failed with exit code '1

it seems use wrong gcc lib which is incompatible with m64 build

but i dont know how can fix it.....

Is 64-bit kernel really can run on the edison? it seems no one success build 64bit.

idata
Community Manager
100 Views

The standard Yocto image in the BSP is meant to be built as a 32 bit. You can build Yocto for a 64 bit system, however you'd have to port some 32 bit packages which are needed to make this work. There's no documentation with these instructions.

 

It is important to mention that the Edison's SoC is 64-bit, but the module is wired internally with other components so it's designed to work as 32-bits.

 

Because of this, we recommend you to build a 32 bit image for the Edison.

Source: /message/386032# 386032 https://communities.intel.com/message/386032# 386032

-Sergio