Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Feb 2017 18:28:31 +0100
From:      Milan Obuch <freebsd-arm@dino.sk>
To:        freebsd-arm@freebsd.org
Subject:   Re: FreeBSD on Pine64 experience
Message-ID:  <20170224182831.76c15809@zeta.dino.sk>
In-Reply-To: <20170220124619.7f04ad6a@zeta.dino.sk>
References:  <20170220124619.7f04ad6a@zeta.dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 20 Feb 2017 12:46:19 +0100
Milan Obuch <freebsd-arm@dino.sk> wrote:

> Hi,
> 
> some time ago I've got Pine64 board with 1 GB RAM. I decided to put
> FreeBSD on it as I saw arm64 architecture being worked on. First I
> tried to build u-boot, it worked somehow, but I was not able to find
> out the way boot works here, and did not find much time to play
> afterwards.

I completed full rebuild with sources at svn revision 313999 now. It
took almost four days... but no problems so far, everything seems to be
stable, just some spurious interrupts were detected over the build,
maybe ten over those four days.

[ snip ]

> env ABI=FreeBSD:11:aarch64 pkg install aarch64-binutils
> 
> which installed both pkg and aarch64-binutils packages. I know from my
> earlier attempts to cross compile world for arm64 it was enough to
> build world, but it was not enough for native build. Trouble was our
> build environment is sanitized and aarch64-binutils package is
> installed into /usr/local/aarch64-freebsd/{bin,lib} directories, so
> they are not in path. I did not find other way to get it working
> without too much fussing with makefiles et all, but simple crude hack
> worked - I created links with
> 
> ln -s /usr/local/aarch64-freebsd/bin/* /bin
>

Actually only ld needs this, so

ln -s /usr/local/aarch64-freebsd/bin/ld /bin

was enough. Also, with no deeper analysis, it seems it is necessary
just for early stage of building toolchain (beginning of 'make
buildworld'). And now, after svn upgrade to version 314213, it seems to
be not necessary anymore... I just fired next buildworld...

> Nothing more was necessary for native buildworld/buildkernel to
> succeed. At this point after nfs mounting /usr/port I was able to
> build ports.
> 
> When trying installworld, it proceeded almost flawlessly, just at the
> end following error was reported:
> 
> ===> etc (install)
> ===> etc/newsyslog.conf.d (install)
> ===> etc/sendmail (install)  
> cd /usr/src/etc/../share/man; make makedb
> makewhatis /usr/share/man
> makewhatis /usr/share/openssl/man
> <jemalloc>: /usr/src/lib/libc/../../contrib/jemalloc/include/jemalloc/internal/tsd.h:687:
> Failed assertion: "tsd_booted" *** Signal 6
>

This problem remains, at least it occured again this time.

> Remaining steps, make delete-old, mergemaster and make delete-old-libs
> all completed successfully, with mergemaster being painfully slow
> due /var/tmp/temproot being od SD card.
> 
> Now I am running newly built 12-CURRENT on Pine, I looks like it works
> well. Just a small nit - my 'uname -a' now prints
> 
> FreeBSD pine 12.0-CURRENT FreeBSD 12.0-CURRENT #0: Mon Feb 20
> 00:47:55 CET 2017     root@tiny.dino.sk:/usr/obj/usr/src/sys/GENERIC
> arm64
> 
> Originally it was 12.0-CURRENT #<svn revision number> - does anybody
> know where this revision number is being lost? Could it be somehow
> caused by fact my src tree was 'svn checkout'ed on another machine
> (i386)?
> 

Well, I can not verify my theory - I am not able to do svn checkout
into nfs mounted directory from arm64 and armv6 systems (nfsd runs on
i386 system). Maybe it just could not work this way...

Regards,
Milan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170224182831.76c15809>