Skip to content

Releases: parallella/parabuntu

Parabuntu 2019.1 beta1

26 Sep 00:38
Compare
Choose a tag to compare
Pre-release

Parabuntu 2019.1 beta 1

Will update this text when I have more time.

This release is based on Ubuntu 18.04.
It requires a 8GB SDCARD.

I have tested the headless images and they seem to be working (except items listed below).

I have not had time to test the HDMI images, so use at your own risk. They probably lack X windows etc. and a working xorg.conf.

What is broken?

  • coprthr
  • perf ?

Toolchain components

gcc 8.3
binutils 2.32
gdb 8.2
newlib 3.0

Linux

linux 4.14 (ADI 2018.2)

FPGA bitstreams

Based on ADI HDL 2018.2

Parabuntu 2016.11.1

15 Dec 20:48
Compare
Choose a tag to compare

Parabuntu 2016.11.1

Bug fix release for 2016.11

Changelog since 2016.11

  • Prevent faulty Epiphany programs from accessing kernel memory (regression not present in earlier releases)
  • Improve X11 config

Installation Instructions

Download the appropriate card image below and burn onto an SD card using your favorite OS and method. Make sure you download the correct file. The z7020 applies to Kickstarter boards and "Embedded" (P1602) Parallella boards. Everyone else should grab the z7010 file.

Complete installation instructions can be found here:
https://www.parallella.org/quick-start/

First boot

  • Hostname: "parallella", "parallella." (notice trailing period) or "parallella.local", depending on your operating system.
  • IP address: The IP address is acquired from DHCP. 10.11.12.13 will be used as fallback.
  • Username: parallella
  • Password: parallella

On first boot give it a couple of minutes to generate new SSH server keys before you try to connect to the board.
We advise you to change the default password like so:

$ ssh parallella@parallella.
parallella@parallella's password: [Enter parallella]
parallella@parallella:~$ passwd
Changing password for parallella.
(current) UNIX password: [Enter parallella]
Enter new UNIX password: [Enter new password]
Retype new UNIX password: [Enter new password]
Password changed
parallella@parallella:~$ logout

Troubleshooting

Your board won't come up on the network?

  • The most common error is that the wrong image is used (see install instructions above to determine which version is the correct one)
  • Log in to your router and see if you can find the board in the DHCP client list.
  • If you connect your Parallella directly to your computer's ethernet port, enable internet sharing, or make sure that your computer and Parallella is on the same network by setting your computer's IP to 10.11.12.x (e.g. IP 10.11.12.1 netmask 255.255.255.0).
  • Connect a serial cable, anything weird in the boot log?

Changes since 2016.3.1

  • GDB multicore debugging of Epiphany with e-server
  • epython included
  • OMPi 2.0.0 (OpenMP) included
  • HDMI bitstreams
  • PAL included as experimental feature
  • e-hal has a PAL backend
  • GCC 5.4
  • GDB 7.12
  • binutils 2.27
  • Use ADI 2016_R1 Linux branch
  • Fix race condition in kernel driver that can trigger program termination (SIGBUS) in threaded code.
  • SREC support will be removed in the next release.

ESDK

Full ChangeLog:
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.11/ChangeLog
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.11/e-server/ChangeLog

e-server

  • Multicore (threads) debugging
  • Multiprocess support

Major work by Pedro Alves!

Tutorial:
https://github.com/adapteva/epiphany-sdk/wiki/Debugging-Epiphany

e-hal

  • Minor bugs in loader fixed
  • SREC support WILL BE removed in the next release. Use ELF files instead.

Initial e-server support

Setting the environment variable EHAL_GDBSERVER=yes will cause e_load_group() and friends to not start the program (it sets DEBUGSTATUS).
You can then connect with epiphany-elf-gdb to the e-server, set up breakpoints any breakpoints you'd like and then continue the threads from within gdb.

PAL backend added

Set the environment variable EHAL_TARGET=pal to use the pal backend.

Linux kernel

  • Based on ADI 2016_R1 (v4.6 + ADI drivers) with the Epiphany driver.
  • Fixed bug that could cause SIGBUS in programs with more than one thread.
  • Added noelink devicetree

FPGA bitstream

  • Same as ESDK 2016.3.1 for headless and noelink.
  • For HDMI we use parallella-fpga by Peter Saunderson and
    ADI HDL 2016-R1 IP's for HDMI / audio.

