Date: Sat, 21 Jan 2012 11:13:32 +0100 From: Rafal Jaworowski <raj@semihalf.com> To: Tim Kientzle <tim@kientzle.com> Cc: arm@FreeBSD.org, Mark Murray <markm@FreeBSD.org> Subject: Re: FreeBSD and BeagleBone Message-ID: <DB160959-A698-415D-AACC-659D6469212E@semihalf.com> In-Reply-To: <AEF07CD1-6794-4F04-AF9C-938423FE919B@kientzle.com> References: <23CB6C35-9450-40BA-9FA3-37C44B328CA8@freebsd.org> <CABt%2Bj0mB4w==h_SQ4YyDM24_wGOjcdZDK9T1N3DqjSkap0VkQw@mail.gmail.com> <E8A24EBE-967D-44F8-A884-3207B3C6F0FE@bsdimp.com> <8042D895-3B3D-431E-ADCC-A150BDC838ED@kientzle.com> <CAGW5k5ahyaTest3L0NTe1t%2B%2BYBgpLMkWZNpp=GRyz%2Bg=nMcZLg@mail.gmail.com> <7E53112E-DE29-4145-B597-D39AA77252C5@kientzle.com> <E1RoGMT-000DkR-6a@groundzero.grondar.org> <AEF07CD1-6794-4F04-AF9C-938423FE919B@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-01-21, at 08:34, Tim Kientzle wrote: > On Jan 20, 2012, at 7:26 AM, Mark Murray wrote: >=20 >>> For the moment, I'm more curious about just how far I can push this >>> using FreeBSD tools only. >>=20 >> I've locally updated cross-(binutils|gcc|gdb) to the latest stable >> versions, and they seem to work really well for u-boot, OpenPilot and = a >> couple of other things. >=20 > Warner's pointer about "make xdev" helped a lot. >=20 > $ cd /usr/src && make xdev XDEV=3Darm XDEV_ARCH=3Darm >=20 > Then U-boot almost builds with >=20 > $ cd ~/u-boot > $ gmake CROSS_COMPILE=3Darm-freebsd- am335x_evm_config > $ gmake CROSS_COMPILE=3Darm-freebsd- >=20 > To actually get it to build, I've had to make two changes to U-Boot = sources: > * In config.mk, remove "-nostdinc" from CPPFLAGS > * In Makefile, add /usr/arm-freebsd/usr/lib/libc.a to PLATFORM_LIBS >=20 > The first fixes missing stddef.h, stdarg.h headers. (I'm not > sure why the -nostdinc works on Linux.) >=20 > The second is needed to resolve __umodsi3, __udivsi3, etc, > functions. (These might be defined in libgcc on Linux, and > there's some logic here to try to locate libgcc.) >=20 > With these, I've been able to rebuild u-boot for > the BeagleBone from TI's sources to add the "bootelf" > command. (The same changes seem to allow the current source > from denx.de to build on FreeBSD.) >=20 > But ubldr still won't run: >=20 > U-Boot# fatload mmc 0 0x80008000 ubldr > reading ubldr > 232591 bytes read > U-Boot# bootelf 0x80008000 > <hang> >=20 > Anyone else used U-Boot to run ubldr on Arm? Looking at memory addresses you use for loading etc. the problem you = might be hitting is with a linking address range: ubldr by default is = linked against 0x1000000, and the bootelf command would follow this = while parsing ELF and placing code/data in memory. If your system config = does not allow available RAM in this range it would crash / hang. If = this is the case, please try to adjust linking addr range in = sys/boot/arm/uboot/ldscript.arm to fit your layout and see if this = helps. Rafal
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DB160959-A698-415D-AACC-659D6469212E>