Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Sep 2012 20:11:50 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        Aleksandr Rybalko <ray@ddteam.net>
Cc:        arm@freebsd.org
Subject:   Re: freebsd-beaglebone install problem
Message-ID:  <DEF67A6F-3D51-4A2E-91D7-1A150D23BA6D@kientzle.com>
In-Reply-To: <20120906002314.98ffdc38.ray@ddteam.net>
References:  <DD05E72B9F474BFE96B6A4B050D2A18A@gmail.com> <0DCAC001-FF06-431A-A486-2B50BE913B0D@bsdimp.com> <FAA208C1-2872-4BB6-A7EC-04C757533CA4@kientzle.com> <7E18623F-3945-4EA0-B332-5A5C717B20F0@kientzle.com> <D4EA50B895E3470483A3712F0B021E39@gmail.com> <20120906002314.98ffdc38.ray@ddteam.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sep 5, 2012, at 2:23 PM, Aleksandr Rybalko wrote:

> On Wed, 5 Sep 2012 11:13:14 -0700
> Hans Stimer <hans.stimer@gmail.com> wrote:
>=20
>> Tried the latest in github, but uboot isn't building. I'll have some
>> time later today to try and figure what is going on.
>>=20
>> # git clone
>> # git://arago-project.org/git/projects/u-boot-am33x.git =
/usr/home/hans/extern/freebsd-beaglebone/u-boot
>>=20
>> # /bin/sh beaglebsd.sh
>> Starting at Wed Sep 5 11:05:10 PDT 2012
>> Loading configuration values
>> Found FreeBSD xdev tools for ARM
>> Found suitable U-Boot sources
>> in /usr/home/hans/extern/freebsd-beaglebone/u-boot Found suitable
>> FreeBSD source tree in /usr/armsrc Patching U-Boot. (Logging
>> to /usr/home/hans/extern/freebsd-beaglebone/work/_.uboot.patch.log)
>> Applying
>> patch =
/usr/home/hans/extern/freebsd-beaglebone/config/arm/BEAGLEBONE/files/uboot=
_patch1_add_libc_to_link_on_FreeBSD.patch
>> Applying
>> patch =
/usr/home/hans/extern/freebsd-beaglebone/config/arm/BEAGLEBONE/files/uboot=
_patch2_add_options_to_am335x_config.patch
>> Applying
>> patch =
/usr/home/hans/extern/freebsd-beaglebone/config/arm/BEAGLEBONE/files/uboot=
_patch3_fix_api_disk_enumeration.patch
>> Applying
>> patch =
/usr/home/hans/extern/freebsd-beaglebone/config/arm/BEAGLEBONE/files/uboot=
_patch4_shrink_spl.patch
>> Applying
>> patch =
/usr/home/hans/extern/freebsd-beaglebone/config/arm/BEAGLEBONE/files/uboot=
_patch5_set_zero_bootdelay.patch
>> Configuring U-Boot. (Logging
>> to =
/usr/home/hans/extern/freebsd-beaglebone/work/_.uboot.configure.log)
>> Building U-Boot. (Logging
>> to /usr/home/hans/extern/freebsd-beaglebone/work/_.uboot.build.log)
>> Failed to build U-Boot. Log
>> in /usr/home/hans/extern/freebsd-beaglebone/work/_.uboot.build.log
>> # =20
>>=20
>>=20
>> # cat work/_.uboot.build.log =20
>> Generating include/autoconf.mk
>> include/common.h:43:20: error: stdarg.h: No such file or directory
>> In file included from include/image.h:36,
>>                 from include/common.h:117:
>> include/compiler.h:8:20: error: stddef.h: No such file or directory
>> Generating include/autoconf.mk.dep
>> include/common.h:43:20: error: stdarg.h: No such file or directory
>> In file included from include/image.h:36,
>>                 from include/common.h:117:
>> include/compiler.h:8:20: error: stddef.h: No such file or directory
>> arm-freebsd-gcc -DDO_DEPS_ONLY \
>> -g  -Os   -fno-common -ffixed-r8 -msoft-float   -D__KERNEL__
>> -DCONFIG_SYS_TEXT_BASE=3D0x80100000 -DCONFIG_SPL_TEXT_BASE=3D0x402F0400=

