Installation¶
Installing Connectal from Packages¶
On Ubuntu systems, connectal may be installed from pre-built packages:
sudo add-apt-repository -y ppa:jamey-hicks/connectal
sudo apt-get update
sudo apt-get -y install connectal
Installing Connectal from Source¶
Connectal source comes from three repositories:
git clone git://github.com/cambridgehackers/connectal
git clone git://github.com/cambridgehackers/fpgamake
git clone git://github.com/cambridgehackers/buildcache
To use Connectal to build hardware/software applications, some additional packages are required:
cd connectal; sudo make install-dependences
Installing Connectal and Bluespec on CentOS 7¶
The following dependencies were needed on CentOS:
sudo yum install gmp glibc-devel autoconf gperf compat-libstdc++-33
CentOS does not have an iverilog packages, but it can be build from source, following the instructions in its repository:
Installing Connectal Drivers and PCI Express Utilities:¶
To run Connectal applications on FPGAs attached via PCI Express, a couple of device drivers have to be built and installed:
cd connectal; make all && sudo make install
In addition, you will need to build and install fpgajtag and pciescan:
git clone git://github.com/cambridgehackers/pciescan
(cd pciescan; make && sudo make install)
git clone git://github.com/cambridgehackers/fpgajtag
(cd fpgajtag; make && sudo make install)
Installing Ubuntu on Zynq (Zedboard, etc)¶
The shorthand instructions are:
Follow the instructions to install Ubuntu for Raspberry Pi 2 on and SD Card
Copy a Zedboard boot.bin to the first (VFAT) partition of the SD Card
Boot the Zedboard
Default password for user “ubuntu” is “ubuntu”
Toolchain¶
Zynq contains dual ARM Cortex A9 cores, which are 32-bit processors using the ARMv7 instruction set. They are compatible with the toolchain used for Raspberry Pi 2, which has prefix “arm-linux-gnueabihf”.
The “eabi” suffix indicates the ARM extended application binary interface standard.
The “hf” suffix indicates that the toolchain generates floating point instructions rather than subroutine calls to emulate floating point, because not all 32-bit ARM processors have floating point units.
Download the base image¶
- Download the Ubuntu SD card image:
- Which is referenced on this page:
Formatting and SD Card for Ubuntu¶
Ubuntu 16.04 uses filesystem labels to determine which partitions to mount. There should be two partitions, with the following labels:
system-boot The first partition should be vfat so that the firmware in the Zynq ROM can read it to find boot.bin. The following command will format the partition and label it:
mkfs -t vfat -n system-boot /dev/sdb1
cloudimg-rootfs The second partition should be a Linux filesystem (default ext4) containing the ubuntu installation. The following two commands will format a partition and label it:
mkfs -t ext4 /dev/sdb2 e2label /dev/sdb2 cloudimg-rootfs
Install a boot.bin file¶
See the instructions at https://github.com/cambridgehackers/zynq-boot
Configuring a Linux Kernel for Ubuntu 16.04¶
I had to change the kernel configuration to suppport systemd, the init system used in Ubuntu 16.04.
To be written …