Arrow SoCkit - ArchLinuxARM root filesystem
In our previous posts we have built the bootloader and the Linux kernel and put them on a SD Card. Now we will also add a root filesystem to complete our GNU/Linux system. There are many different root file system we could have used, Yocto, Debian … but I chose ArchLinux ARM since ArchLinux is my preferred GNU/Linux distribution.
First we download ArchLinuxARM.
$ cd $ wget http://os.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz We are going to add another partition to the image file we created earlier.
Arrow SoCkit - Linux kernel
In the last post we compiled the boot loader and booted into U-Boot. Now we will continue by building the Linux kernel and adding it to the SD Card.
First we clone the kernel from github, list the branches and checkout the branch we would like to build.
$ git clone https://github.com/altera-opensource/linux-socfpga.git $ cd linux-socfpga $ git branch -a $ git checkout -b sockit-5.8 remotes/origin/socfpga-5.8 When that is done we configure the kernel.
Arrow SoCkit - U-Boot
In order to be able to boot GNU/Linux on the Arrow SocKit we need a bootloader. If we run make we see that there is a target called uboot.
$ cross_compile_arrow_sockit $ quartus20.1 ———————————————— Altera Nios2 Command Shell Version 20.1, Build 711 ———————————————— $ eds20.1 ———————————————— Intel FPGA Embedded Command Shell Version 20.1 [Build 711] ———————————————— $ make ***************************************** * * * Manage QuartusII/QSys design * * * * Copyright (c) 2015 * * All Rights Reserved * * * ***************************************** ********************* * Target: help * Displays this info (i.
Arrow SoCkit - Compiling FPGA
We will check out and compile the Golden Hardware Reference Design (GHRD) and compile it. We start by cloning the git repository.
$ git clone https://github.com/arrow-socfpga/arrow-sockit-ghrd.git Cloning into 'arrow-sockit-ghrd'… remote: Enumerating objects: 8, done. remote: Counting objects: 100% (8/8), done. remote: Compressing objects: 100% (8/8), done. remote: Total 697 (delta 1), reused 4 (delta 0), pack-reused 689 Receiving objects: 100% (697/697), 15.21 MiB | 2.63 MiB/s, done. Resolving deltas: 100% (441/441), done.
Arrow SoCkit - Design Software
The FPGA bitstream will be generated with Quartus Prime Lite Edition 20.1 and the dtb with Intel SoC FPGA Embedded Development Suite 20.1 Standard. The software can be downloaded from Intel. All development will be done on a GNU/Linux system. To be specific it will be done on Archlinux. Archlinux uses a rolling release and this was done around 2020-09-18. Archlinux is not a supported platform for Intel FPGA software. If you want a supported platform you can download an ancient version of CentOS or Ubuntu.
Arrow SoCkit - Intro
In this series we will look at the Arrow SoCkit, which is a development board from Arrow with a Cyclone V SoC. The SoC contains an FPGA and a ARM Cortex-A9 CPU. The ARM CPU is often refered to as the hard processor system or HPS. For more information about the board see RocketBoards. We will go through installing the design software, compiling the FPGA bitstream, compiling the bootloader U-boot, compiling GNU/Linux for the HPS, booting GNU/Linux and loading the FPGA bitstream.
Mouse for my Zet x86
Zet processor is an open implementation of the so widely used IA-32 architecture (generally called x86). It is implemented in Verilog and can be synthesized for FPGAs. One of the supported development boards is the Altera DE1 Board. DE1 only has one PS/2 port so mouse is not supported on that board. But the board has many IO-ports and the mouse PS/2 pins are mapped to some of the IO pins.
SoCKIT Litecoin Mining
I recently tried Bitcoin mining on a Arrow SoCKIT development board and concluded that Bitcoin mining was to hard given my hardware. Therefore I decided to try Litecoin mining on my SoCKIT. The algorithm used for Litecoin is scrypt. It is supposed to be harder to use FPGAs and ASICs to do Litecoin mining compared to Bitcoin mining. As a starting point i used FPGA-Litecoin-Miner from github. I ported the code for the BeMicro development board to the SoCKIT.
SoCKIT Bitcoin Mining
I wanted to try Bitcoin mining on FPGA just to see how hard it really is. I have to use some electricity for heating this time of year so I can just as well use some for Bitcoin mining. I have a Arrow SoCKIT development board. The board contains a Altera SoC which is a combination of a ARM processor and a FPGA. For this project the ARM processor will not be used.