Building initrd images from rpms - DevConf.CZ 2022
Speaker: Zbigniew Jędrzejewski-Szmek
We currently use dracut to build initrd images. Dracut is: a mechanism to specify what files should be included in the initrd image, a mechanism to build the cpio archive, but also a system in the initrd that provides an execution queue in the initrd that works in parallel to systemd. It turns out we can build initrd images in a much simpler way: just build an cpio archive directly from rpms, and let systemd manage all jobs required to boot the machine.
Why a new way to build initrd images? Dracut is a very very complex mechanism that was built for challenges of ten years ago. We already try to split and minimize rpms to make containers smaller. We can immediately reuse this work for initrd images, instead of building a parallel system to specify which files should be included in the initrd. Systemd provides a very well tested execution queue. We don't need the parallel runqueue that was created before systemd existed. It turns out that we can build a working system already with minimal effort. Figuring out all the corner cases will require work, either to fix bugs or to reduce dependencies, but this work will be immediately useful e.g. for containers or the emergency target in the host system or minimal installations.
This project was presented in very early form during Nest 2021. We have various work items planned for Autumn 2021, and during DevConf we hope to present a generally-usable prototype.
Sched: https://sched.co/siJi
Видео Building initrd images from rpms - DevConf.CZ 2022 канала DevConf
We currently use dracut to build initrd images. Dracut is: a mechanism to specify what files should be included in the initrd image, a mechanism to build the cpio archive, but also a system in the initrd that provides an execution queue in the initrd that works in parallel to systemd. It turns out we can build initrd images in a much simpler way: just build an cpio archive directly from rpms, and let systemd manage all jobs required to boot the machine.
Why a new way to build initrd images? Dracut is a very very complex mechanism that was built for challenges of ten years ago. We already try to split and minimize rpms to make containers smaller. We can immediately reuse this work for initrd images, instead of building a parallel system to specify which files should be included in the initrd. Systemd provides a very well tested execution queue. We don't need the parallel runqueue that was created before systemd existed. It turns out that we can build a working system already with minimal effort. Figuring out all the corner cases will require work, either to fix bugs or to reduce dependencies, but this work will be immediately useful e.g. for containers or the emergency target in the host system or minimal installations.
This project was presented in very early form during Nest 2021. We have various work items planned for Autumn 2021, and during DevConf we hope to present a generally-usable prototype.
Sched: https://sched.co/siJi
Видео Building initrd images from rpms - DevConf.CZ 2022 канала DevConf
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Modern network configuration on Linux - DevConf.CZ 2020Leapp: Red Hat tool to upgrade from RHEL7 to RHEL8 - DevConf.CZ 2021Cloning VMs: sheep and tricks - DevConf.CZ 2020Anaconda is getting a new suit - DevConf.cz Mini | June 2022Kogito - Building Intelligent Serverless Apps - DevConf.CZ 2020Keeping the Lights on for Fedora Project Infra - DevConf.CZ 2022Brave new world of unified cgroup hierarchy - DevConf.CZ 2020Advanced Ignition: Live PXE and Chaining Configs - DevConf.CZ 2020virtio-mem goes to Windows - DevConf.CZ 2021Orchestrating and monitoring OS auto-updates - DevConf.CZ 2020Life Amongst the Authentica-ceans 🦀 - DevConf.CZ 2021Real-time Linux: what is next? - DevConf.CZ 2021Temporal - fault tolerant orchestration platformApplication Whitelisting in Linux environment - DevConf.CZ 2020Kata containers and qemu-mini in Fedora - DevConf.CZ 2020DevConf.US 2022: Main Stage - Metcalf Large (Day 1)The ABC of Container-Image Management - DevConf.CZ 2021Best Practice Tips for Efficient Software Development - DevConf.CZ 2022Enrich your mesh with webassemblyVM Infrastructure as Code with KubeVirt & ArgoCD - DevConf.CZ 2022Lightning Talks