On Mon, Jul 25, 2016 at 10:52:46PM -0700, eaton.chiou wrote: > Hi, there, > Now I am working on cross-compiling v5.9 for armv7. What I have done is as > following. > 1. download source code of v5.9 > # cvs -qd anon...@anoncvs4.usa.openbsd.org:/cvs checkout -rOPENBSD_5_9 > -P /usr/src > 2. make cross-compiling tool-chain > # cd /usr/src > # make KERBEROS=no TARGET=armv7 cross-tools > after it's done, a new folder is created under /usr/cross > # cd /usr/cross > # ls -al > total 12 > drwxr-xr-x 3 root wheel 512 Jul 26 01:06 . > drwxr-xr-x 17 root wheel 512 Jul 26 01:06 .. > drwxr-xr-x 13 root wheel 512 Jul 26 01:13 armv7 > # ls -al armv7 > total 64 > drwxr-xr-x 13 root wheel 512 Jul 26 01:13 . > drwxr-xr-x 3 root wheel 512 Jul 26 01:06 .. > -rw-r--r-- 1 root wheel 0 Jul 26 01:08 .binutils_done > -rw-r--r-- 1 root wheel 0 Jul 26 01:06 .dirs_done > -rw-r--r-- 1 root wheel 0 Jul 26 01:13 .gcc_done > -rw-r--r-- 1 root wheel 0 Jul 26 01:07 .includes_done > -rw-r--r-- 1 root wheel 0 Jul 26 01:07 .obj_done > -rw-r--r-- 1 root wheel 4 Jul 26 01:06 TARGET_ARCH > -rw-r--r-- 1 root wheel 23 Jul 26 01:06 TARGET_CANON > -rw-r--r-- 1 root wheel 4 Jul 26 01:06 TARGET_CPU > drwxr-xr-x 2 root wheel 512 Jul 26 01:06 altroot > drwxr-xr-x 2 root wheel 512 Jul 26 01:06 bin > drwxr-xr-x 2 root wheel 512 Jul 26 01:06 dev > drwxr-xr-x 20 root wheel 512 Jul 26 01:06 etc > drwxr-xr-x 2 root wheel 512 Jul 26 01:06 home > drwxr-xr-x 2 root wheel 512 Jul 26 01:06 mnt > drwx------ 2 root wheel 512 Jul 26 01:06 root > drwxr-xr-x 2 root wheel 512 Jul 26 01:06 sbin > lrwxr-xr-x 1 root wheel 11 Jul 26 01:06 sys -> usr/src/sys > drwxrwxrwt 2 root wheel 512 Jul 26 01:06 tmp > drwxr-xr-x 16 root wheel 512 Jul 26 01:06 usr > drwxr-xr-x 21 root wheel 512 Jul 26 01:06 var > 3. compile kernel for armv7 > # cd /usr/src/sys/arch/armv7/config > # cd config RAMDISK > # cd ../compile/RAMDISK > # make clean; make > cat ../../../../arch/arm/arm/genassym.cf > ../../../../arch/armv7/armv7/genassym.cf | sh ../../../../kern/genassym.sh > cc -Werror -Wall -Wimplicit-function-declaration -Wno-main > -Wno-uninitialized -Wframe-larger-than=2047 -ffreestanding -msoft-float > -march=armv6 -Wa,-march=armv7a -fno-builtin-printf -fno-builtin-snprintf > -fno-builtin-vsnprintf -fno-builtin-log -fno-builtin-log2 > -fno-builtin-malloc -fno-pie -fno-stack-protector -O2 -pipe -nostdinc > -I../../../.. -I. -I../../../../arch -DCPU_ARMv7 -DTIMEZONE="0" -DDST="0" > -DSMALL_KERNEL -DNO_PROPOLICE -DBOOT_CONFIG -DMINIROOTSIZE="0x2800" > -DRAMDISK_HOOKS -DFFS -DMSDOSFS -DINET6 -DEXT2FS -DUSBVERBOSE -DMAXUSERS=4 > -D_KERNEL -D__armv7__ -MD -MP -MF assym.P > assym.h.tmp > /tmp/genassym_c.R4x0nKBJBy:1: error: bad value (armv6) for -march= > switch > /tmp/genassym_c.R4x0nKBJBy:1: error: bad value (armv6) for -mtune= > switch > *** Error 1 in /usr/src/sys/arch/armv7/compile/RAMDISK (Makefile:439 > 'assym.h') > > I don't really know what's going on. Is there a step-by-step procedure of > how to make a kernel for armv7 or give me a hand upon this error? > > Thx. > > Regards, > Eaton > > > > > > -- > View this message in context: > http://openbsd-archive.7691.n7.nabble.com/error-in-cross-compiling-for-armv7-tp300810.html > Sent from the openbsd port - arm mailing list archive at Nabble.com. >
That is because make config and make will not cross compile without further options. Instead it will try to compile armv7 with the amd64 compiler. To cross-compile, I have a simple make wrapper. Then you can run "armmake config" and "armmake bsd" for the kernel: http://ix.io/17Aq