Intel® Makers
Intel® Edison, Intel® Joule™, Intel® Curie™, Intel® Galileo
Announcements
Welcome - This is a Peer-to-Peer Forum only. Intel has discontinued these products but you may find support from other customers on this Forum
9874 Discussions

Building 64 bit kernel image with Yocto

MWong16
Beginner
1,809 Views

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
288 Views
idata
Community Manager
288 Views

Hi,

 

 

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

 

 

-Sergio

 

MWong16
Beginner
288 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
288 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

 

FIvan
New Contributor I
288 Views

It says "sorry, unimplemented:".

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

Reply