Last active
September 12, 2021 15:07
-
-
Save WesleyCh3n/eb8af2c8d3b2a74e51dfe398511b2aba to your computer and use it in GitHub Desktop.
Dockerfile of arm64/armv7 for rpi cross-compile base on `dockross`. Toolchain: https://sourceforge.net/projects/raspberry-pi-cross-compilers/files/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM dockcross/base:latest | |
ENV DEFAULT_DOCKCROSS_IMAGE arm64-cross | |
ENV CROSS_TRIPLE aarch64-linux-gnu | |
ENV XCC_PREFIX /usr/local | |
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | |
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc-ar \ | |
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | |
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ | |
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ | |
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | |
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran \ | |
RANLIB=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ranlib | |
ENV PKG_CONFIG_PATH /usr/lib/pkgconfig | |
ENV PATH ${CROSS_ROOT}/bin:$PATH | |
ENV LD_LIBRARY_PATH ${CROSS_ROOT}/lib:$LD_LIBRARY_PATH | |
ENV GCCPATH ${CROSS_ROOT}/libexec/gcc/aarch64-linux-gnu/8.3.0 | |
ENV ARFLAGS="--plugin $GCCPATH/liblto_plugin.so" | |
ENV RANLIBFLAGS="--plugin $GCCPATH/liblto_plugin.so" | |
COPY cross-pi-gcc-8.3.0-64 ${CROSS_ROOT} | |
# Linux kernel cross compilation variables | |
ENV CROSS_COMPILE ${CROSS_TRIPLE}- | |
ENV ARCH arm64 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM dockcross/base:latest | |
ENV DEFAULT_DOCKCROSS_IMAGE wesleych3n/pi-cross:armv7-8.3.0 | |
ENV CROSS_TRIPLE arm-linux-gnueabihf | |
ENV XCC_PREFIX /usr/local | |
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | |
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc-ar \ | |
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | |
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ | |
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ | |
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | |
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran \ | |
RANLIB=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc-ranlib | |
ENV PKG_CONFIG_PATH /usr/lib/pkgconfig | |
ENV PATH ${CROSS_ROOT}/bin:$PATH | |
ENV LD_LIBRARY_PATH ${CROSS_ROOT}/lib:$LD_LIBRARY_PATH | |
ENV GCCPATH ${CROSS_ROOT}/libexec/gcc/${CROSS_TRIPLE}/8.3.0 | |
ENV ARFLAGS="--plugin $GCCPATH/liblto_plugin.so" | |
ENV RANLIBFLAGS="--plugin $GCCPATH/liblto_plugin.so" | |
COPY cross-pi-gcc-8.3.0-2 ${CROSS_ROOT} | |
# Linux kernel cross compilation variables | |
ENV CROSS_COMPILE ${CROSS_TRIPLE}- | |
ENV ARCH arm |
Author
WesleyCh3n
commented
Sep 12, 2021
- Create script
- armv7
- arm64
- Mount
opt
and build lib
armv7-cross -a "-v $PWD/armv7/opt:/opt" bash
arm64-cross -a "-v $PWD/arm64/opt:/opt" bash
- buid
wesleych3n/ntu-iot-node
armv7-cross -a "-v $PWD/armv7/opt/opencv/lib/pkgconfig/opencv4.pc:/usr/lib/pkgconfig/opencv4.pc:ro\
-v $PWD/armv7/opt:/opt" bash
arm64-cross -a "-v $PWD/arm64/opt/opencv/lib/pkgconfig/opencv4.pc:/usr/lib/pkgconfig/opencv4.pc:ro\
-v $PWD/arm64/opt:/opt" bash
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment