Kickstarter - Parallella: A Supercomputer For Everyone
Project name: Parallella: A Supercomputer For Everyone
- Model: SKUA101040
- FPGA: Zynq 7020
- Parallella: Parallella 16 with GPIO
- Serial number: SN0004101
- Mac address: 04:4f:8b:00:10:05
- power: 5 V dc, 2 A, barrel plug, center positive
Links
Parallella, board specifications, forums, wiki, FreeBSD on Zynq-7000 / Zedboard, ztemp.sh - bash script for temp monitoring,
more links
Forum: How to turn on the serial console on Parallella,
operating systems: FreeBSD,
Back to crowdfunding page.
History
2021-08-14: I re-created this page on my self-hosted web server.
2017-01-16: note to self - under FreeBSD 10.3 and later /dev/cuau is the built in serial ports. USB serial ports are named /dev/cuaU.
using cu -l /dev/cuaU0 -s 115200
gives me a serial console on the parallella. Nice!
2017-01-14: - serial console - I use a PL2303HX cable from FastTech (SKU 1453501) with cable layout: black - GND, red - VCC, green - TXD, white - RXD. The pins of the serial connector are (from edge of PCB) GND, RX, TX. I'm using my FreeBSD workstation as console:
tingo@kg-core1$ uname -a FreeBSD kg-core1.kg4.no 10.3-STABLE FreeBSD 10.3-STABLE #0 r310083: Wed Dec 14 21:00:13 CET 2016 root@kg-core1.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64
the cable shows up as uplcom0 in /var/log/messages
Jan 14 20:04:52 kg-core1 kernel: ugen3.5: <Prolific Technology Inc.> at usbus3 Jan 14 20:04:52 kg-core1 devd: Executing 'kldload -n uplcom' Jan 14 20:04:52 kg-core1 kernel: uplcom0: <Prolific Technology Inc. USB-Serial Controller, class 0/0, rev 1.10/3.00, addr 5> on usbus3
find out which port it uses
root@kg-core1# sysctl dev.uplcom.0.ttyname dev.uplcom.0.ttyname: U0
ok, that would be port 0.
root@kg-core1# ll /dev/cuau* /dev/ttyu* crw-rw---- 1 uucp dialer 0x31 Dec 14 22:03 /dev/cuau0 crw-rw---- 1 uucp dialer 0x32 Dec 14 22:03 /dev/cuau0.init crw-rw---- 1 uucp dialer 0x33 Dec 14 22:03 /dev/cuau0.lock crw------- 1 root wheel 0x2e Dec 14 22:03 /dev/ttyu0 crw------- 1 root wheel 0x2f Dec 14 22:03 /dev/ttyu0.init crw------- 1 root wheel 0x30 Dec 14 22:03 /dev/ttyu0.lock
yes, good.
2017-01-14: - temperature - I installed bc via sudo apt-get install bc
, then created the ztemp.sh script.
linaro-nano:~> ~/bin/ztemp.sh Zynq Temp: 68.9 C / 156.0 F linaro-nano:~> ~/bin/ztemp.sh Zynq Temp: 67.3 C / 153.1 F linaro-nano:~> ~/bin/ztemp.sh Zynq Temp: 67.9 C / 154.2 F linaro-nano:~> ~/bin/ztemp.sh Zynq Temp: 68.1 C / 154.5 F linaro-nano:~> ~/bin/ztemp.sh Zynq Temp: 68.1 C / 154.5 F linaro-nano:~> ~/bin/ztemp.sh Zynq Temp: 67.6 C / 153.6 F
the temp varies a bit, but it is below 70 degrees Celsius.
2017-01-14: testing - I connected up a Micro-HDMI to HDMI adapter, connected to my monitor via HDMI cable, a network cable, a micro-usb to usb cable and finally power. The Parallella board booted, and I got image on the LCD monitor. As I didn't connect up usb keyboard and mouse, I can't login via console. But after looking at my dhcp server I found the ip address, and can login via network:
tingo@kg-core1$ ssh linaro@10.1.161.32 The authenticity of host '10.1.161.32 (10.1.161.32)' can't be established. ECDSA key fingerprint is SHA256:XmBHmjk9OKTwLRHQmgCTifCtaRZNXMFx1Rmi6u3BiZw. No matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.1.161.32' (ECDSA) to the list of known hosts. linaro@10.1.161.32's password: Welcome to Linaro 14.04 (GNU/Linux 3.12.0-g0bc9c3a-dirty armv7l) * Documentation: https://wiki.linaro.org/ Last login: Wed Oct 8 21:20:49 2014 from kg-core1.kg4.no linaro-nano:~>
nice.
2017-01-14: fan - I soldered the plus and minus wires from the fan to the solder pads for the power connector (barrel) on the underside of the board. Tested - the fan runs.
2017-01-14: case - I cut out parts of the short wall on the id of the case, so it actually can slide over the Paralella board without touching anything (heatsink, pin connectors).
2016-02-04: case - Bitraf build night again. I was occupied with other things, but managed to measure out and drill two holes in the case for the fan. The fan has to sit on the outside of the case, and I will try it blowing into the case first.
2016-01-28: case - at Bitraf build night tonight, I downloaded the STL file for the Parallella case (parallella_50_v1_6.stl), installed Cura 15.02 in Fedora on my laptop (Toshiba), set it up with Ultimaker 1+, copied the settings from the "Felles PC" (Mubins) and printed it on Bitraf's Ultimaker. Cura said that it would take 2 hours and 42 minutes to print it.
2016-01-28: case - Parallella Open case and cooling kit, sold by Ground Electronics (UK). Or perhaps a printable case? Parallella case might do.
2014-10-08: various info. dmesg: normal. Version and kernel:
linaro-nano:~> lsb_release -a No LSB modules are available. Distributor ID: Linaro Description: Linaro 14.04 Release: 14.04 Codename: trusty linaro-nano:~> uname -a Linux linaro-nano 3.12.0-g0bc9c3a-dirty #6 SMP PREEMPT Wed Jan 29 10:25:25 CET 2014 armv7l armv7l armv7l GNU/Linux
disk layout and usage:
linaro-nano:~> swapon -s Filename Type Size Used Priority linaro-nano:~> df -h Filesystem Size Used Avail Use% Mounted on /dev/root 6.7G 3.6G 2.8G 57% / devtmpfs 465M 4.0K 465M 1% /dev none 97M 456K 97M 1% /run none 5.0M 0 5.0M 0% /run/lock none 485M 0 485M 0% /run/shm none 100M 0 100M 0% /run/user
usb devices
linaro-nano:~> lsusb Bus 001 Device 008: ID 046d:c30e Logitech, Inc. UltraX Keyboard (Y-BL49) Bus 001 Device 009: ID 045e:077a Microsoft Corp. Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pci devices
linaro-nano:~> lspci lspci: Command not found.
ok. save a copy of dmesg:
linaro-nano:~> dmesg > ~/Work/parallella-dmesg-linaro-14.04-20141008.txt
which I will scp over to another machine and upload here.
2014-10-08: installing xtemp. Described here. Install it:
linaro-nano:~> sudo dpkg -i parallella-utils_0.0+1SNAPSHOT20140710~trusty1_armhf.deb dpkg: error processing archive parallella-utils_0.0+1SNAPSHOT20140710~trusty1_armhf.deb (--install): cannot access archive: No such file or directory Errors were encountered while processing: parallella-utils_0.0+1SNAPSHOT20140710~trusty1_armhf.deb
ok, that didn't work out. Which version are we running?
linaro-nano:~> lsb_release -a No LSB modules are available. Distributor ID: Linaro Description: Linaro 14.04 Release: 14.04 Codename: trusty linaro-nano:~> uname -a Linux linaro-nano 3.12.0-g0bc9c3a-dirty #6 SMP PREEMPT Wed Jan 29 10:25:25 CET 2014 armv7l armv7l armv7l GNU/Linux
it's trusty allright.
linaro-nano:~> apt search xtemp Sorting... Done Full Text Search... Done
Nope. Ok, add the repository then:
linaro-nano:~> sudo vi /etc/apt/sources.list and add the two lines deb http://ppa.launchpad.net/parallella/snapshots/ubuntu trusty main deb-src http://ppa.launchpad.net/parallella/snapshots/ubuntu trusty main
Next, add signing key:
linaro-nano:~> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 39A6ED25 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.k4NezIF2wC --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 39A6ED25 gpg: requesting key 39A6ED25 from hkp server keyserver.ubuntu.com gpg: key 39A6ED25: public key "Launchpad PPA for Parallella" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
Then update apt
linaro-nano:~> sudo apt-get update Ign http://ports.ubuntu.com trusty InRelease Ign http://ppa.launchpad.net trusty InRelease Ign http://ppa.launchpad.net trusty InRelease Hit http://ports.ubuntu.com trusty Release.gpg Hit http://ports.ubuntu.com trusty Release Get:1 http://ppa.launchpad.net trusty Release.gpg [836 B] Get:2 http://ppa.launchpad.net trusty Release.gpg [316 B] Get:3 http://ppa.launchpad.net trusty Release [14.0 kB] Get:4 http://ppa.launchpad.net trusty Release [20.0 kB] Hit http://ports.ubuntu.com trusty/main Sources Hit http://ports.ubuntu.com trusty/universe Sources Hit http://ports.ubuntu.com trusty/main armhf Packages Get:5 http://ppa.launchpad.net trusty/main Sources [642 B] Hit http://ports.ubuntu.com trusty/universe armhf Packages Get:6 http://ppa.launchpad.net trusty/main armhf Packages [471 B] Hit http://ports.ubuntu.com trusty/main Translation-en Hit http://ports.ubuntu.com trusty/universe Translation-en Get:7 http://ppa.launchpad.net trusty/main Sources [24.0 kB] Get:8 http://ppa.launchpad.net trusty/main armhf Packages [47.6 kB] Get:9 http://ppa.launchpad.net trusty/main Translation-en [18.2 kB] Ign http://ppa.launchpad.net trusty/main Translation-en Fetched 126 kB in 1s (110 kB/s) Reading package lists... Done
and install parallella-utils:
linaro-nano:~> sudo apt-get install parallella-utils Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: parallella-utils 0 upgraded, 1 newly installed, 0 to remove and 19 not upgraded. Need to get 10.2 kB of archives. After this operation, 59.4 kB of additional disk space will be used. Get:1 http://ppa.launchpad.net/parallella/snapshots/ubuntu/ trusty/main parallella-utils armhf 0.0+1SNAPSHOT20140710~trusty1 [10.2 kB] Fetched 10.2 kB in 0s (65.1 kB/s) Selecting previously unselected package parallella-utils. (Reading database ... 83343 files and directories currently installed.) Preparing to unpack .../parallella-utils_0.0+1SNAPSHOT20140710~trusty1_armhf.deb ... Unpacking parallella-utils (0.0+1SNAPSHOT20140710~trusty1) ... Setting up parallella-utils (0.0+1SNAPSHOT20140710~trusty1) ...
Finally, I can start xtemp from a xterm.
2014-10-08: testing usb - more. I changed to a micro-usb to usb adapter and connected only the Microsoft Express mouse to it. That worked, so I unplugged the mouse and plugged in the UltraX keyboard, that worked too. Next up, I connected a unpowered 4-port usb hub to the micro-usb to usb adapter and connected both the mouse and the UltraX keyboard to it. This is the result:
linaro-nano:~> lsusb Bus 001 Device 006: ID 046d:c30e Logitech, Inc. UltraX Keyboard (Y-BL49) Bus 001 Device 005: ID 045e:077a Microsoft Corp. Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
From top to bottom: keyboard, mouse, 4-port unpowered hub (labeled "Deltaco", black and looks like a cross, has a red LED on it), and the root hub. Testing the IBM mouse:
linaro-nano:~> lsusb Bus 001 Device 006: ID 046d:c30e Logitech, Inc. UltraX Keyboard (Y-BL49) Bus 001 Device 007: ID 04b3:310b IBM Corp. Red Wheel Mouse Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ok, it works too. Testing the Cherry keyboard:
linaro-nano:~> lsusb Bus 001 Device 007: ID 04b3:310b IBM Corp. Red Wheel Mouse Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nope, doesn't work (the three LEDs blinked, but that was all.
2014-10-08: testing usb. First I tested a bit more with the powered usb 3.0 hub, then I switched to a powered usb 2.0 hub. This doesn't seem to make a difference. The devices gets power (I can see the light from the mouse) - tested with 2 mice, the black IBM mouse and a Microsoft Express mouse. Both light up, but don't work. Keyboards - I tested with a Cherry ML 4100 USB and a Logitech Y-BL49 (UltraX) - both act the same; no lights on keyboard, no keys work (including caps on/ off scroll lock etc). I also changed the micro-usb to usb cable - makes no difference. Logging into the machine over the network:
tingo@kg-core1$ ssh -l linaro 10.1.150.3 linaro@10.1.150.3's password: Welcome to Linaro 14.04 (GNU/Linux 3.12.0-g0bc9c3a-dirty armv7l) * Documentation: https://wiki.linaro.org/ Last login: Wed Oct 8 20:18:07 2014 from kg-core1.kg4.no linaro-nano:~>
good. Checking the usb controller:
linaro-nano:~> dmesg | grep ehci ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-pci: EHCI PCI platform driver xusbps-ehci xusbps-ehci.0: Xilinx PS USB EHCI Host Controller xusbps-ehci xusbps-ehci.0: new USB bus registered, assigned bus number 1 xusbps-ehci xusbps-ehci.0: irq 53, io mem 0x00000000 xusbps-ehci xusbps-ehci.0: USB 2.0 started, EHCI 1.00
looks ok. It does find the root hub too:
linaro-nano:~> dmesg | grep hub usbcore: registered new interface driver hub hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected
But lsusb doesn't find anything more:
linaro-nano:~> lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
with root then?
linaro-nano:~> sudo lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nope.
2014-10-06: connecting up. First I have inserted the microSD card. I connect Ethernet cable, micro-HDMI cable and micro-usb cable (to the connector next to the micro-HDMI connector). First surprise: the board actually powers up when the micro-usb cable is connected! Should it do that? I'm using a powered usb 3.0 hub, which have a fan, a mouse and a keyboard connected. The board also powers up if the PSU cable is plugged into the barrel connector (without the micro-usb cable connected). Anyway, usb doesn't work - see this, this and this thread on the forum. I can still ssh into the machine - network works (I cheated and looked at my dhcp server to find the ip address).
2014-10-06: software - writing image. I'm using one of my FreeBSD machines to write the image to a microSD card: Here is the image:
tingo@kg-v7$ pwd /usr/home/tingo/dl tingo@kg-v7$ ls -lh u* -rw-r--r-- 1 tingo users 2.1G Oct 6 23:00 ubuntu-14.04-140611.img.gz
gunzip it:
tingo@kg-v7$ gunzip -k ubuntu-14.04-140611.img.gz
check size:
tingo@kg-v7$ ls -lh u* -rw-r--r-- 1 tingo users 7.4G Oct 6 23:00 ubuntu-14.04-140611.img -rw-r--r-- 1 tingo users 2.1G Oct 6 23:00 ubuntu-14.04-140611.img.gz
Ok, 7.4 GB should fit on a 8 GB microSD card. Find the card:
tingo@kg-v7$ ls -l /dev/da* crw-r----- 1 root operator 0xd6 Oct 6 23:05 /dev/da0 crw-r----- 1 root operator 0xd7 Oct 6 23:05 /dev/da0s1 crw-r----- 1 root operator 0xd9 Oct 6 23:05 /dev/da1 crw-r----- 1 root operator 0xda Oct 6 23:05 /dev/da2
ok, it is da0. Related info from /var/log/messages:
Oct 6 23:05:21 kg-v7 kernel: da0 at umass-sim0 bus 0 scbus7 target 0 lun 0 Oct 6 23:05:21 kg-v7 kernel: da0: <Generic SD Card Reader 1.00> Removable Direct Access SCSI-0 device Oct 6 23:05:21 kg-v7 kernel: da0: Serial Number 058F63626476 Oct 6 23:05:21 kg-v7 kernel: da0: 40.000MB/s transfers Oct 6 23:05:21 kg-v7 kernel: da0: 7599MB (15562752 512 byte sectors: 255H 63S/T 968C) Oct 6 23:05:21 kg-v7 kernel: da0: quirks=0x2<NO_6_BYTE>
write the card:
tingo@kg-v7$ su Password: root@kg-v7# dd if=./ubuntu-14.04-140611.img of=/dev/da0 bs=1m 7580+0 records in 7580+0 records out 7948206080 bytes transferred in 522.808051 secs (15202914 bytes/sec)
Hmm, written in about 8 mins 43 secs, not too shabby. What does disktype say about the new card:
root@kg-v7# ls -l /dev/da0* crw-r----- 1 root operator 0xd6 Oct 6 23:21 /dev/da0 crw-r----- 1 root operator 0xd7 Oct 6 23:21 /dev/da0s1 crw-r----- 1 root operator 0xd8 Oct 6 23:21 /dev/da0s2 root@kg-v7# disktype /dev/da0 --- /dev/da0 Character device, size 7.421 GiB (7968129024 bytes) DOS/MBR partition map Partition 1: 128 MiB (134217728 bytes, 262144 sectors from 2048) Type 0x0B (Win95 FAT32) FAT32 file system (hints score 5 of 5) Volume size 126.0 MiB (132135936 bytes, 258078 clusters of 512 bytes) Volume name "BOOT" Partition 2: 6.836 GiB (7340032000 bytes, 14336000 sectors from 264192) Type 0x83 (Linux) Ext3 file system Volume name "rootfs" UUID C702810C-0DDA-4CD9-AD9B-EE4A6C3E6A62 (DCE, v4) Last mounted at "/media/aolofsson/rootfs" Volume size 6.836 GiB (7340032000 bytes, 1792000 blocks of 4 KiB)
and gpart
root@kg-v7# gpart show -p da0 => 63 15562689 da0 MBR (7.4G) 63 1985 - free - (993K) 2048 262144 da0s1 fat32 (128M) 264192 14336000 da0s2 linux-data (6.8G) 14600192 962560 - free - (470M)
looks ok. Next step, put the required files onto the BOOT partition. mount it:
root@kg-v7# mount -t msdosfs /dev/da0s1 /mnt
verify:
root@kg-v7# df -h /mnt Filesystem Size Used Avail Capacity Mounted on /dev/da0s1 126M 1.5K 126M 0% /mnt
is there anything on it?
root@kg-v7# ls -l /mnt total 0
good. put the kernel files on. I'm using the HDMI kernel:
tingo@kg-v7$ tar tvf kernel-hdmi-default.tgz -rw-r--r-- 0 aolofsson aolofsson 4468792 Feb 6 2014 uImage -rw-r--r-- 0 aolofsson aolofsson 8607 Jun 5 17:27 devicetree.dtb tingo@kg-v7$ su Password: root@kg-v7# tar xvf kernel-hdmi-default.tgz -C /mnt x uImage: Can't set user=1000/group=1000 for uImage x devicetree.dtb: Can't set user=1000/group=1000 for devicetree.dtb tar: Error exit delayed from previous errors.
check files:
root@kg-v7# ls -l /mnt total 4373 -rwxr-xr-x 1 root wheel 8607 Jun 5 17:27 devicetree.dtb -rwxr-xr-x 1 root wheel 4468792 Feb 6 2014 uImage
looks ok. Next is the FPGA bitstream, which needs to match kernel, so it is the HDMI one:
root@kg-v7# ls -l *bit* -rw-r--r-- 1 tingo users 4045568 Oct 6 23:40 parallella_e16_hdmi_gpiose_7020.bit.bin
it has to be named parallella.bit.bin, so fix that when copying:
root@kg-v7# cp -v ./parallella_e16_hdmi_gpiose_7020.bit.bin /mnt/parallella.bit.bin ./parallella_e16_hdmi_gpiose_7020.bit.bin -> /mnt/parallella.bit.bin
Ok. The boot partition now looks like this:
root@kg-v7# df -h /mnt Filesystem Size Used Avail Capacity Mounted on /dev/da0s1 126M 8.1M 118M 6% /mnt root@kg-v7# ls -lh /mnt total 8324 -rwxr-xr-x 1 root wheel 8.4K Jun 5 17:27 devicetree.dtb -rwxr-xr-x 1 root wheel 3.9M Oct 6 23:44 parallella.bit.bin -rwxr-xr-x 1 root wheel 4.3M Feb 6 2014 uImage
unmount image, and your'e done with it.
2014-10-06: software - downloading the official image now (it is 2.1 GB gzipped, so it takes some time). I need a microSD card too, 16 or 8 GB. I found a 8 GB class 10 microSD card which was empty, I'll try with that one.
2014-10-06: initial hardware configuration. I installed the heatsink on the Zynq chip, then I mounted metal standoffs (M3 F-F 30mm) to the board. It looks like J14 has pins 1-2 jumpered , if not the board will not get power and I will have to change the jumper setting.
2014-10-06: Bought additional hardware from Clas Ohlson:
1 x HDMI cable type A to type D (micro HDMI) 1 m, Exibel brand (38-5041) for NOK 149.- 1 x PSU 20W, Vanson brand (36-4219) for NOK 159.- will deliver 2.5A at 5 V DC
that's all.
2014-10-05: required things:
1 x psu - 5 V DC, 2A - center positive plug (outer diameter 5.5 mm, inner diameter 2.1 mm) 1 x micro usb to usb cable - ok 1 x micro HDMI to HDMI cable 1 x ethernet cable - ok 1 x fan (I have a usb one)
I have a USB PSU which is rated at 2A, but USB PSUs are not recommended. A powered USB hub (conforming, of course) is required if you want to connect more than a keyboard (a keyboard and a mouse for example). I have several USB hubs.
2014-05-08: the package contains 1 x Kickstarter Thank You Card, and 1 x cardboard box with the Parallela (Parallela 16 with GPIO Zynq 7020), Inside the cardboard box is a heatsink, the Parallella board and a notice on paper which reads: "Important Note. USB: Do not use a non-conforming powered USB hub with the Parallela board as this may damage the board. Heatsink: The enclosed heatsink is for use on the Zynq processor. We recommend using a fan."
2014-05-08: today is a thursday, and a package pickup notice in my mailbox today, I picked up the Parallella package at my local PIB (RIMI Trondheimsveien) tonight. I had to pay NOK 148.- in value added tax (merverdiavgift) and NOK 135.- in customs handling charge, a total of NOK 283.-
2013-09-12: a customer survey was sent out.
2013-08-27: pre-shipping confirmation was sent out. My info was correct, so I didn't need to change anything.
2012-12-17: a forum was set up.
2012-11-04: delivery survey (?) sent out.
2012-10-28: the project was funded.
2012-10-27: I backed the project with USD 120.- which nets me a reward of "MAKER: You get everything in the SUPPORTER reward and an Epiphany-III based Parallella board loaded with the development software needed to create your own innovative projects. (International order should add $20 to the pledge amount). We can't wait to see what you come up with." and estimated delivery is May 2013.