freebsd-beaglebone install problem
Tim Kientzle
tim at kientzle.com
Thu Sep 6 05:14:19 UTC 2012
Ah. I see now. You're using the xdev tools from RELENG_9_0.
There's a fix in -CURRENT to add support for GCC's
-print-file-name=include option. That option is used by U-Boot
to initialize the gccincdir variable with the location of suitable
system headers.
To workaround it, you can edit the definition of gccincdir
in u-boot/config.mk so that it reads as follows:
gccincdir := /usr/arm-freebsd/usr/include
(And make sure that directory actually exists on your system, of
course.)
I'll go track down the commit in -CURRENT that fixes this
and MFC it as soon as I get a chance.
Cheers,
Tim
On Sep 5, 2012, at 11:13 AM, Hans Stimer 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 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
>
More information about the freebsd-arm
mailing list