From 477ec50522a5285bfab18b59bcd741635bd322ac Mon Sep 17 00:00:00 2001 From: David Lechner Date: Fri, 26 Apr 2019 19:43:41 -0500 Subject: [PATCH] Add ev3dev-buster --- .travis.yml | 10 +++--- README.md | 3 ++ ev3dev-buster/apt.sources.list.debian | 8 +++++ ev3dev-buster/compiler.sudoers | 1 + ev3dev-buster/debian-buster-armel.dockerfile | 27 ++++++++++++++ ev3dev-buster/debian-buster-armhf.dockerfile | 26 ++++++++++++++ ev3dev-buster/debian-buster-cross.dockerfile | 36 +++++++++++++++++++ ev3dev-buster/ev3dev-archive-keyring.gpg | Bin 0 -> 2477 bytes ev3dev-buster/toolchain-armel.cmake | 2 ++ ev3dev-buster/toolchain-armhf.cmake | 2 ++ ev3dev-buster/toolchain.cmake.armel | 3 ++ ev3dev-buster/toolchain.cmake.armhf | 4 +++ 12 files changed, 117 insertions(+), 5 deletions(-) create mode 100644 ev3dev-buster/apt.sources.list.debian create mode 100644 ev3dev-buster/compiler.sudoers create mode 100644 ev3dev-buster/debian-buster-armel.dockerfile create mode 100644 ev3dev-buster/debian-buster-armhf.dockerfile create mode 100644 ev3dev-buster/debian-buster-cross.dockerfile create mode 100644 ev3dev-buster/ev3dev-archive-keyring.gpg create mode 100644 ev3dev-buster/toolchain-armel.cmake create mode 100644 ev3dev-buster/toolchain-armhf.cmake create mode 100644 ev3dev-buster/toolchain.cmake.armel create mode 100644 ev3dev-buster/toolchain.cmake.armhf diff --git a/.travis.yml b/.travis.yml index d745976..9d1d2d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,15 @@ language: bash sudo: required -dist: trusty +dist: xenial services: docker before_script: - docker --version script: -- docker build - -t ev3dev/debian-jessie-cross - -f ev3dev-jessie/debian-jessie-cross.dockerfile - ev3dev-jessie - docker build -t ev3dev/debian-stretch-cross -f ev3dev-stretch/debian-stretch-cross.dockerfile ev3dev-stretch +- docker build + -t ev3dev/debian-buster-cross + -f ev3dev-buster/debian-buster-cross.dockerfile + ev3dev-buster diff --git a/README.md b/README.md index ca3af51..9994bd2 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ You can get the images by running one of the following: docker pull ev3dev/debian-stretch-cross docker pull ev3dev/debian-stretch-armel-cross docker pull ev3dev/debian-stretch-armhf-cross + docker pull ev3dev/debian-buster-cross + docker pull ev3dev/debian-buster-armel-cross + docker pull ev3dev/debian-buster-armhf-cross The `debian--cross` images have an amd64 root file system and cross compilers for armel and armhf. These images can be used to compile anything diff --git a/ev3dev-buster/apt.sources.list.debian b/ev3dev-buster/apt.sources.list.debian new file mode 100644 index 0000000..62f2bbd --- /dev/null +++ b/ev3dev-buster/apt.sources.list.debian @@ -0,0 +1,8 @@ +deb http://ftp.debian.org/debian buster main contrib non-free +deb-src http://ftp.debian.org/debian buster main contrib non-free + +deb http://security.debian.org/ buster/updates main contrib non-free +deb-src http://security.debian.org/ buster/updates main contrib non-free + +deb http://archive.ev3dev.org/debian buster main +deb-src http://archive.ev3dev.org/debian buster main diff --git a/ev3dev-buster/compiler.sudoers b/ev3dev-buster/compiler.sudoers new file mode 100644 index 0000000..c2d9ca2 --- /dev/null +++ b/ev3dev-buster/compiler.sudoers @@ -0,0 +1 @@ +compiler ALL=(ALL) NOPASSWD:ALL diff --git a/ev3dev-buster/debian-buster-armel.dockerfile b/ev3dev-buster/debian-buster-armel.dockerfile new file mode 100644 index 0000000..b54374f --- /dev/null +++ b/ev3dev-buster/debian-buster-armel.dockerfile @@ -0,0 +1,27 @@ +FROM ev3dev/debian-buster-armel-qemu-minbase + +# setup repositories and install required packages +COPY apt.sources.list.debian /etc/apt/sources.list +COPY ev3dev-archive-keyring.gpg /etc/apt/trusted.gpg.d/ +RUN dpkg --add-architecture amd64 && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install --yes xz-utils \ + libc6:amd64 libz1:amd64 liblzma5:amd64 libncurses5:amd64 libpython2.7:amd64 \ + build-essential cmake valac man-db bash-completion sudo vim nano less tree wget + +# install the cross-compiler toolchain +RUN cd /opt && \ + wget https://github.com/ev3dev/ev3dev-crosstool-ng/releases/download/gcc-ev3dev-6.3.0-2017.10/gcc-ev3dev-6.3.0-2017.10-x86_64_arm-ev3-linux-gnueabi.tar.gz && \ + tar xf gcc-ev3dev-6.3.0-2017.10-x86_64_arm-ev3-linux-gnueabi.tar.gz && \ + rm gcc-ev3dev-6.3.0-2017.10-x86_64_arm-ev3-linux-gnueabi.tar.gz && \ + ln -s gcc-ev3dev-6.3.0-2017.10-x86_64_arm-ev3-linux-gnueabi arm-ev3-linux-gnueabi + +# setup a new user +COPY compiler.sudoers /etc/sudoers.d/compiler +RUN chmod 0440 /etc/sudoers.d/compiler && \ + adduser --disabled-password --gecos \"\" compiler && \ + usermod -a -G sudo compiler +USER compiler +COPY toolchain.cmake.armel /home/compiler/toolchain.cmake +WORKDIR /home/compiler +CMD ["/bin/bash"] ["--login"] diff --git a/ev3dev-buster/debian-buster-armhf.dockerfile b/ev3dev-buster/debian-buster-armhf.dockerfile new file mode 100644 index 0000000..5338463 --- /dev/null +++ b/ev3dev-buster/debian-buster-armhf.dockerfile @@ -0,0 +1,26 @@ +FROM ev3dev/debian-buster-armhf-qemu-minbase + +# setup repositories and install required packages +COPY apt.sources.list.debian /etc/apt/sources.list +COPY ev3dev-archive-keyring.gpg /etc/apt/trusted.gpg.d/ +RUN dpkg --add-architecture amd64 && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install --yes xz-utils \ + libc6:amd64 libz1:amd64 liblzma5:amd64 libncurses5:amd64 libpython2.7:amd64 \ + build-essential cmake valac man-db bash-completion sudo vim nano less tree wget + +# install the cross-compiler toolchain +RUN cd /opt && \ + wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz && \ + tar xf gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz && \ + rm gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz + +# setup a new user +COPY compiler.sudoers /etc/sudoers.d/compiler +RUN chmod 0440 /etc/sudoers.d/compiler && \ + adduser --disabled-password --gecos \"\" compiler && \ + usermod -a -G sudo compiler +USER compiler +COPY toolchain.cmake.armhf /home/compiler/toolchain.cmake +WORKDIR /home/compiler +CMD ["/bin/bash"] ["--login"] diff --git a/ev3dev-buster/debian-buster-cross.dockerfile b/ev3dev-buster/debian-buster-cross.dockerfile new file mode 100644 index 0000000..ef69091 --- /dev/null +++ b/ev3dev-buster/debian-buster-cross.dockerfile @@ -0,0 +1,36 @@ +FROM debian:buster + +# setup repositories and install required packages +COPY apt.sources.list.debian /etc/apt/sources.list +COPY ev3dev-archive-keyring.gpg /etc/apt/trusted.gpg.d/ +RUN dpkg --add-architecture armel && \ + dpkg --add-architecture armhf && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install --yes --no-install-recommends \ + bash-completion \ + ca-certificates \ + cmake \ + crossbuild-essential-armel \ + crossbuild-essential-armhf \ + gdb-multiarch \ + less \ + man-db \ + nano \ + pkg-config \ + qemu-user-static \ + sudo \ + tree \ + vim \ + wget \ + xz-utils + +# setup a new user +COPY compiler.sudoers /etc/sudoers.d/compiler +RUN chmod 0440 /etc/sudoers.d/compiler && \ + adduser --disabled-password --gecos \"\" compiler && \ + usermod -a -G sudo compiler +USER compiler +WORKDIR /home/compiler +CMD ["/bin/bash"] ["--login"] + +ADD ["toolchain-*.cmake", "/home/compiler/"] diff --git a/ev3dev-buster/ev3dev-archive-keyring.gpg b/ev3dev-buster/ev3dev-archive-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..b095dfbbac16cf5203a36c196971e9edac89292e GIT binary patch literal 2477 zcma*oc{~#i9|!Pl#zurO{G3Axu_R|IM~<9fs2oKzvl!Y&?ptflu_RiEgpe?jBXX8w z+|}&zn@GX4;Ur#;|&lB_`uB3ktutR+)bMp zyAi7zbLr^BW1h@%Dw0B&4WvdGkdWLUuCZG^9OrS_)>1AJp_ai8F8t@+TgnD?F7xOo z{!#|bEd(<5hpgLm4H+WJdwq}bQ)zp0#Q_f)2@IKAaC@$F3*I$N=PUe6Dg-w*qqz+v zNM-=p6s&<_mgcB}*QG7R?UjB$p@t+|hWc9saQlBV{}Cma$X+fxP~poUsg+ORuzZUo zZ<@^q3WVpmEME`Wfj2lXU0p_chA*T{0qfe|)0?FT$(vU*)J;qMNV zKDAiD(;u0CTT{|UeVH%5wuYM83{}L!a`2vh3wRRT4r`_BAXV#^tt0xoe?Y_Ix;x!|_>;Y>LuSwIw4rSo1m2kM((}C$KcmmkifoS)it-fS zW*+k7)2Il)6AID*Q z(O!oUNyTp`MsJ0(?M?A+S#BHBS5|*nrQDKJPpIq~5N9;j~h@yWU*D+X%DAY+q z7OfWL)!wy>X-+oDBCN%BF>#js zRvm;%%F=J!>}nbnBr9FY&=etek5QfQp(CpD99^l)BKEx+!eEPYoRUy7a|z~ATfvZq ze15sc;>vIal?&C{?ulNkZec<#OkY1!RrZFha*H}o<3}UwW3`nx*2NM zFu4jflB8?Gw|jgSE%Zv&?zbR1!)z>3o8y^KC-tT-Gdy7;FC=NFB{L_H9QHAL(-hX? z(<$~$^ds?enFBg6DE?uGZuF^5YZhUGr=$9ne2>>=msL}vU$EhB1g>LbJ!anG?w$pA z)>RBKwZCV26Wm#J9D(I;FOj9})LVDBn|6SXeV%AVYIW6i>P+_Vs}7BS=1#+i^c9L~ ziSHg&PvN*HoCp8pA}S=Z2pXgi;LaT*+SYJ{%?lvkw8PShIAXDVKp2ug+i-qDn8ihz zAM!^0ZU}&(ZFuMoVR2{_LqN#?H&})LY10s_^1EEf!*a!8PDmi^iHDlq5O`k#2H}n& zq6s)Z(jjyoH#`P`^C6NjZtnkdx_1HcOWS2)A+BlbWXS!jTLYb@7c$~;+33D@F%?Hd z$jhacHfJF2F5Rm>?TWyRQN?zge(KJLc%tgg*>T9t-t-!eSZLDs58K}h`{ssauZ7eY zKYKI%R}ew5AAM0`Yd25wpi?Z|uQSx@$f5z{iA^N!oehiO+w1I8dRqV5YE4C{lT5YaO4QO z{p$C#!9^TtZwO`|t{ptaVT=lDT-Yn$hbEjIc7e3g0oixQJjRX|RXvE+F>R!qaES`! zBRJGWF1P`A+D@LcB4r~VvTIE?T0zh}2a>}|$NP$9pghr`#( z0{96*DVV9YG07yN5Y(FVi2f+sc!@5AbtlQ|9yO;+gf~Ao$hb+vGv`mh1db}OleB-N zcRn)7g5U(IMqJyelS{f+hm~QjXIRHZ{SABfp)_Tw_#>P6@fQC{p{LLXu0x~W=&wH( zOE;M0Tb8(17p^|M%zWXKft_8?X16PKNdKu-22~0}&vI66oYy=yy~sk;Qj>8N!NCuN zOwmqD4Q}li+b{Pu+957y3Ot&o8+x(wWtKM*91^kxB@-M?qT&$`Cw|V&dpA-)>B-Lu zO-WQvF^~6eL)sPu=$5To#df~#sXFN9z*Dt*sVa`Svk8CCE(ItB7Wplc^S8{u>%{#} zbgCzyfP8ey&SsKIQ;f%C-CXID6IyS>Bt5G(&EK8%h*n<~Fj!t*$2OCokJe@p@)-CW zPTOV1e(9U8S=MD*(!`TqhgWgo)SP~6Z(dn)N5@F>W`*Jp>lt>diC%R|T;;xki=cFy zjcKIKi;5?Va@zBiH|09~qibO-ae4576CJn@zY~@1LzrwvX>d IWgfQXUyZPBIsgCw literal 0 HcmV?d00001 diff --git a/ev3dev-buster/toolchain-armel.cmake b/ev3dev-buster/toolchain-armel.cmake new file mode 100644 index 0000000..87171a1 --- /dev/null +++ b/ev3dev-buster/toolchain-armel.cmake @@ -0,0 +1,2 @@ +set (CMAKE_C_COMPILER arm-linux-gnueabi-gcc) +set (CMAKE_CXX_COMPILER arm-linux-gnueabi-g++) diff --git a/ev3dev-buster/toolchain-armhf.cmake b/ev3dev-buster/toolchain-armhf.cmake new file mode 100644 index 0000000..04b9dab --- /dev/null +++ b/ev3dev-buster/toolchain-armhf.cmake @@ -0,0 +1,2 @@ +set (CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) +set (CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) diff --git a/ev3dev-buster/toolchain.cmake.armel b/ev3dev-buster/toolchain.cmake.armel new file mode 100644 index 0000000..1e01821 --- /dev/null +++ b/ev3dev-buster/toolchain.cmake.armel @@ -0,0 +1,3 @@ +set (CMAKE_C_COMPILER /opt/arm-ev3-linux-gnueabi/bin/arm-linux-gnueabi-gcc) +set (CMAKE_CXX_COMPILER /opt/arm-ev3-linux-gnueabi/bin/arm-linux-gnueabi-g++) +set (CMAKE_SYSROOT /) diff --git a/ev3dev-buster/toolchain.cmake.armhf b/ev3dev-buster/toolchain.cmake.armhf new file mode 100644 index 0000000..92a3528 --- /dev/null +++ b/ev3dev-buster/toolchain.cmake.armhf @@ -0,0 +1,4 @@ +set (CMAKE_C_COMPILER /opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc) +set (CMAKE_CXX_COMPILER /opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++) + +set (CMAKE_SYSROOT /)