-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathDockerfile.rpi
52 lines (45 loc) · 1.24 KB
/
Dockerfile.rpi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
FROM scratch
ADD rootfs.tar.xz /
COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/
COPY 01_buildconfig /etc/apt/apt.conf.d/
COPY entry.sh /usr/bin/entry.sh
RUN mkdir -p /usr/share/man/man1
RUN ln -s resin-xbuild /usr/bin/cross-build-start \
&& ln -s resin-xbuild /usr/bin/cross-build-end
ENV LC_ALL C.UTF-8
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV DEBIAN_FRONTEND noninteractive
# For backward compatibility, udev is enabled by default
ENV UDEV off
LABEL io.balena.architecture="rpi" \
io.balena.qemu.version="$RESIN_QEMU_VERSION" \
io.balena.device-type="raspberrypi"
ENV QEMU_CPU arm1176
RUN echo '#!/bin/sh\n\
set -e\n\
set -u\n\
export DEBIAN_FRONTEND=noninteractive\n\
n=0\n\
max=2\n\
until [ $n -gt $max ]; do\n\
set +e\n\
(\n\
apt-get update -qq &&\n\
apt-get install -y --no-install-recommends "$@"\n\
)\n\
CODE=$?\n\
set -e\n\
if [ $CODE -eq 0 ]; then\n\
break\n\
fi\n\
if [ $n -eq $max ]; then\n\
exit $CODE\n\
fi\n\
echo "apt failed, retrying"\n\
n=$(($n + 1))\n\
done\n\
rm -r /var/lib/apt/lists/*' > /usr/sbin/install_packages \
&& chmod 0755 "/usr/sbin/install_packages"
RUN install_packages libraspberrypi-bin udev
RUN update-ca-certificates -f
ENTRYPOINT ["/usr/bin/entry.sh"]