diff --git a/rpm/qm.spec b/rpm/qm.spec index 38a183f0..9cd3cc83 100644 --- a/rpm/qm.spec +++ b/rpm/qm.spec @@ -223,6 +223,9 @@ install -d %{buildroot}%{_sysconfdir}/qm/containers/containers.conf.d # START - qm dropin sub-package - mount kvm # ######################################################## %if %{enable_qm_mount_bind_kvm} + # first step - add drop-in file in /etc/containers/containers.d.conf/qm_dropin_mount_bind_snd.conf + # to QM container mount bind /dev/snd + install -m 644 %{_builddir}/qm-%{version}/subsystems/kvm/kvm.container %{buildroot}%{rootfs_qm}%{_sysconfdir}/containers/systemd/kvm.container # first step - add drop-in file in /etc/containers/containers.d.conf/qm_dropin_mount_bind_kvm.conf # to QM container mount bind /dev/kvm install -m 644 %{_builddir}/qm-%{version}/etc/qm/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf %{buildroot}%{_sysconfdir}/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf @@ -500,6 +503,7 @@ additional drop-in configurations. %files -n qm_mount_bind_kvm %{_sysconfdir}/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf %{_sysconfdir}/qm/containers/containers.conf.d/qm_dropin_mount_bind_kvm.conf +%{rootfs_qm}%{_sysconfdir}/containers/systemd/kvm.container %endif ####################################### diff --git a/subsystems/kvm/ContainerFile b/subsystems/kvm/ContainerFile new file mode 100644 index 00000000..83ec0b04 --- /dev/null +++ b/subsystems/kvm/ContainerFile @@ -0,0 +1,32 @@ +# ContainerFile used to create the image available at quay.io/qm-images/kvm:latest +# +# How to build +# ================== +# podman login quay.io +# podman build -t quay.io/qm-images/kvm:latest -f ContainerFile +# podman push quay.io/qm-images/kvm:latest +FROM fedora:latest + +ENV PASSWORD_FEDORA_USER=fedora + +RUN dnf -y install virt-install \ + libvirt-daemon \ + libvirt-daemon-qemu \ + libvirt-daemon-kvm \ + libvirt-daemon-config-network \ + guestfs-tools \ + wget \ + vim -y \ + && dnf clean all && rm -rf /var/cache/dnf + +RUN wget -O /var/lib/libvirt/images/Fedora-Cloud-Base-Generic.qcow2 https://cofractal-ewr.mm.fcix.net/fedora/linux/releases/41/Cloud/x86_64/images/Fedora-Cloud-Base-Generic-41-1.4.x86_64.qcow2 + +# Set fedora user pass as fedora +RUN export LIBGUESTFS_BACKEND=direct && \ + virt-customize -a /var/lib/libvirt/images/Fedora-Cloud-Base-Generic.qcow2 --password fedora:password:$PASSWORD_FEDORA_USER + +# Permission to qemu user/group +RUN chown qemu:qemu /var/lib/libvirt/images/Fedora-Cloud-Base-Generic.qcow2 + +# Set systemd as the init system for the container +ENTRYPOINT ["/usr/sbin/init"] diff --git a/subsystems/kvm/kvm.container b/subsystems/kvm/kvm.container new file mode 100644 index 00000000..97c06e85 --- /dev/null +++ b/subsystems/kvm/kvm.container @@ -0,0 +1,9 @@ +[Unit] +Description=kvm Container +After=network.target + +[Container] +Image=quay.io/qm-images/kvm:latest + +[Install] +WantedBy=multi-user.target