From 25fad476b41fc17f624e9bf2ecd4291308d0bdc6 Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Wed, 10 May 2023 08:35:56 +0000 Subject: [PATCH] Image generator for CentOS 6 --- tools/qemu-centos-img/6/Dockerfile | 46 +++++++++++++++++++++++++++++ tools/qemu-centos-img/6/generate.sh | 9 ++++++ 2 files changed, 55 insertions(+) create mode 100644 tools/qemu-centos-img/6/Dockerfile create mode 100755 tools/qemu-centos-img/6/generate.sh diff --git a/tools/qemu-centos-img/6/Dockerfile b/tools/qemu-centos-img/6/Dockerfile new file mode 100644 index 0000000..b653d59 --- /dev/null +++ b/tools/qemu-centos-img/6/Dockerfile @@ -0,0 +1,46 @@ +FROM centos:6 + +RUN rm /etc/yum.repos.d/* +RUN echo -e '[6.10-os]\nbaseurl=https://vault.centos.org/6.10/os/$basearch/\ngpgcheck=0' >> /etc/yum.repos.d/oot.repo +RUN echo -e '[6.10-updates]\nbaseurl=https://vault.centos.org/6.10/updates/$basearch/\ngpgcheck=0' >> /etc/yum.repos.d/oot.repo + +RUN yum -y update +RUN yum -y groupinstall "Development Tools" +RUN yum -y install qemu-img e2fsprogs + +ENV TMPDIR=/tmp/centos + +RUN yum --installroot=$TMPDIR \ + --releasever=6 \ + -y groupinstall Base + +RUN rm $TMPDIR/etc/yum.repos.d/* +RUN cp /etc/yum.repos.d/* $TMPDIR/etc/yum.repos.d/ + +RUN yum --installroot=$TMPDIR \ + --releasever=6 \ + -y install openssh-server openssh-clients dhclient + +RUN chroot $TMPDIR /bin/sh -c 'useradd -m user' +RUN sed -i 's/root:\*:/root::/' $TMPDIR/etc/shadow +RUN sed -i 's/user:!!:/user::/' $TMPDIR/etc/shadow +RUN sed -i '/PermitEmptyPasswords/d' $TMPDIR/etc/ssh/sshd_config +RUN echo PermitEmptyPasswords yes >> $TMPDIR/etc/ssh/sshd_config +RUN sed -i '/PermitRootLogin/d' $TMPDIR/etc/ssh/sshd_config +RUN echo PermitRootLogin yes >> $TMPDIR/etc/ssh/sshd_config + +# network workaround +RUN chmod +x $TMPDIR/etc/rc.local +RUN echo 'dhclient' >> $TMPDIR/etc/rc.local + +ENV IMAGEDIR=/tmp/image +ENV IMAGE=/shared/out_of_tree_centos_6.img + +RUN mkdir $IMAGEDIR + +# Must be executed with --privileged because of /dev/loop +CMD qemu-img create $IMAGE 4G && \ + mkfs.ext4 -F $IMAGE && \ + mount -o loop $IMAGE $IMAGEDIR && \ + cp -a $TMPDIR/* $IMAGEDIR/ && \ + umount $IMAGEDIR diff --git a/tools/qemu-centos-img/6/generate.sh b/tools/qemu-centos-img/6/generate.sh new file mode 100755 index 0000000..3aff6dc --- /dev/null +++ b/tools/qemu-centos-img/6/generate.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +set -eux + +cd "$(dirname "$0")" + +sudo docker build -t gen-centos6-image . +sudo docker run --privileged -v $(pwd):/shared -t gen-centos6-image +tar -Szcf out_of_tree_centos_6.img.tar.gz out_of_tree_centos_6.img