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>
index | next in thread | previous in thread | raw e-mail
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: > >> 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. >> >> # git clone >> # git://arago-project.org/git/projects/u-boot-am33x.git /usr/home/hans/extern/freebsd-beaglebone/u-boot >> >> # /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 >> # >> >> >> # cat work/_.uboot.build.log >> 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=0x80100000 -DCONFIG_SPL_TEXT_BASE=0x402F0400 >> -I/usr/home/hans/extern/freebsd-beaglebone/u-boot/include >> -fno-builtin -ffreestanding -nostdinc -isystem include -pipe >> -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork >> -march=armv5 -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 >> # >> >> >> On Tuesday, September 4, 2012 at 9:28 PM, Tim Kientzle wrote: >> >>> >>> On Sep 4, 2012, at 9:22 PM, Tim Kientzle wrote: >>> >>>> >>>> On Sep 4, 2012, at 6:07 PM, Warner Losh wrote: >>>> >>>>> >>>>> On Sep 4, 2012, at 4:17 PM, Hans Stimer wrote: >>>>> >>>>>> I'm running into problems getting FreeBSD working on the >>>>>> BeagleBone. >>>> >>>>>> >>>>>>> # cu -l /dev/ttyU1 -s 115200 >>>>>>> Connected >>>>>>> CCCCCCCC >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>>> 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. >>>> >>>> If you see this, then either the FAT partition is >>>> ill-formed or the MLO file is missing. >>>> >>>>>> I checked the logs, and this one stood out: >>>>>> >>>>>>> # less _.uboot.build.log >>>>>>> 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: >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> >>>> Yeah, looks like U-Boot didn't build. >>>> >>>> I haven't updated my local U-Boot sources in a while, >>>> I'll go do that and get right back to you… >>>> >>> >>> >>> Please update the freebsd-beaglebone scripts and >>> try again. I found and fixed a couple of problems: >>> >>> * 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. >>> >>> Let me know if you run into any other issues. >>> >>> Cheers, >>> >>> Tim >> >> _______________________________________________ >> 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" > > Hi, > > You can try to use your FreeBSD toolchain for that, it works for me: > CROSS=/usr/obj/arm.armv6/usr/src/tmp/usr/bin/ > gmake ARCH=arm CROSS_COMPILE=${CROSS} distclean > gmake ARCH=arm CROSS_COMPILE=${CROSS} YOUR_BOARD_config > gmake ARCH=arm CROSS_COMPILE=${CROSS} > > 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 += cache.o > COBJS-y += cache-cp15.o > > +COBJS-y += div0.o > +COBJS-y += _ashldi3.o > +COBJS-y += _ashrdi3.o > +COBJS-y += _divsi3.o > +COBJS-y += _lshrdi3.o > +COBJS-y += _modsi3.o > +COBJS-y += _udivsi3.o > +COBJS-y += _umodsi3.o > + > SRCS := $(GLSOBJS:.o=.S) $(GLCOBJS:.o=.c) \ > $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) > OBJS := $(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. Timhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DEF67A6F-3D51-4A2E-91D7-1A150D23BA6D>
