admin管理员组

文章数量:1029909

Docker Image for Xilinx Tools

1. 背景

很多客户希望能够在Linux服务上部署开发环境(Vitis/Vivado/Petalinux),由于客户服务器管理比较严格,使用docker是一个不错的选择。

2. 方法

2.1 安装docker

2.2 制作docker镜像

2.2.1 Dockerfile

代码语言:C复制
##
## install Vitis dependencies
##
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
    apt-get upgrade -y -qq && \
    apt-get install -y -qq --no-install-recommends \
        tofrodos \
        iproute2 \
        gawk \
        net-tools \
        libtinfo5 \
        libncurses5-dev \
        libncursesw5-dev \
        libssl-dev \
        flex \
        bison \
        libselinux1 \
        gnupg \
        wget \
        diffstat \
        chrpath \
        socat \
        x11-utils \
        dbus-x11 \
        xterm \
        autoconf \
        libtool \
        tar \
        unzip \
        texinfo \
        zlib1g-dev \
        g++-multilib \
        gcc-multilib \
        build-essential \
        libc6-dev-i386 \
        screen \
        pax \
        gzip \
        python2.7-dev \
        python2.7 \
        python3-dev \
        python3 \
        apt-utils \
        binutils \
        cpio \
        expect \
        file \
        fonts-noto-cjk \
        git \
        gosu \
        lib32z1-dev \
        libcanberra-gtk-module \
        libcanberra-gtk3-module \
        libglib2.0-dev \
        libgtk2.0-0 \
        libjpeg62-dev \
        libsdl1.2-dev \
        libstdc++6 \
        libtext-csv-perl \
        libtool-bin \
        libxi6 \
        libxrender1 \
        libxtst6 \
        locales \
        lsb-core \
        lsb-release \
        ncurses-dev \
        ocl-icd-libopencl1 \
        ocl-icd-opencl-dev \
        opencl-headers \
        pkg-config \
        software-properties-common \
        sudo \
        u-boot-tools \
        vim \
        xvfb \
        parted \
        udev \
        graphviz && \
    \
    add-apt-repository ppa:xorg-edgers/ppa && \
    apt-get update && \
    apt-get install -y -qq \
        libgl1-mesa-glx \
        libgl1-mesa-dri \
        libgl1-mesa-dev && \
    add-apt-repository --remove ppa:xorg-edgers/ppa && \
    \
    apt-get clean && \
    apt-get autoclean && \
    ln -fs /bin/bash /bin/sh && \
    \
    rm -rf /tmp/* && \
    rm -rf /var/tmp/* && \
    rm -rf /var/cache/* && \
    rm -rf /var/lib/apt/lists/*

##
## locale settings
##
RUN locale-gen en_US.UTF-8 && \
    update-locale
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8

##
## vim settings
##
RUN cd ~ && \
    git clone --depth 1 .git && \
    mkdir -p ~/.vim/colors && \
    mv ./molokai/colors/molokai.vim ~/.vim/colors && \
    rm -rf ./molokai && \
    git clone --depth 1 .git && \
    mv ./VimSettings/.vimrc ~ && \
    rm -rf ./VimSettings && \
    sed -i -e "/^colorscheme.*/i set t_Co=256" .vimrc && \
    cp -r ~/.vim /etc/skel && \
    cp ~/.vimrc /etc/skel

##
## Xilinx Vitis settings
##
COPY files/init_vitis.sh /usr/local/bin/init_vitis.sh
RUN chmod +x /usr/local/bin/init_vitis.sh && \
    echo '. /usr/local/bin/init_vitis.sh' >> /root/.bashrc && \
    echo '. /usr/local/bin/init_vitis.sh' >> /etc/skel/.bashrc

##
## make installation directory
##
RUN mkdir -p /opt/Xilinx


CMD ["/bin/bash", "-l"]

2.2.2 init_vitis.sh

代码语言:C复制
if [ -f /opt/Xilinx/Vitis/2021.2/settings64.sh ]; then
    . /opt/Xilinx/Vitis/2021.2/settings64.sh
fi

2.2.3 build docker iamge

代码语言:C复制
docker build -t tag-xilinx-tool .

2.3 运行docker 镜像

代码语言:C复制
xhost +local:root
docker run \
    --interactive \
    --tty \
    --net host \
    --rm \
    --name vitis \
    --env DISPLAY=${DISPLAY} \
    --env QT_X11_NO_MITSHM=1 \
    --env NO_AT_BRIDGE=1 \
    --env LIBGL_ALWAYS_INDIRECT=1 \
    --env HOST_USER=${USER} \
    --env HOST_UID=$(id -u ${USER}) \
    --env HOST_GROUP=${USER} \
    --env HOST_GID=$(id -g ${USER}) \
    --env XILINXD_LICENSE_FILE=/data/Xilinx.lic \
    --volume /tmp/.X11-unix:/tmp/.X11-unix:rw \
    --volume /proj/yuyl/workspace/docker/mnt:/mnt \
	tag-xilinx-tool

2.4 安装vitis

代码语言:C复制
./xsetup \
    --agree 3rdPartyEULA,XilinxEULA \
    --batch Install \
    --config install_config.txt

