# Building a Debian GitLab CI Runner on the StarFive VisionFive v2

DevFeed: [Building a Debian GitLab CI Runner on the StarFive VisionFive v2](<https://devfeed.tech/articles/off-topic-the-importance-of-efficient-tooling-34231.md>)

Original publisher: [Read original article](<https://blog.mobian.org/posts/2023/01/25/efficient-tooling/>)

Author: Mobian team

Published: 2023-01-25T00:00:00Z

Content type: article

Language: en

Sources: [Mobian's Blog](<https://devfeed.tech/sources/mobian-s-blog.md>)

Topics: [RISC-V](<https://devfeed.tech/topics/riscv.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [debian](<https://devfeed.tech/tags/debian.md>), [gigabit-ethernet](<https://devfeed.tech/tags/gigabit-ethernet.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nvme](<https://devfeed.tech/tags/nvme.md>), [pcie](<https://devfeed.tech/tags/pcie.md>), [risc-v](<https://devfeed.tech/tags/risc-v.md>), [soc](<https://devfeed.tech/tags/soc.md>), [testing](<https://devfeed.tech/tags/testing.md>), [usb](<https://devfeed.tech/tags/usb.md>)

## AI overview

This article describes using Mobian's build tools to create an almost-pure Debian image and GitLab CI runner for the RISC-V-based StarFive VisionFive v2 SBC. It covers Debian Ports packages, the board's hardware, boot requirements, and bootloader work.

## Source excerpt

You're probably aware of the existence and hopes tied to the rise of the RISC-V architecture, which means we should prepare for future (yet hypothetical) RISC-V Linux-based mobile devices. The first step in this journey being the ability to build binary packages for this architecture, we purchased a StarFive VisionFive v2 SBC with the goal to turn it into a (Debian-powered, of course!) GitLab CI runner. And that's exactly where the tools developed to build Mobian came in really handy! Debian on RISC-V 64-bits RISC-V (or riscv64 in Debian terms) is not an architecture officially supported by upstream Debian. However, the vast majority of packages are built and available to riscv64 devices thanks to the Debian Ports initiative. As an unofficial port, the riscv64 packages live in a separate archive, providing only the unstable and experimental suites. Those details aside, all the usual Debian tools work in the exact same way they do on other architectures. With this in mind, why not use the tools we've been developing for Mobian and create an "almost-pure" Debian image for the VisionFive v2? The board The VisionFive 2 is a RISC-V SBC based on StarFive's JH7110 SoC. This chip includes 4x SiFive U74 cores, Gigabit Ethernet, PCIe and many other interfaces. The board itself includes a choice of 2, 4 or 8GB RAM, a now-standard 40-pin GPIO header, a microSD card slot, an eMMC socket as well as an M.2 slot for an NVMe SSD, and of course several USB ports and 2 Gigabit Ethernet ports. OK, but... can it run Debian? In order to run any kind of Linux system (including a Debian-based one), we need the following elements: a bootloader a kernel which includes support for this specific device a root filesystem containing userspace software, compiled for the device's CPU architecture Das U-boot Abenteuer The first item is already present on the board, in the form of a SPI NOR flash chip, factory-flashed with u-boot. However, the one present on our (early bird) board lacked support for s