mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-28 16:41:52 +08:00
init
This commit is contained in:
66
build/cross/Dockerfile.aarch64
Normal file
66
build/cross/Dockerfile.aarch64
Normal file
@@ -0,0 +1,66 @@
|
||||
# Cross-compilation image for ARM64 based on Debian 12
|
||||
# Uses multiarch to install ARM64 libraries on x86_64 host
|
||||
|
||||
FROM debian:12
|
||||
|
||||
# Install Rust toolchain
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
ca-certificates \
|
||||
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
# Add ARM64 architecture
|
||||
RUN dpkg --add-architecture arm64
|
||||
|
||||
# Install cross-compiler and native build tools
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
cmake \
|
||||
nasm \
|
||||
git \
|
||||
libclang-dev \
|
||||
llvm \
|
||||
gcc-aarch64-linux-gnu \
|
||||
g++-aarch64-linux-gnu \
|
||||
libc6-dev-arm64-cross \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install ARM64 development libraries
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libasound2-dev:arm64 \
|
||||
libv4l-dev:arm64 \
|
||||
libudev-dev:arm64 \
|
||||
zlib1g-dev:arm64 \
|
||||
libjpeg62-turbo-dev:arm64 \
|
||||
libyuv-dev:arm64 \
|
||||
libavcodec-dev:arm64 \
|
||||
libavformat-dev:arm64 \
|
||||
libavutil-dev:arm64 \
|
||||
libswscale-dev:arm64 \
|
||||
libswresample-dev:arm64 \
|
||||
libx264-dev:arm64 \
|
||||
libx265-dev:arm64 \
|
||||
libvpx-dev:arm64 \
|
||||
libopus-dev:arm64 \
|
||||
libva-dev:arm64 \
|
||||
libdrm-dev:arm64 \
|
||||
libx11-dev:arm64 \
|
||||
libxcb1-dev:arm64 \
|
||||
libxau-dev:arm64 \
|
||||
libxdmcp-dev:arm64 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Add Rust target
|
||||
RUN rustup target add aarch64-unknown-linux-gnu
|
||||
|
||||
# Configure environment for cross-compilation
|
||||
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
|
||||
CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc \
|
||||
CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ \
|
||||
AR_aarch64_unknown_linux_gnu=aarch64-linux-gnu-ar \
|
||||
PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig \
|
||||
PKG_CONFIG_ALLOW_CROSS=1
|
||||
66
build/cross/Dockerfile.armv7
Normal file
66
build/cross/Dockerfile.armv7
Normal file
@@ -0,0 +1,66 @@
|
||||
# Cross-compilation image for ARMv7 based on Debian 12
|
||||
# Uses multiarch to install ARMv7 libraries on x86_64 host
|
||||
|
||||
FROM debian:12
|
||||
|
||||
# Install Rust toolchain
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
ca-certificates \
|
||||
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
# Add armhf architecture
|
||||
RUN dpkg --add-architecture armhf
|
||||
|
||||
# Install cross-compiler and native build tools
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
cmake \
|
||||
nasm \
|
||||
git \
|
||||
libclang-dev \
|
||||
llvm \
|
||||
gcc-arm-linux-gnueabihf \
|
||||
g++-arm-linux-gnueabihf \
|
||||
libc6-dev-armhf-cross \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install ARMv7 development libraries
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libasound2-dev:armhf \
|
||||
libv4l-dev:armhf \
|
||||
libudev-dev:armhf \
|
||||
zlib1g-dev:armhf \
|
||||
libjpeg62-turbo-dev:armhf \
|
||||
libyuv-dev:armhf \
|
||||
libavcodec-dev:armhf \
|
||||
libavformat-dev:armhf \
|
||||
libavutil-dev:armhf \
|
||||
libswscale-dev:armhf \
|
||||
libswresample-dev:armhf \
|
||||
libx264-dev:armhf \
|
||||
libx265-dev:armhf \
|
||||
libvpx-dev:armhf \
|
||||
libopus-dev:armhf \
|
||||
libva-dev:armhf \
|
||||
libdrm-dev:armhf \
|
||||
libx11-dev:armhf \
|
||||
libxcb1-dev:armhf \
|
||||
libxau-dev:armhf \
|
||||
libxdmcp-dev:armhf \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Add Rust target
|
||||
RUN rustup target add armv7-unknown-linux-gnueabihf
|
||||
|
||||
# Configure environment for cross-compilation
|
||||
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
|
||||
CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
|
||||
CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ \
|
||||
AR_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-ar \
|
||||
PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig \
|
||||
PKG_CONFIG_ALLOW_CROSS=1
|
||||
57
build/cross/Dockerfile.x86_64
Normal file
57
build/cross/Dockerfile.x86_64
Normal file
@@ -0,0 +1,57 @@
|
||||
# Cross-compilation image for x86_64 based on Debian 12
|
||||
# Matches the runtime environment exactly
|
||||
|
||||
FROM debian:12
|
||||
|
||||
# Install Rust toolchain
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
ca-certificates \
|
||||
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||
|
||||
# Install build dependencies (same as runtime Debian 12)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
# Build tools
|
||||
build-essential \
|
||||
pkg-config \
|
||||
cmake \
|
||||
nasm \
|
||||
git \
|
||||
libclang-dev \
|
||||
llvm \
|
||||
# Core system libraries
|
||||
libasound2-dev \
|
||||
libv4l-dev \
|
||||
libudev-dev \
|
||||
zlib1g-dev \
|
||||
# Video/image processing
|
||||
libjpeg62-turbo-dev \
|
||||
libyuv-dev \
|
||||
# FFmpeg and codecs
|
||||
libavcodec-dev \
|
||||
libavformat-dev \
|
||||
libavutil-dev \
|
||||
libswscale-dev \
|
||||
libswresample-dev \
|
||||
# Video codec libraries
|
||||
libx264-dev \
|
||||
libx265-dev \
|
||||
libvpx-dev \
|
||||
# Audio codec
|
||||
libopus-dev \
|
||||
# Hardware acceleration
|
||||
libva-dev \
|
||||
libdrm-dev \
|
||||
libmfx-dev \
|
||||
# X11 libraries
|
||||
libx11-dev \
|
||||
libxcb1-dev \
|
||||
libxau-dev \
|
||||
libxdmcp-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Add Rust target
|
||||
RUN rustup target add x86_64-unknown-linux-gnu
|
||||
Reference in New Issue
Block a user