Ejemplo de Imagen de Bootc de Fedora IoT con Quay

Crear y Arrancar una Imagen de Fedora IoT Bootc

Este ejemplo funciona a través de creación y arranque de una imagen bootc de Fedora IoT utilizando Quay.io, así como proporcionar una actualización para un sistema de arranque para Fedora IoT.

Este ejemplo se basa en la documentación de bootc de Fedora acerca de construir desde cero imágenes; referencia a los docs últimos aquí.
Este ejemplo asume que el usuario tiene una cuenta Quay con la habilidad de crear repositorios personales.

Para comenzar, cree un Containerfile.custom con el contenido siguiente:

FROM quay.io/fedora-testing/fedora-bootc:rawhide-standard como constructor
RUN /usr/libexec/bootc-base-imagectl build-rootfs --manifest=fedora-iot /target-rootfs

FROM scratch
COPY --from=builder /target-rootfs/ /
LABEL containers.bootc 1
ENV container=oci
STOPSIGNAL SIGRTMIN+3
CMD ["/sbin/init"]

Ahora está preparado para construir una imagen bootc de Fedora IoT utilizando el archivo Containerfile personal hecho anteriormente. Utilice esta instrucción:

podman build --cap-add=all --security-opt=label=type:container_runtime_t \
--device /dev/fuse -t localhost/fedora-iot -f Containerfile.custom .

Después, etiquete su imagen bootc de Fedora IoT:

etiquetado podman de localhost/fedora-iot:última quay.io/[nombre repo quay]_fedora-iot

Antes de proporcionar a Quay.io, puede necesitar acceder:

podman login quay.io

Sube tu imagen bootc nueva de Fedora IoT a Quay.io usando el siguiente comando. Ten en cuenta que puede que necesites volver a iniciar sesión:

podman push quay.io/[nombre repositorio quay]:fedora-iot
El siguiente paso utiliza podman-bootc. Si necesita instalar podman-bootc, por favor siga las instrucciones en el repositorio podman-bootc

Ahora, arranque su imagen Fedora IoT bootc. Abra una ventana de terminal nueva y ejecute:

podman-bootc run --filesystem=ext4 quay.io/[quay repository name]:fedora-iot

podman-bootc descargará su imagen y la arrancará dentro de una máquina virtual en la ventana de terminal, lo que le permitirá probar todo lo que ofrecen las imágenes bootc de Fedora IoT.

Cómo enviar una actualización a su sistema de arranque bootc Fedora IoT

Tras completar el tutorial anterior, ¡ya tienes un sistema bootc de Fedora IoT funcional! Pero ¿qué pasa si necesitas hacer algún cambio? Actualizar un sistema bootc es increíblemente sencillo: solo sigue los pasos a continuación.

Este tutorial asume que acaba de completar el tutorial anterior y tiene acceso a un sistema arrancado con bootc de Fedora IoT.

Primero, navegue a su repositorio clonado de Imágenes Base de Bootc Fedora y cree un Containerfile llamado Containerfile.fix con sus cambios deseados.

Después, recompile su imagen localhost/fedora-iot utilizando el Containerfile nuevo:

podman build --cap-add=all --security-opt=label=type:container_runtime_t \
--device /dev/fuse -t localhost/fedora-iot -f Containerfile.fix .

Etiquete su imagen bootc actualizada de Fedora IoT:

etiquetado podman de localhost/fedora-iot:última quay.io/[nombre repo quay]_fedora-iot

Antes de proporcionar a Quay.io, puede necesitar acceder:

podman login quay.io

Sube tu imagen bootc actualizada de Fedora IoT a Quay.io, utilizando el siguiente comando:

podman push quay.io/[nombre repositorio quay]:fedora-iot

Tras realizar la instalación correctamente, vuelva a la máquina virtual que ejecuta la imagen bootc de Fedora IoT. Descargue y ponga en cola la imagen actualizada para el próximo reinicio:

bootc upgrade

Ejecute la siguiente instrucción para ver su imagen actualizada establecida para el siguiente rearranque:

bootc status

Reinicie su sistema bootc de Fedora IoT y utilice su imagen nueva actualizada:

reiniciar

Tras reiniciar, es posible que necesite volver a conectarse mediante SSH a su sistema bootc de Fedora IoT. Para ello, primero liste todas las máquinas virtuales podman-bootc:

podman-bootc list

Después encuentre el ID de su máquina deseada y ejecute lo siguiente:

podman-bootc ssh [ID]

Tras reconectar, ejecute la comprobación del estado de nuevo:

bootc status

Su imagen actualizada ahora mostraría como Booted, y la imagen anterior como Rollback. Ha actualizado correctamente su sistema bootc de Fedora IoT.