FROM openeuler/openeuler:24.03-lts AS build
ARG VERSION=26.1.0
ARG TARGETPLATFORM
RUN yum update -y &&\
yum install -y wget unzip &&\
yum clean all &&\
rm -rf /var/cache/yum &&\
rm -rf /tmp/* &&\
ARCH=$(case "${TARGETPLATFORM}" in \
"linux/amd64") echo "x86_64" ;; \
"linux/arm64") echo "aarch64" ;; \
*) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" && exit 1 ;; \
esac) &&\
wget https://gitcode.com/ascend/mind-cluster/releases/download/v${VERSION}/Ascend-mindxdl-device-plugin_${VERSION}_linux-${ARCH}.zip &&\
unzip Ascend-mindxdl-device-plugin_${VERSION}_linux-${ARCH}.zip -d /build
FROM openeuler/openeuler:24.03-lts
RUN yum install -y shadow &&\
yum clean all &&\
rm -rf /var/cache/yum &&\
groupadd -g 1000 HwHiAiUser && useradd -u 1000 -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser &&\
groupadd -g 1101 HwDmUser && useradd -u 1101 -g HwDmUser -d /home/HwDmUser -m HwDmUser &&\
groupadd -g 1102 HwBaseUser && useradd -u 1102 -g HwBaseUser -d /home/HwBaseUser -m HwBaseUser &&\
usermod -a -G HwBaseUser HwHiAiUser &&\
usermod -a -G HwDmUser HwHiAiUser &&\
usermod -a -G HwBaseUser HwDmUser &&\
usermod -a -G HwHiAiUser HwDmUser &&\
usermod root -s /usr/sbin/nologin
ENV LD_LIBRARY_PATH /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver:/usr/local/Ascend/driver/lib64/common
COPY --from=build /build/device-plugin /usr/local/bin/device-plugin
COPY --from=build /build/run_for_310P_1usoc.sh /
COPY --from=build /build/faultCode.json /build/faultCustomization.json /build/SwitchFaultCode.json /build/deviceNameCustomization.json /build/agreement.txt /build/hangDetectionConfig.json /usr/local/
RUN chmod 550 /usr/local/bin/device-plugin &&\
chmod 550 /usr/local/bin &&\
chmod 440 /usr/local/faultCode.json &&\
chmod 440 /usr/local/faultCustomization.json &&\
chmod 440 /usr/local/SwitchFaultCode.json &&\
chmod 440 /usr/local/deviceNameCustomization.json &&\
chmod 440 /usr/local/hangDetectionConfig.json &&\
chmod 440 /usr/local/agreement.txt &&\
chmod 750 /home/HwHiAiUser &&\
chmod 500 /run_for_310P_1usoc.sh &&\
echo 'umask 027' >> /etc/profile &&\
echo 'source /etc/profile' >> ~/.bashrc
ENTRYPOINT ["/bin/bash", "-c", "cat /usr/local/agreement.txt; exec /bin/bash"]