public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Jeroen Hofstee <jeroen@myspectrum.nl>
To: u-boot@lists.denx.de
Subject: [U-Boot] recent tools on FreeBSD
Date: Sat, 07 Feb 2015 21:17:37 +0100	[thread overview]
Message-ID: <54D672E1.30700@myspectrum.nl> (raw)
In-Reply-To: <CAPnjgZ2LPkFcYkSYRZQ+SwRVqRqR0pT5HNL1xUw5v6U-8BWj2w@mail.gmail.com>

Hello Simon,

On 07-02-15 16:10, Simon Glass wrote:
> On 7 February 2015 at 03:04, Jeroen Hofstee <jeroen@myspectrum.nl> wrote:
>>
>>
>> I am missing the point, u-boot and its tools build fine until v2015.04-rc1
>> on FreeBSD and a mac. And this is easily fixed by not using linker magic
>> for tools. (and yes sandbox likely fails to build, but I don't care that
>> much)
> How do you build U-Boot for any of the boards supported? What I mean
> is that if you can't handle linker scripts in FreeBSD how do you build
> anything beyond the 'tools' build?

FreeBSD host ld can handle linker scripts fine, it is INSERT BEFORE .data;
which is not supported. Boards don't use the host linker script, but one for
the target, which comes from ports and hence is not that old e.g.

arm-gnueabi-freebsd-ld --version
GNU ld (GNU Binutils) 2.25
Copyright (C) 2014 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later 
version.
This program has absolutely no warranty.

Besides that, boards don't use INSERT before .data, since they have a 
complete
linker script.


> The docs for 'ld' seem to indicate that if the -T option is not used
> the file is treated as a link script addendum rather than replacing it
> entirely. Is that what we want?

FreeBSD ld has this option, it does not work on a MAC/Darwin though
according to Andreas his post. The problem on FreeBSD is the INSERT 
before .data
inside the "addendum" aka tools/imagetool.lds

>>> Finally, please point me to how I can install FreeBSD in viritualbox
>>> or similar. I'm interested in that...
>>
>> Just download an install image and start it in virtualbox, see 1.
>> You might need to change the motherboard type.
>>
>> doc/README.clang explains how to use the host compiler to cross build
>> u-boot (for some boards). You can install a gcc cross compiler as well.
>>
>> [1] https://www.freebsd.org/releases/10.1R/announce.html
>>
> I tried this out and I have a prompt but I'm not sure how to install
> git or anything else 'pkg install git' tells me there are no packages
> available to install matching 'git'. pkg_add seems to be missing. I am
> none the wiser after some web searching.

pkg replaced the pkg_add / pkg_info and friends. So it is fine that they
are not there. The weird thing is I just booted 10.1 in virtualbox to 
reproduce
this but works fine (just defaults everywhere), I roughly did [1]. 
Obviously you
need root credentials to install packages, but I doubt you forgot that.

If this still fails, you can always build it from source, but needs a 
bit of patience.
Somthing like this should always work:

portsnap fetch
portsnap extract

cd /usr/ports/devel/git
make config-recursive
make
make install

Let me know if you still have issues.

Regards,
Jeroen


[1] (as root)

pkg install nano git
git clone git://git.denx.de/u-boot.git
git checkout v2015.01 -b b2015.01
cd u-boot
pkg install arm-gnueabi-binutils gmake

gmake CC="clang -target arm-freebsd-eabi -no-integrated-as -mllvm 
-arm-use-movt=0" rpi_defconfig
gmake CROSS_COMPILE=arm-gnueabi-freebsd- CC="clang -target 
arm-freebsd-eabi -no-integrated-as -mllvm -arm-use-movt=0 
-B/usr/local/bin/arm-gnueabi-freebsd-" CONFIG_USE_PRIVATE_LIBGCC=y

  parent reply	other threads:[~2015-02-07 20:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-04 19:37 [U-Boot] recent tools on FreeBSD Jeroen Hofstee
2015-02-05  3:34 ` Simon Glass
2015-02-05  7:07   ` Jeroen Hofstee
2015-02-05 12:37   ` Guilherme Maciel Ferreira
2015-02-05 12:27 ` Guilherme Maciel Ferreira
2015-02-05 19:51   ` Jeroen Hofstee
2015-02-06  3:05     ` Simon Glass
2015-02-06 19:56       ` Jeroen Hofstee
2015-02-06 20:40         ` Andreas Bießmann
2015-02-06 21:00           ` Simon Glass
2015-02-07 10:04             ` Jeroen Hofstee
2015-02-07 15:10               ` Simon Glass
2015-02-07 16:23                 ` Andreas Bießmann
2015-02-07 16:29                   ` Simon Glass
2015-02-07 17:08                     ` Andreas Bießmann
2015-02-07 17:19                       ` Simon Glass
2015-02-07 21:19                       ` [U-Boot] [RFC PATCH] tools/imagetool: remove linker generated list Andreas Bießmann
2015-02-07 21:38                         ` Jeroen Hofstee
2015-02-08  0:05                         ` Guilherme Maciel Ferreira
2015-02-10 15:01                         ` Simon Glass
2015-02-07 20:17                 ` Jeroen Hofstee [this message]
2015-02-07 21:02                   ` [U-Boot] recent tools on FreeBSD Simon Glass
2015-02-08 10:03                     ` Jeroen Hofstee
2015-02-10 14:52                       ` Simon Glass
2015-02-09 23:20                 ` [U-Boot] sandbox " Jeroen Hofstee
2015-02-10 15:34                   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54D672E1.30700@myspectrum.nl \
    --to=jeroen@myspectrum.nl \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox