Dockerfile 1.98 KB
Newer Older
z4yx's avatar
z4yx committed
1
2
3
4
5
6
FROM ubuntu:16.04

MAINTAINER z4yx <z4yx@users.noreply.github.com>

# build with docker build --build-arg PETA_VERSION=2018.1 --build-arg PETA_RUN_FILE=petalinux-v2018.1-final-installer.run -t petalinux:2018.1 .

Sam's avatar
Sam committed
7
8
ARG UBUNTU_MIRROR=mirror.tuna.tsinghua.edu.cn

z4yx's avatar
z4yx committed
9
#install dependences:
Sam's avatar
Sam committed
10
RUN sed -i.bak s/archive.ubuntu.com/${UBUNTU_MIRROR}/g /etc/apt/sources.list && \
11
  dpkg --add-architecture i386 && apt-get update &&  DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
z4yx's avatar
z4yx committed
12
13
14
15
16
17
18
19
20
  build-essential \
  sudo \
  tofrodos \
  iproute2 \
  gawk \
  net-tools \
  expect \
  libncurses5-dev \
  tftpd \
21
  update-inetd \
z4yx's avatar
z4yx committed
22
23
24
25
26
27
28
29
30
31
32
33
  libssl-dev \
  flex \
  bison \
  libselinux1 \
  gnupg \
  wget \
  socat \
  gcc-multilib \
  libsdl1.2-dev \
  libglib2.0-dev \
  lib32z1-dev \
  zlib1g:i386 \
Yuxiang Zhang's avatar
Yuxiang Zhang committed
34
  libgtk2.0-0 \
z4yx's avatar
z4yx committed
35
36
37
38
39
40
41
42
43
44
45
46
47
  screen \
  pax \
  diffstat \
  xvfb \
  xterm \
  texinfo \
  gzip \
  unzip \
  cpio \
  chrpath \
  autoconf \
  lsb-release \
  libtool \
Yuxiang Zhang's avatar
Yuxiang Zhang committed
48
  libtool-bin \
z4yx's avatar
z4yx committed
49
  locales \
50
  kmod \
51
52
53
54
55
56
  git \
  rsync \
  bc \
  u-boot-tools \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*
z4yx's avatar
z4yx committed
57
58
59
60
61
62
63

ARG PETA_VERSION
ARG PETA_RUN_FILE

RUN locale-gen en_US.UTF-8 && update-locale

#make a Vivado user
z4yx's avatar
bug fix    
z4yx committed
64
65
66
RUN adduser --disabled-password --gecos '' vivado && \
  usermod -aG sudo vivado && \
  echo "vivado ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
z4yx's avatar
z4yx committed
67
68
69
70
71

COPY accept-eula.sh ${PETA_RUN_FILE} /

# run the install
RUN chmod a+x /${PETA_RUN_FILE} && \
72
  chmod a+rx /accept-eula.sh && \
z4yx's avatar
z4yx committed
73
  mkdir -p /opt/Xilinx && \
z4yx's avatar
bug fix    
z4yx committed
74
75
  chmod 777 /tmp /opt/Xilinx && \
  cd /tmp && \
z4yx's avatar
z4yx committed
76
77
78
  sudo -u vivado /accept-eula.sh /${PETA_RUN_FILE} /opt/Xilinx/petalinux && \
  rm -f /${PETA_RUN_FILE} /accept-eula.sh 

79
80
81
82
# make /bin/sh symlink to bash instead of dash:
RUN echo "dash dash/sh boolean false" | debconf-set-selections
RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash

z4yx's avatar
z4yx committed
83
84
USER vivado
ENV HOME /home/vivado
Yuxiang Zhang's avatar
Yuxiang Zhang committed
85
86
87
ENV LANG en_US.UTF-8
RUN mkdir /home/vivado/project
WORKDIR /home/vivado/project
z4yx's avatar
z4yx committed
88
89
90
91

#add vivado tools to path
RUN echo "source /opt/Xilinx/petalinux/settings.sh" >> /home/vivado/.bashrc