Date: Fri, 13 Jun 2014 08:33:06 +0600 From: Stepan Dyatkovskiy <stpworld@narod.ru> To: Ian Lepore <ian@FreeBSD.org> Cc: Tim Kientzle <tim@kientzle.com>, freebsd-arm@FreeBSD.org Subject: Re: Compilation for ARM Message-ID: <539A62E2.20003@narod.ru> In-Reply-To: <539A2261.4070705@narod.ru> References: <53935D02.2030604@narod.ru> <6D7645D2-9C08-4B5D-BAA5-5B6EC8F66F0B@kientzle.com> <5393FF7B.4020407@narod.ru> <1402428857.20883.177.camel@revolution.hippie.lan> <5398B1A2.3010007@narod.ru> <1402591005.20883.213.camel@revolution.hippie.lan> <539A2261.4070705@narod.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi all, Currently I'm trying to compile kernel, with activated cortex-a9 or a15 options (TARGET_CPUTYPE=cortex-a9). Currently "as" from buildworld gives me tons of "unknown instruction" errors. That happens, I suppose, due to its release date (2007). So I have tried newer versions of binutils: 1. devel/cross-binutils from ports. I have built it with TGTARCH=armv6 and TGTABI=none-eabi. 2. Binutils from http://ftp.gnu.org/gnu/binutils/ I did it in several steps: 1. I have built them. 2. I have entered buildenv: "make TARGET_CPUTYPE=armv6 buildenv" 3. # which as 4. # cp /usr/obj/arm.armv6/usr/src/tmp/usr/bin/as /usr/obj/arm.armv6/usr/src/tmp/usr/bin/as.bak Below I tried several ways to replace as/ld/and-friends: 5. cp /usr/local/bin/armv6-none-eabi-as /usr/obj/arm.armv6/usr/src/tmp/usr/bin/as 6. I have also tried "ln -s" 7. # make KERNCONF=PANDABOARD TARGET_CPUTYPE=cortex-a9 buildkernel Whatever I did, it always ended up with /usr/src/sys/arm/arm/locore.S: Assembler messages: /usr/src/sys/arm/arm/locore.S:79: Error: duplicate .fnstart directive /usr/src/sys/arm/arm/locore.S:255: Error: .fnend directive without .fnstart So, may be, you guys know how to deal with that? Currently I have no idea :-(.. May be sleep a bit :-) Thanks! -Stepan Stepan Dyatkovskiy wrote: > Hi all, > > Thanks for advices! > > That's interesting. I have managed to launch kernel, using these u-boot > binaries: > http://people.freebsd.org/~gonzo/pandaboard/ > > Looks like specific MLO. But I'm not sure. > > With regular linaro u-boot, I load kernel.bin, then try start it with > "go", and nothing happens. With binaries of this Gonzo guy, I did the > same, and everything works fine :-/ Do you know who is it (I mean > Gonzo)? I would like to ask him, what he did in his binaries. > > Another question: > I would like to build FreeBSD, using latest clang. Currently I have > tried to build it latest svn version of FreeBSD: > svn://svn.freebsd.org/base/head/ > With command: > make TARGET_ARCH=armv6 buildworld TARGET_CPUTYPE=cortex-a9 > > But got next error (repeated several > times):/tmp/jemalloc_atomic-22cc38.s:21: Error: garbage following > instruction -- `dmb ish' > > So perhaps, its better to use stable version (10.0.0), but with new > clang. Currently, I'm going to copy clang sources from HEAD into 10.0.0 > sources tree. But perhaps there is better way to do it? > > Thanks! > > -Stepan > > Ian Lepore wrote: >> On Thu, 2014-06-12 at 01:44 +0600, Stepan Dyatkovskiy wrote: >>> Hi guys, >>> Thank you! I have built it successfully. It was really simple. Currently >>> I'm trying to launch with u-boot. Are here any instructions/manual how >>> to run kernel with u-boot? >>> Thanks! >>> -Stepan >> >> If you compile the dtb into the kernel, you can launch the kernel >> directly from u-boot. If you don't, then you need u-boot to launch >> ubldr (loader(8) that uses the u-boot API, which requires a u-boot with >> the API option enabled). >> >> The kernel can be loaded at any 1MB-boundary address, and can be >> launched by jumping to the load address + 0x100, such as: >> >> fatload <device/partition> 11000000; go 11000100 >> >> If you are using a modern u-boot that enables data caches, you need to >> turn them off manually, like: >> >> fatload <device/partition> 11000000 >> dcache off; dcache flush >> go 11000100 >> >> This is just a u-boot quirk, it disables caches on bootm and bootelf >> commands, but not on a "go" command. >> >> -- Ian >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?539A62E2.20003>