Toolchain

  • GCC minor release upgraded to 5.4 (was 5.2)
  • binutils 2.27 (was 2.25)
  • GDB 7.12 (was 7.10)

GDB

  • Upgrade to 7.12 from 7.10.
  • Epiphany-5 simulator branch merged.
  • Fixed prologue parsing
  • Support for passing arguments to simulated program

ChangeLogs:
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.11/sim/epiphany/ChangeLog
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.11/gdb/ChangeLog.epiphany

binutils

  • Upgrade to 2.27 to 2.25

newlib / libgloss

  • Based on 2.2.0 (same as ESDK 2016.3.1)
  • Support for simulator passing program arguments
  • Change return type of write/read to ssize_t from int. POSIX compatible.

Full ChangeLog:
https://github.com/adapteva/epiphany-newlib/blob/epiphany-newlib-esdk-2016.11/libgloss/ChangeLog.epiphany

Parabuntu 2016.11

12 Dec 15:00
Compare
Choose a tag to compare

Parabuntu 2016.11

Installation Instructions

Download the appropriate card image below and burn onto an SD card using your favorite OS and method. Make sure you download the correct file. The z7020 applies to Kickstarter boards and "Embedded" (P1602) Parallella boards. Everyone else should grab the z7010 file.

Complete installation instructions can be found here:
https://www.parallella.org/quick-start/

First boot

  • Hostname: "parallella", "parallella." (notice trailing period) or "parallella.local", depending on your operating system.
  • IP address: The IP address is acquired from DHCP. 10.11.12.13 will be used as fallback.
  • Username: parallella
  • Password: parallella

On first boot give it a couple of minutes to generate new SSH server keys before you try to connect to the board.
We advise you to change the default password like so:

$ ssh parallella@parallella.
parallella@parallella's password: [Enter parallella]
parallella@parallella:~$ passwd
Changing password for parallella.
(current) UNIX password: [Enter parallella]
Enter new UNIX password: [Enter new password]
Retype new UNIX password: [Enter new password]
Password changed
parallella@parallella:~$ logout

Troubleshooting

Your board won't come up on the network?

  • The most common error is that the wrong image is used (see install instructions above to determine which version is the correct one)
  • Log in to your router and see if you can find the board in the DHCP client list.
  • If you connect your Parallella directly to your computer's ethernet port, enable internet sharing, or make sure that your computer and Parallella is on the same network by setting your computer's IP to 10.11.12.x (e.g. IP 10.11.12.1 netmask 255.255.255.0).
  • Connect a serial cable, anything weird in the boot log?

Changes since 2016.3.1

  • GDB multicore debugging of Epiphany with e-server
  • epython included
  • OMPi 2.0.0 (OpenMP) included
  • HDMI bitstreams
  • PAL included as experimental feature
  • e-hal has a PAL backend
  • GCC 5.4
  • GDB 7.12
  • binutils 2.27
  • Use ADI 2016_R1 Linux branch
  • Fix race condition in kernel driver that can trigger program termination (SIGBUS) in threaded code.
  • SREC support will be removed in the next release.

ESDK

Full ChangeLog:
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.11/ChangeLog
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.11/e-server/ChangeLog

e-server

  • Multicore (threads) debugging
  • Multiprocess support

Major work by Pedro Alves!

Tutorial:
https://github.com/adapteva/epiphany-sdk/wiki/Debugging-Epiphany

e-hal

  • Minor bugs in loader fixed
  • SREC support WILL BE removed in the next release. Use ELF files instead.

Initial e-server support

Setting the environment variable EHAL_GDBSERVER=yes will cause e_load_group() and friends to not start the program (it sets DEBUGSTATUS).
You can then connect with epiphany-elf-gdb to the e-server, set up breakpoints any breakpoints you'd like and then continue the threads from within gdb.

PAL backend added

Set the environment variable EHAL_TARGET=pal to use the pal backend.

Linux kernel

  • Based on ADI 2016_R1 (v4.6 + ADI drivers) with the Epiphany driver.
  • Fixed bug that could cause SIGBUS in programs with more than one thread.
  • Added noelink devicetree

FPGA bitstream

  • Same as ESDK 2016.3.1 for headless and noelink.
  • For HDMI we use parallella-fpga by Peter Saunderson and
    ADI HDL 2016-R1 IP's for HDMI / audio.

