Skip to content

HowTo Linux on Pano Logic G2

Piotr Binkowski edited this page Dec 4, 2019 · 12 revisions

Linux on Pano Logic G2

Introduction

This how-to guide is for people who want to run Linux on Pano Logic G2 devices.

You will need:

  • A laptop running Linux or a VM.
  • Valid ISE license for the XC6SLX100/XC6SLX150 chip, the easiest way of obtaining it is to download the Xilinx ISE for Windows 10 which should come with a license for that part.
  • JTAG adapter
  • USB-UART adapter.

All shell commands in this guide use bash.

Gateware and Firmware

To build Gateware for the board you need to use the pano_logic_g2 platform and the base target. On top of that you should use VexRiscv Soft CPU with CPU_VARIANT=linux and BUILD_BUILDROOT=1 exported.

After building the Gateware you can use ./scripts/build-linux.sh to build a custom RootFS and Linux kernel for the board.

That should generate the following files:

  • <build_dir>/software/linux/firmware.bin
  • <build_dir>/software/linux/riscv32-rootfs.cpio
  • <build_dir>/software/linux/rv32.dtb
  • <build_dir>/emulator/emulator.bin

Accessing the serial port

To access the serial console and upload the Linux image you will need to use a USB-UART adapter. UART can be accessed via 2 DDC pins on the DVI connector, RX is attached to DDC Data and TX is on DDC Clock.

Loading Linux

You can load files generated by build-linux.sh by creating an image.json file similar to this one:

{
        "build/pano_logic_g2_base_vexriscv.linux/software/linux/firmware.bin": "0xc0000000",
        "build/pano_logic_g2_base_vexriscv.linux/software/linux/riscv32-rootfs.cpio": "0xc0800000",
        "build/pano_logic_g2_base_vexriscv.linux/software/linux/rv32.dtb": "0xc1000000",
        "build/pano_logic_g2_base_vexriscv.linux/emulator/emulator.bin": "0x50000000"
}

And then using lxterm --speed <configured_baud_rate> /dev/ttyUSB0 --images <path_to_created_image_json_file> you should be able to load the Linux kernel and the RootFS image into the DDR memory, and shortly after it finishes uploading, a Linux prompt should appear.

Clone this wiki locally