Skip to content

Instantly share code, notes, and snippets.

@pkorpine
Created September 7, 2018 12:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pkorpine/0f1a7160dcda25ff687296f386ed4362 to your computer and use it in GitHub Desktop.
Save pkorpine/0f1a7160dcda25ff687296f386ed4362 to your computer and use it in GitHub Desktop.
Dockerfile for PetaLinux 2016.1 environment. The actual binaries are given in a volume.
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y \
build-essential \
tofrodos \
iproute \
tftpd-hpa \
gawk \
gcc \
make \
net-tools \
libncurses5-dev \
zlib1g-dev \
libssl-dev \
flex \
bison \
lib32z1 \
lib32ncurses5 \
lib32bz2-1.0 \
lib32stdc++6 \
libselinux1 \
rsync \
git \
bc \
unzip
VOLUME ["/opt"]
# Build arguments
ARG USER=jenkins
ARG UID=111
ARG GID=113
ARG PETALINUX=/opt/Xilinx/PetaLinux/petalinux-v2016.1-final
ARG PETALINUX_VER=2016.1
# Add User
RUN groupadd -g $GID $USER
RUN useradd -u $UID -g $GID -m -s /bin/bash $USER
# Use bash instead of dash
RUN ln -sf /bin/bash /bin/sh
# Setup environment variables (obtained by calling PetaLinux settings.sh)
ENV PATH=$PETALINUX/tools/linux-i386/petalinux/bin:$PETALINUX/tools/common/petalinux/bin:$PETALINUX/tools/linux-i386/microblaze-xilinx-elf/bin:$PETALINUX/tools/linux-i386/microblazeel-xilinx-linux-gnu/bin:$PETALINUX/tools/linux-i386/gcc-arm-none-eabi/bin:$PETALINUX/tools/linux-i386/gcc-arm-linux-gnueabi/bin:$PETALINUX/tools/linux-i386/aarch64-none-elf/bin:$PETALINUX/tools/linux-i386/aarch64-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV PETALINUX=$PETALINUX
ENV PETALINUX_VER=$PETALINUX_VER
ENV SETTINGS_FILE=settings.sh
ENV XIL_SCRIPT_LOC=$PETALINUX
ENV TFTPDIR_DISABLE=TRUE
USER $UID:$GID
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment