Files
image-builder/Dockerfile

40 lines
1.4 KiB
Docker

# Build img2simg
FROM docker.io/openeuler/openeuler:24.03-lts
RUN sed -i 's/metalink=/# metalink=/g' /etc/yum.repos.d/openEuler.repo && \
sed -i 's/repo.openeuler.org/mirror.isrc.ac.cn\/openeuler/g' /etc/yum.repos.d/openEuler.repo
RUN yum install -y \
gcc g++ \
git \
zlib-devel
RUN git clone -b platform-tools-34.0.5 https://mirrors.ustc.edu.cn/aosp/platform/system/core.git /root/core
RUN git clone -b platform-tools-34.0.5 https://mirrors.ustc.edu.cn/aosp/platform/system/libbase.git /root/libbase
RUN cd /root && gcc -I libbase/include -I core/libsparse/include -lstdc++ libbase/stringprintf.cpp libbase/mapped_file.cpp -lz core/libsparse/backed_block.cpp core/libsparse/output_file.cpp core/libsparse/sparse.cpp core/libsparse/sparse_crc32.cpp core/libsparse/sparse_err.cpp core/libsparse/sparse_read.cpp core/libsparse/img2simg.cpp -o img2simg
# Build final image
FROM docker.io/openeuler/openeuler:24.03-lts
RUN sed -i 's/metalink=/# metalink=/g' /etc/yum.repos.d/openEuler.repo && \
sed -i 's/repo.openeuler.org/mirror.isrc.ac.cn\/openeuler/g' /etc/yum.repos.d/openEuler.repo
RUN yum install -y \
bzip2 \
dosfstools \
findutils \
gdisk \
gzip \
mtools \
rsync \
tar \
util-linux \
xz \
zstd \
zlib \
policycoreutils \
&& yum clean all
COPY --from=0 /root/img2simg /usr/bin/img2simg