Toolchain

  • GCC minor release upgraded to 5.4 (was 5.2)
  • binutils 2.27 (was 2.25)
  • GDB 7.12 (was 7.10)

GDB

  • Upgrade to 7.12 from 7.10.
  • Epiphany-5 simulator branch merged.
  • Fixed prologue parsing
  • Support for passing arguments to simulated program

ChangeLogs:
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.11/sim/epiphany/ChangeLog
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.11/gdb/ChangeLog.epiphany

binutils

  • Upgrade to 2.27 to 2.25

newlib / libgloss

  • Based on 2.2.0 (same as ESDK 2016.3.1)
  • Support for simulator passing program arguments
  • Change return type of write/read to ssize_t from int. POSIX compatible.

Full ChangeLog:
https://github.com/adapteva/epiphany-newlib/blob/epiphany-newlib-esdk-2016.11/libgloss/ChangeLog.epiphany

pubuntu-15.04-esdk-2016.3.1

12 May 21:42
Compare
Choose a tag to compare

Pubuntu / ESDK 2016.3.1

Bug fix release for 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

Installation Instructions

Download the appropriate card image below and burn onto an SD card using your favorite OS and method. Make sure you download the correct file. The z7020 applies to Kickstarter boards and the "Embedded" Parallella boards. Everyone else should grab the z7010 file.

Complete installation instructions can be found here:
https://www.parallella.org/quick-start/

First boot

  • Hostname: "parallella", "parallella." (notice trailing period) or "parallella.local", depending on your operating system.
  • IP address: The IP address is acquired from DHCP. 10.11.12.13 will be used as fallback.
  • Username: parallella
  • Password: parallella

On first boot give it a couple of minutes to generate new SSH server keys before you try to connect to the board.
We advise you to change the default password like so:

$ ssh parallella@parallella.
parallella@parallella's password: [Enter parallella]
parallella@parallella:~$ passwd
Changing password for parallella.
(current) UNIX password: [Enter parallella]
Enter new UNIX password: [Enter new password]
Retype new UNIX password: [Enter new password]
Password changed
parallella@parallella:~$ logout

Troubleshooting

Your board won't come up on the network?

  • The most common error is that the wrong image is used (see install instructions above to determine which version is the correct one)
  • Log in to your router and see if you can find the board in the DHCP client list.
  • If you connect your Parallella directly to your computer's ethernet port, enable internet sharing, or make sure that your computer and Parallella is on the same network by setting your computer's IP to 10.11.12.x (e.g. IP 10.11.12.1 netmask 255.255.255.0).
  • Connect a serial cable, anything weird in the boot log?

Changes since 2015.1

Ubuntu Image

  • Upgraded to Ubuntu Vivid 15.04
    (base image linaro-vivid-nano-20150618)
  • Boot console enabled
  • Image build is scripted (less error prone, trackable)

Thermal daemon

The thermal daemon has been improved. Instead of potentially freezing the entire board the worst thing that could happen now is that your program will crash (SIGBUS) when the thermal daemon is invoked.

If temperature goes above 70 C the Epiphany chip will be disabled, and if temperature rises above 85 C the system will be shut down to protect your Parallella from overheating.

These commands can be used to monitor the thermal daemon / kernel driver:
journalctl -u "parallella-thermald*"
dmesg | grep epiphany

lm-sensors support

Use the sensors command to see Zynq Temperature, Epiphany VDD_DSP etc.

ABI changes

For background see:
http://www.adapteva.com/announcements/epiphany-abi-change-proposal/

  1. Make register R32-R63 caller saved. Currently R32-R63 is a mix of caller and callee saved registers. Reason: Better (code size, performance, ease of assembly, energy) for leaf cell type libraries (like PAL).
  2. Move Frame Pointer to R15. Reason: Better performance/code density for software caching
  3. Reserve addresses below 0x100 for internal use. Reason: Reserved for future systems and SDKs. “Get out of jail card for Adapteva.” Compiler user code starts at 0x100
  4. Disallow fetching instructions from external memory. Programs must be fetched from the local memory (currently 32KB). For large programs some kind of software caching should be used. Reason: Very expensive feature from a chip standpoint and provides poor performance. Not scalable for future silicon. (NOT IMPLEMENTED)
  5. The “-” option for TESTSET has been removed. (NOT IMPLEMENTED)

ESDK

  • Reserve addresses below 0x100 for internal use (runtime etc.)
  • Use new epiphany kernel driver ABI.
  • e-loader now clears static and global variables. This was previously done at run-time on the epiphany cores. This change eliminates some race conditions in the e-lib mutex / barrier implementations.
  • SREC support removed. Use ELF files

Full ChangeLog:
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.3/ChangeLog

Linux kernel

  • Based on 'vanilla' 4.4
  • Uses arm-v7-defconfig
  • Redesigned epiphany kernel driver (power management, device tree based, better memory protection, better virtual memory handling, mailbox API ...)

FPGA e-link

FPGA e-link is completely redesigned and now supports both full speed transmit and receive.

Toolchain

GCC

  • Upgrade to GCC 5.2 from GCC 4.8
  • Change USER_LABEL_PREFIX to "" from "_".
  • Move frame pointer to register r15 (was r11)
  • Enable -mno-soft-cmpsf under -ffast-math
  • Emit config save register right after prologue (fixes adapteva/epiphany-sdk#53)
  • Make register R32-R63 caller saved.

ChangeLog:
https://github.com/adapteva/epiphany-gcc/blob/epiphany-gcc-esdk-2016.3/gcc/ChangeLog.epiphany

GDB

  • Upgrade to 7.10 from 7.6.
  • Multi-core simulator branch merged.

ChangeLog:
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.3/sim/epiphany/ChangeLog

binutils

  • Upgrade to 2.25 to 2.23

newlib / libgloss

  • Upgrade to 2.2.0 from 1.20
  • Support loader flags and custom loader arguments (currently only pal is the only user of this).

Full ChangeLog:
https://github.com/adapteva/epiphany-newlib/blob/epiphany-newlib-esdk-2016.3/libgloss/ChangeLog.epiphany

pubuntu-15.04-esdk-2016.3

10 Dec 11:51
Compare
Choose a tag to compare

Installation Instructions

Download the appropriate card image below and burn onto an SD card using your favorite OS and method. Make sure you download the correct file. The z7020 applies to Kickstarter boards and the "Embedded" Parallella boards. Everyone else should grab the z7010 file.

Complete installation instructions can be found here:
https://www.parallella.org/quick-start/

First boot

  • Hostname: "parallella", "parallella." (notice trailing period) or "parallella.local", depending on your operating system.
  • IP address: The IP address is acquired from DHCP. 10.11.12.13 will be used as fallback.
  • Username: parallella
  • Password: parallella

On first boot give it a couple of minutes to generate new SSH server keys before you try to connect to the board.
We advise you to change the default password like so:

$ ssh parallella@parallella.
parallella@parallella's password: [Enter parallella]
parallella@parallella:~$ passwd
Changing password for parallella.
(current) UNIX password: [Enter parallella]
Enter new UNIX password: [Enter new password]
Retype new UNIX password: [Enter new password]
Password changed
parallella@parallella:~$ logout

Troubleshooting

Your board won't come up on the network?

  • The most common error is that the wrong image is used (see install instructions above to determine which version is the correct one)
  • Log in to your router and see if you can find the board in the DHCP client list.
  • If you connect your Parallella directly to your computer's ethernet port, enable internet sharing, or make sure that your computer and Parallella is on the same network by setting your computer's IP to 10.11.12.x (e.g. IP 10.11.12.1 netmask 255.255.255.0).
  • Connect a serial cable, anything weird in the boot log?

Changes since 2015.1

Ubuntu Image

  • Upgraded to Ubuntu Vivid 15.04
    (base image linaro-vivid-nano-20150618)
  • Boot console enabled
  • Image build is scripted (less error prone, trackable)

Thermal daemon

The thermal daemon has been improved. Instead of potentially freezing the entire board the worst thing that could happen now is that your program will crash (SIGBUS) when the thermal daemon is invoked.

If temperature goes above 70 C the Epiphany chip will be disabled, and if temperature rises above 85 C the system will be shut down to protect your Parallella from overheating.

These commands can be used to monitor the thermal daemon / kernel driver:
journalctl -u "parallella-thermald*"
dmesg | grep epiphany

lm-sensors support

Use the sensors command to see Zynq Temperature, Epiphany VDD_DSP etc.

ABI changes

For background see:
http://www.adapteva.com/announcements/epiphany-abi-change-proposal/

  1. Make register R32-R63 caller saved. Currently R32-R63 is a mix of caller and callee saved registers. Reason: Better (code size, performance, ease of assembly, energy) for leaf cell type libraries (like PAL).
  2. Move Frame Pointer to R15. Reason: Better performance/code density for software caching
  3. Reserve addresses below 0x100 for internal use. Reason: Reserved for future systems and SDKs. “Get out of jail card for Adapteva.” Compiler user code starts at 0x100
  4. Disallow fetching instructions from external memory. Programs must be fetched from the local memory (currently 32KB). For large programs some kind of software caching should be used. Reason: Very expensive feature from a chip standpoint and provides poor performance. Not scalable for future silicon. (NOT IMPLEMENTED)
  5. The “-” option for TESTSET has been removed. (NOT IMPLEMENTED)

ESDK

  • Reserve addresses below 0x100 for internal use (runtime etc.)
  • Use new epiphany kernel driver ABI.
  • e-loader now clears static and global variables. This was previously done at run-time on the epiphany cores. This change eliminates some race conditions in the e-lib mutex / barrier implementations.
  • SREC support removed. Use ELF files

Full ChangeLog:
https://github.com/adapteva/epiphany-libs/blob/epiphany-libs-esdk-2016.3/ChangeLog

Linux kernel

  • Based on 'vanilla' 4.4
  • Uses arm-v7-defconfig
  • Redesigned epiphany kernel driver (power management, device tree based, better memory protection, better virtual memory handling, mailbox API ...)

FPGA e-link

FPGA e-link is completely redesigned and now supports both full speed transmit and receive.

Toolchain

GCC

  • Upgrade to GCC 5.2 from GCC 4.8
  • Change USER_LABEL_PREFIX to "" from "_".
  • Move frame pointer to register r15 (was r11)
  • Enable -mno-soft-cmpsf under -ffast-math
  • Emit config save register right after prologue (fixes adapteva/epiphany-sdk#53)
  • Make register R32-R63 caller saved.

ChangeLog:
https://github.com/adapteva/epiphany-gcc/blob/epiphany-gcc-esdk-2016.3/gcc/ChangeLog.epiphany

GDB

  • Upgrade to 7.10 from 7.6.
  • Multi-core simulator branch merged.

ChangeLog:
https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-gdb-esdk-2016.3/sim/epiphany/ChangeLog

binutils

  • Upgrade to 2.25 to 2.23

newlib / libgloss

  • Upgrade to 2.2.0 from 1.20
  • Support loader flags and custom loader arguments (currently only pal is the only user of this).

Full ChangeLog:
https://github.com/adapteva/epiphany-newlib/blob/epiphany-newlib-esdk-2016.3/libgloss/ChangeLog.epiphany

pubuntu-14.04-esdk2015.1-20150130

03 Mar 16:55
Compare
Choose a tag to compare

Ubuntu Image Changes

  • Hostname: "parallella." (notice trailing period) or "parallella.local", depending on your operating system.
  • IP address: The IP address will be acquired from DHCP. 10.11.12.13 will be used as fallback.
  • Username: parallella
  • Password: parallella

On first boot give it a couple of minutes to generate new SSH server keys before you try to connect to the board.
We advise you to change the default password like so:

$ ssh parallella@parallella.
parallella@parallella's password: [Enter parallella]
parallella@parallella:~$ passwd
Changing password for parallella.
(current) UNIX password: [Enter parallella]
Enter new UNIX password: [Enter new password]
Retype new UNIX password: [Enter new password]
Password changed
parallella@parallella:~$ logout

Thermal daemon (new!)

To ensure the system does not get too hot a thermal daemon is included in the new Ubuntu images. The daemon monitors the Zynq temperature sensor (XADC). Should the temperature rise above the allowed range, the daemon will shutdown the Epiphany chip. The default upper limit is set to 70C. Notice that disabling the Epiphany chip while another program is accessing the Epiphany is likely to result the board freezing. So if you see lockups when the system is under load this is a probable cause.

Installation Instructions

Download the appropriate card image below and burn onto an SD card using your favorite OS and method. Make sure you download the correct file. The z7020 applies to Kickstarter boards and the "Embedded" Parallella boards. Everyone else should grab the z7010 file.

Complete installation instructions can be found HERE