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>