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.
Read more →

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.
Read more →

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.
Read more →

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.
Read more →

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.
Read more →

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.
Read more →