Parallella Ubuntu ESDK 2016.3.1 released

Forum about Parallella boot process, linux kernel, distros, SD-cards, etc.

Parallella Ubuntu ESDK 2016.3.1 released

Postby olajep » Thu May 12, 2016 9:52 pm

This is a bug fix release for Parallella Ubuntu ESDK 2016.3

Changes since 2016.3
  • Add back SREC support (for this release, still deprecated)
  • Make e-lib header files C++ compatible
  • Support ELF files with empty segments
  • Add /dev/xdevcfg (load FPGA bitstreams at runtime)
  • Disable non-existent APT repos (erlang + parallella ppa)
  • Fix linker script provided symbol names affected by ABI change
  • Fix deadlock in kernel driver
  • Make thermal daemon work w/ FMCOMMS boards

SD card images and full release notes here:
https://github.com/parallella/pubuntu/r ... k-2016.3.1
_start = 266470723;
olajep
 
Posts: 139
Joined: Mon Dec 17, 2012 3:24 am
Location: Sweden

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby Olaf » Fri May 13, 2016 10:39 pm

And it solved my connection issue :-)
Olaf
 
Posts: 37
Joined: Sun May 08, 2016 8:47 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby sebraa » Wed May 25, 2016 6:31 pm

The new release seems to fix most of my problems.

Since I need to rebuild the kernel to enable the UIO driver, I have noticed that the parallella_defconfig on github contains "XILINX_DEVCFG=y", which is invalid (produces a warning). It should be "CONFIG_XILINX_DEVCFG=y" instead. Also, parallella_defconfig enables support for many other platforms and related drivers, which increases the kernel size a bit.

Sorry for the late reply, and thanks for the update!
sebraa
 
Posts: 495
Joined: Mon Jul 21, 2014 7:54 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby DonQuichotte » Fri Jun 03, 2016 10:05 pm

I cannot install the SDK 2016.3.1 for my x86_64 Linux (Fedora, fine with x86_64 SDK 2015.1)

It's annoying to get a 2016.3 image for my Parallella and stay with a 2015.1 x86_64 SDK I've successfully built one month ago.

- what's wrong with my head ?
- is SDK 2016 *not* ready for x86_64 ?
- did the script's syntax change ? I get this error:
Code: Select all
[root@localhost buildroot]# ./sdk/build-epiphany-sdk.sh -C -R -a x86_64
Warning: -R is deprecated
./sdk/build-epiphany-sdk.sh : option non permise -- a
Invalid Argument; -C

- git cloning takes so much time (several hours for my successful x86_64 2015.1, 30 minutes for a failure tonight with the gcc cloning, > 33 minutes for my 2nd try...)
=> should I / can I download instead ?
- is there a simple SDK x86_64 tutorial somewhere ? I've read many posts but certainly not the good ones :/
I've read and re-re-read https://github.com/adapteva/epiphany-sdk/wiki/Building-the-SDK
The prerequisites are fine, I had done the job for 2015.1 and checked them again tonight.

Any help appreciated :)
User avatar
DonQuichotte
 
Posts: 46
Joined: Fri Apr 29, 2016 9:58 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby DonQuichotte » Sat Jun 04, 2016 7:09 am

Code: Select all
./sdk/build-epiphany-sdk.sh
finally passed any git step... but failed:

Code: Select all
Building tool chain...
ERROR: Tool chain build for host machine failed.
Build failed. See /home/ylav/esdk2016/buildroot/logs/2016.3.1/build-2016-06-04-0659.log for details.
The toolchain build failed!


