On Tue, Jul 26, 2016 at 02:53:17PM +0200, Patrick Wildt wrote: > 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 >
There's also cross-env target, that might be of use. -Artturi