Docker Image for Xilinx Tools

1. 背景

很多客户希望能够在Linux服务上部署开发环境(Vitis/Vivado/Petalinux),由于客户服务器管理比较严格,使用docker是一个不错的选择。

2. 方法

2.1 安装docker

2.2 制作docker镜像

2.2.1 Dockerfile

代码语言:C复制
##
## install Vitis dependencies
##
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
    apt-get upgrade -y -qq && \
    apt-get install -y -qq --no-install-recommends \
        tofrodos \
        iproute2 \
        gawk \
        net-tools \
        libtinfo5 \
        libncurses5-dev \
        libncursesw5-dev \
        libssl-dev \
        flex \
        bison \
        libselinux1 \
        gnupg \
        wget \
        diffstat \
        chrpath \
        socat \
        x11-utils \
        dbus-x11 \
        xterm \
        autoconf \
        libtool \
        tar \
        unzip \
        texinfo \
        zlib1g-dev \
        g++-multilib \
        gcc-multilib \
        build-essential \
        libc6-dev-i386 \
        screen \
        pax \
        gzip \
        python2.7-dev \
        python2.7 \
        python3-dev \
        python3 \
        apt-utils \
        binutils \
        cpio \
        expect \
        file \
        fonts-noto-cjk \
        git \
        gosu \
        lib32z1-dev \
        libcanberra-gtk-module \
        libcanberra-gtk3-module \
        libglib2.0-dev \
        libgtk2.0-0 \
        libjpeg62-dev \
        libsdl1.2-dev \
        libstdc++6 \
        libtext-csv-perl \
        libtool-bin \
        libxi6 \
        libxrender1 \
        libxtst6 \
        locales \
        lsb-core \
        lsb-release \
        ncurses-dev \
        ocl-icd-libopencl1 \
        ocl-icd-opencl-dev \
        opencl-headers \
        pkg-config \
        software-properties-common \
        sudo \
        u-boot-tools \
        vim \
        xvfb \
        parted \
        udev \
        graphviz && \
    \
    add-apt-repository ppa:xorg-edgers/ppa && \
    apt-get update && \
    apt-get install -y -qq \
        libgl1-mesa-glx \
        libgl1-mesa-dri \
        libgl1-mesa-dev && \
    add-apt-repository --remove ppa:xorg-edgers/ppa && \
    \
    apt-get clean && \
    apt-get autoclean && \
    ln -fs /bin/bash /bin/sh && \
    \
    rm -rf /tmp/* && \
    rm -rf /var/tmp/* && \
    rm -rf /var/cache/* && \
    rm -rf /var/lib/apt/lists/*

##
## locale settings
##
RUN locale-gen en_US.UTF-8 && \
    update-locale
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8

##
## vim settings
##
RUN cd ~ && \
    git clone --depth 1 .git && \
    mkdir -p ~/.vim/colors && \
    mv ./molokai/colors/molokai.vim ~/.vim/colors && \
    rm -rf ./molokai && \
    git clone --depth 1 .git && \
    mv ./VimSettings/.vimrc ~ && \
    rm -rf ./VimSettings && \
    sed -i -e "/^colorscheme.*/i set t_Co=256" .vimrc && \
    cp -r ~/.vim /etc/skel && \
    cp ~/.vimrc /etc/skel

##
## Xilinx Vitis settings
##
COPY files/init_vitis.sh /usr/local/bin/init_vitis.sh
RUN chmod +x /usr/local/bin/init_vitis.sh && \
    echo '. /usr/local/bin/init_vitis.sh' >> /root/.bashrc && \
    echo '. /usr/local/bin/init_vitis.sh' >> /etc/skel/.bashrc

##
## make installation directory
##
RUN mkdir -p /opt/Xilinx


CMD ["/bin/bash", "-l"]

2.2.2 init_vitis.sh

代码语言:C复制
if [ -f /opt/Xilinx/Vitis/2021.2/settings64.sh ]; then
    . /opt/Xilinx/Vitis/2021.2/settings64.sh
fi

2.2.3 build docker iamge

代码语言:C复制
docker build -t tag-xilinx-tool .

2.3 运行docker 镜像

代码语言:C复制
xhost +local:root
docker run \
    --interactive \
    --tty \
    --net host \
    --rm \
    --name vitis \
    --env DISPLAY=${DISPLAY} \
    --env QT_X11_NO_MITSHM=1 \
    --env NO_AT_BRIDGE=1 \
    --env LIBGL_ALWAYS_INDIRECT=1 \
    --env HOST_USER=${USER} \
    --env HOST_UID=$(id -u ${USER}) \
    --env HOST_GROUP=${USER} \
    --env HOST_GID=$(id -g ${USER}) \
    --env XILINXD_LICENSE_FILE=/data/Xilinx.lic \
    --volume /tmp/.X11-unix:/tmp/.X11-unix:rw \
    --volume /proj/yuyl/workspace/docker/mnt:/mnt \
	tag-xilinx-tool

2.4 安装vitis

代码语言:C复制
./xsetup \
    --agree 3rdPartyEULA,XilinxEULA \
    --batch Install \
    --config install_config.txt

本文标签: Docker Image for Xilinx Tools