From the logs here is the initial mistake:
Code: Select all
depbase=`echo isl_range.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H   -I. -I/home/ylav/esdk2016/buildroot/unisrc-2016.3.1/isl -I/home/ylav/esdk2016/buildroot/unisrc-2016.3.1/isl/include -Iinclude/ -I/home/ylav/esdk2016/buildroot/unisrc-2016.3.1/gmp -I/home/ylav/esdk2016/buildroot/builds/bd-x86_64-2016.3.1/./gmp   -fdebug-prefix-map=/home/ylav/esdk2016/buildroot=/opt/adapteva/esdk.2016.3.1/src  -MT isl_range.lo -MD -MP -MF $depbase.Tpo -c -o isl_range.lo /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/isl/isl_range.c &&\
mv -f $depbase.Tpo $depbase.Plo
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm
;;; WARNING: compilation of /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm failed:
;;; ERROR: Syntax error:
;;; /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm:13:4: definition in expression context, where definitions are not allowed, in form (define (eval1 expr) (eval expr (current-module)))
ice-9/psyntax.scm:1274:12: In procedure #<procedure 556b6e3df0a0 (test then else)>:
ice-9/psyntax.scm:1274:12: Syntax error:
/home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm:13:4: definition in expression context, where definitions are not allowed, in form (define (eval1 expr) (eval expr (current-module)))
Makefile:1281: recipe for target 'run-cgen' failed
make[4]: *** [run-cgen] Error 1
make[4]: Leaving directory '/home/ylav/esdk2016/buildroot/builds/bd-x86_64-2016.3.1/opcodes'
Makefile:1304: recipe for target 'stamp-epiphany' failed
make[3]: *** [stamp-epiphany] Error 2
User avatar
DonQuichotte
 
Posts: 46
Joined: Fri Apr 29, 2016 9:58 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby DonQuichotte » Sat Jun 04, 2016 1:21 pm

Error with "sdk/build-toolchain.sh", linked to guile ; I updated guile, added guile-devel (under Fedora Core 23, guile 2.0): not better, still fails.
Even with "set GUILE_AUTO_COMPILE=0" :(

Code: Select all
make[4]: Entering directory '/home/ylav/esdk2016/buildroot/builds/bd-x86_64-2016.3.1/opcodes'
/bin/sh /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/cgen.sh opcodes /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes "`if test -f ../guile/libguile/guile ; then echo ../guile/libguile/guile; else echo guile ; fi` -l /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm -s" \
  /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen "-v" epiphany epiphany /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cpu/epiphany.cpu /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cpu/epiphany.opc \
  "" ""
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm
;;; WARNING: compilation of /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm failed:
;;; ERROR: Syntax error:
;;; /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm:13:4: definition in expression context, where definitions are not allowed, in form (define (eval1 expr) (eval expr (current-module)))
ice-9/psyntax.scm:1274:12: In procedure #<procedure 5615f3f440a0 (test then else)>:
ice-9/psyntax.scm:1274:12: Syntax error:
/home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm:13:4: definition in expression context, where definitions are not allowed, in form (define (eval1 expr) (eval expr (current-module)))
Makefile:1281: recipe for target 'run-cgen' failed
User avatar
DonQuichotte
 
Posts: 46
Joined: Fri Apr 29, 2016 9:58 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby olajep » Mon Jun 06, 2016 7:48 am

DonQuichotte wrote:Error with "sdk/build-toolchain.sh", linked to guile ; I updated guile, added guile-devel (under Fedora Core 23, guile 2.0): not better, still fails.
Even with "set GUILE_AUTO_COMPILE=0" :(

Code: Select all
make[4]: Entering directory '/home/ylav/esdk2016/buildroot/builds/bd-x86_64-2016.3.1/opcodes'
/bin/sh /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/cgen.sh opcodes /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes "`if test -f ../guile/libguile/guile ; then echo ../guile/libguile/guile; else echo guile ; fi` -l /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm -s" \
  /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen "-v" epiphany epiphany /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cpu/epiphany.cpu /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cpu/epiphany.opc \
  "" ""
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm
;;; WARNING: compilation of /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm failed:
;;; ERROR: Syntax error:
;;; /home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm:13:4: definition in expression context, where definitions are not allowed, in form (define (eval1 expr) (eval expr (current-module)))
ice-9/psyntax.scm:1274:12: In procedure #<procedure 5615f3f440a0 (test then else)>:
ice-9/psyntax.scm:1274:12: Syntax error:
/home/ylav/esdk2016/buildroot/unisrc-2016.3.1/opcodes/../cgen/guile.scm:13:4: definition in expression context, where definitions are not allowed, in form (define (eval1 expr) (eval expr (current-module)))
Makefile:1281: recipe for target 'run-cgen' failed

Answered here
https://github.com/adapteva/epiphany-sdk/issues/64

// Ola
_start = 266470723;
olajep
 
Posts: 139
Joined: Mon Dec 17, 2012 3:24 am
Location: Sweden

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby DonQuichotte » Tue Jun 07, 2016 6:55 am

:D +1 Ola
Everything's all right O_O I'm impressed ; since I don't have internet during the week, since your scripts are well documented (+1 again), I could squeeze the done part (fetching) and build everything :)
Even gcc-explorer works, I can work in good conditions :D

Many thanks, Ola.
To be exhaustive, could you please update the doc ?
1/ the options -C -a -r x86_64 are obsolete or I did not understand something - it detects my x86_64 and compiles accordingly.
2/ for the existing Fedora esdk doc:
- compat-guile1.8 dependancy ; currently guile is 2.0 (since 2014 iirc), installing it won't include compat-guile1.8
- xzip dependancy does not exist ; my best guess is it existed a long time ago, with Fedora versions <= 11 (~ 2008) ; after this xz was adopted.
I've searched xzip quite a long time, but it was never required or even existing for current Fedora.
2015.1 and 2016.3.1 did build successfully without any xzip, I guess it is xz.

Have a nice day
User avatar
DonQuichotte
 
Posts: 46
Joined: Fri Apr 29, 2016 9:58 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby boeserbaer » Tue Aug 02, 2016 5:45 am

I am a little confused. I managed to cross-compile the kernel after setting up a ubuntu 15.10 install. This gave me:

Linux version 4.4.0+ (mikei@mikei-virtual-machine) (gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu1) ) #1 SMP Mon Aug 1 16:58:21 CEST 2016

I used the rootfs from the 2016.3 image by loopback mounting it and rsyncing to the sd card

gcc --version gives:
gcc (Ubuntu/Linaro 4.9.2-10ubuntu13) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

So it appears that the kernel is built by gcc5.2.1 and the rootfs by gcc4.9.2.

Am I correct in assuming that as long as I compile my Kernel modules under the same GCC as the kernel, and that I keep the userspace at 4.9.2 all should be OK?

Also Kudo's for getting the console serial port working. Should I solder a pull-up to 3.3V on the rx line so that there are no spurious interrupts when I am not connected to my serial adapter?
boeserbaer
 
Posts: 16
Joined: Thu Mar 12, 2015 11:06 pm

Re: Parallella Ubuntu ESDK 2016.3.1 released

Postby sebraa » Tue Aug 02, 2016 2:06 pm

It doesn't matter if kernel and userspace have been built by different compilers, as long as the same compiler is used for kernel and kernel modules. In userspace, the library versions are more important (and, for C++, they are somewhat tightly coupled to the compiler). To play it safe, don't cross-compile the applications.
sebraa
 
Posts: 495
Joined: Mon Jul 21, 2014 7:54 pm


Return to Linux/U-Boot

Who is online

Users browsing this forum: No registered users and 1 guest