>> -I/usr/home/hans/extern/freebsd-beaglebone/u-boot/include
>> -fno-builtin -ffreestanding -nostdinc -isystem include -pipe
>> -DCONFIG_ARM -D__ARM__ -marm  -mabi=3Daapcs-linux =
-mno-thumb-interwork
>> -march=3Darmv5 -Wall -Wstrict-prototypes -fno-stack-protector
>> -Wno-format-nonliteral -Wno-format-security   \ -o lib/asm-offsets.s
>> lib/asm-offsets.c -c -S In file included from lib/asm-offsets.c:18:
>> include/common.h:43:20: error: stdarg.h: No such file or directory In
>> file included from include/image.h:36, from include/common.h:117,
>> from lib/asm-offsets.c:18: include/compiler.h:8:20: error: stddef.h:
>> No such file or directory In file included from lib/asm-offsets.c:18:
>> include/common.h:687: error: expected declaration specifiers or '...'
>> before 'va_list' In file included from lib/asm-offsets.c:18:
>> include/common.h:719: error: expected declaration specifiers or '...'
>> before 'va_list' gmake: *** [lib/asm-offsets.s] Error 1
>> # =20
>>=20
>>=20
>> On Tuesday, September 4, 2012 at 9:28 PM, Tim Kientzle wrote:
>>=20
>>>=20
>>> On Sep 4, 2012, at 9:22 PM, Tim Kientzle wrote:
>>>=20
>>>>=20
>>>> On Sep 4, 2012, at 6:07 PM, Warner Losh wrote:
>>>>=20
>>>>>=20
>>>>> On Sep 4, 2012, at 4:17 PM, Hans Stimer wrote:
>>>>>=20
>>>>>> I'm running into problems getting FreeBSD working on the
>>>>>> BeagleBone.
>>>>=20
>>>>>>=20
>>>>>>> # cu -l /dev/ttyU1 -s 115200
>>>>>>> Connected
>>>>>>> CCCCCCCC
>>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>=20
>>>>=20
>>>>=20
>>>> The ROM code for the AM3358 SoC in the BeagleBone falls
>>>> back to YModem if it can't load the first-stage MLO boot loader
>>>> from SDHC.
>>>>=20
>>>> If you see this, then either the FAT partition is
>>>> ill-formed or the MLO file is missing.
>>>>=20
>>>>>> I checked the logs, and this one stood out:
>>>>>>=20
>>>>>>> # less _.uboot.build.log =20
>>>>>>> Generating include/autoconf.mk
>>>>>>> include/common.h:43:20: error: stdarg.h: No such file or
>>>>>>> directory In file included from include/image.h:36,
>>>>>>> from include/common.h:117:
>>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>=20
>>>>=20
>>>>=20
>>>> Yeah, looks like U-Boot didn't build.
>>>>=20
>>>> I haven't updated my local U-Boot sources in a while,
>>>> I'll go do that and get right back to you=85
>>>>=20
>>>=20
>>>=20
>>> Please update the freebsd-beaglebone scripts and
>>> try again. I found and fixed a couple of problems:
>>>=20
>>> * I had reversed the logic to decide if patches were already
>>> applied, so U-Boot wasn't getting patched.
>>> * One of my patches needed to be updated to work with
>>> the newest U-Boot sources.
>>> * I added some logic so that the beaglebsd.sh (http://beaglebsd.sh)
>>> script will actually fail with an error message if the U-Boot patch,
>>> configure, or build steps fail. This should make problems
>>> like this more obvious.
>>>=20
>>> Let me know if you run into any other issues.
>>>=20
>>> Cheers,
>>>=20
>>> Tim =20
>>=20
>> _______________________________________________
>> freebsd-arm@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>> To unsubscribe, send any mail to =
"freebsd-arm-unsubscribe@freebsd.org"
>=20
> Hi,
>=20
> You can try to use your FreeBSD toolchain for that, it works for me:
> CROSS=3D/usr/obj/arm.armv6/usr/src/tmp/usr/bin/
> gmake ARCH=3Darm CROSS_COMPILE=3D${CROSS} distclean
> gmake ARCH=3Darm CROSS_COMPILE=3D${CROSS} YOUR_BOARD_config
> gmake ARCH=3Darm CROSS_COMPILE=3D${CROSS}
>=20
> Replace /usr/obj/arm.armv6/usr/src/tmp/usr/bin with your path to
> toolchain made by FreeBSD build system for your board.

Better yet, use the FreeBSD xdev toolchain.

> Ohhh, forget about small patch to make some math symbols also from =
uboot
> sources.
> --------------------------------------------------------
> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
> index 39a9550..ec05e33 100644
> --- a/arch/arm/lib/Makefile
> +++ b/arch/arm/lib/Makefile
> @@ -49,6 +49,15 @@ endif
> COBJS-y        +=3D cache.o
> COBJS-y        +=3D cache-cp15.o
>=20
> +COBJS-y        +=3D div0.o
> +COBJS-y        +=3D _ashldi3.o
> +COBJS-y        +=3D _ashrdi3.o
> +COBJS-y        +=3D _divsi3.o
> +COBJS-y        +=3D _lshrdi3.o
> +COBJS-y        +=3D _modsi3.o
> +COBJS-y        +=3D _udivsi3.o
> +COBJS-y        +=3D _umodsi3.o
> +
> SRCS   :=3D $(GLSOBJS:.o=3D.S) $(GLCOBJS:.o=3D.c) \
>           $(SOBJS-y:.o=3D.S) $(COBJS-y:.o=3D.c)
> OBJS   :=3D $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
> --------------------------------------------------------

Somewhere FreeBSD screwed up and on ARM
these functions all ended up in libc instead of
in libcompiler_rt.

It's a one-line patch to the U-Boot makefile to
link against libc, but it would probably be
better long-term to move these into the right place.

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DEF67A6F-3D51-4A2E-91D7-1A150D23BA6D>