mirror of https://github.com/jetkvm/kvm.git
33 lines
997 B
Docker
33 lines
997 B
Docker
# syntax=docker/dockerfile:1
|
|
FROM golang:1.24.4-bookworm
|
|
|
|
ENV GOTOOLCHAIN=local
|
|
ENV GOPATH /go
|
|
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
|
|
|
|
# Install build dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
device-tree-compiler \
|
|
gperf g++-multilib gcc-multilib \
|
|
libnl-3-dev libdbus-1-dev libelf-dev libmpc-dev dwarves \
|
|
bc openssl flex bison libssl-dev python3 python-is-python3 texinfo kmod cmake \
|
|
wget zstd \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install buildkit
|
|
ENV BUILDKIT_VERSION="v0.2.2"
|
|
RUN wget https://github.com/jetkvm/rv1106-system/releases/download/${BUILDKIT_VERSION}/buildkit.tar.zst && \
|
|
mkdir -p /opt/jetkvm-native-buildkit && \
|
|
tar --use-compress-program="unzstd --long=31" -xvf buildkit.tar.zst -C /opt/jetkvm-native-buildkit && \
|
|
rm buildkit.tar.zst
|
|
|
|
# Create build directory
|
|
RUN mkdir -p /build/
|
|
|
|
# Copy go.mod and go.sum
|
|
COPY go.mod go.sum /build/
|
|
|
|
WORKDIR /build
|
|
|
|
RUN go mod download && go mod verify |