Linux On Vega

Linux for VEGA is maintained at VEGA Software Repository /operating-systems/linux-on-vega. Only THEJAS64 supports Linux.

Install VEGA Linux Toolchain

VEGA Linux Toolchain contains necessary RISC-V Toolchains to compile C/C++ programs for Linux. To Install VEGA Linux Toolchain :

git clone

Also add the toolchain path to .bashrc file.

Download Precompiled Linux Image

Precompiled Linux for VEGA is available at VEGA Software Repository. To download precompiled Linux,

git clone

Inside the precompiled-images directory, Linux directory contains precompiled linux image (bbl.bin) and device tree file (riscv.dts).

Uploading Linux image to board

  • Reset Board and wait 3 seconds till board is ready for Ethernet mode.

  • Copy bbl.bin and riscv.dts to vega-tools/utils/eth_transfer directory.

  • Edit env.txt for sending two files. Refer sample env.txt :
    # CBL environment file 
    #Number of files to send
    #Addresses of corresponding files
    #Entrypoint of program to jump after download
    #Device tree binary address
    #MAC address of board to set
  • Now generate binary device tree file (riscv.dts) by,

    dtc -O dtb -o riscv.dtb riscv.dts
  • Now upload Linux image to target board using script. To upload use

    ./ bbl.bin riscv.dtb

Compiling Applications for Linux

To compile programs for Linux, use the VEGA Linux Toolchain. For example, to compile a C file sample.c,

riscv64-buildroot-linux-gnu-gcc sample.c -o smaple.out

To run this you have to send executable smaple.out to Linux running on board using scp.


Before doing scp to Linux running on board, board should get a vaild IP, either dynamic IP using udhcpc command or static IP using ifconfig command.