Giter VIP home page Giter VIP logo

docker-visionfive2's Introduction

visionfive2-docker

Docker build environment for VisionFive 2 SBC

Building the docker image

Clone this repo and enter it, build the image.

git clone https://github.com/kng/visionfive2-docker.git
cd visionfive2-docker
./build.sh

If updating this repo or editing the Dockerfile, rebuild the image again.

Building firmware and kernel

All the scripts in mnt are from the Technical Reference Manual
You do not need to install any packages when running the container, it's all included in the build.
The directory mnt is bind-mounted to the container /mnt
When you run the scripts, the contents of the git pull and build etc will e in the mnt directory.

Enter the build environment with a command prompt with: ./shell.sh

Build scripts available:
build_kernel.sh build_opensbi.sh build_spl.sh build_u-boot.sh
These scripts just removes the directory before fetching it from git, so be aware any local changes in those will be wiped.

Quick build of everything:
./shell.sh build_all.sh

or manually for each step, making changes along the way.

u-boot: ./shell.sh build_u-boot.sh

OpenSBI: ./shell.sh build_opensbi.sh

SPL and payload: ./shell.sh build_spl.sh

Linux kernel: ./shell.sh build_kernel.sh

Alternatively, linux kernel based on a-wai/vf2-linux, this enables IPv6 and docker: ./shell.sh build_kernel_vf2.sh This also builds modules and installs them in mnt/lib/modules.

Busybox rootfs

Build the rootfs with: ./shell.sh build_rootfs.sh

If you want to test run it, make sure you have the proper qemu installed docker run --privileged --rm tonistiigi/binfmt:riscv
First build the image with ./rootfs_image.sh and then start a container shell with ./rootfs_shell.sh

Podman instead of Docker

If you're using podman, simply replace the above build.sh with podman_build.sh and shell.sh with podman_shell.sh

docker-visionfive2's People

Contributors

ankurkotwal avatar kng avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.