Building a Fedora
There are many variants of Fedora available for general use, you can use one of the main editions such as Workstation or KDE or perhaps you want to drive one of the Atomic Desktops. There is even more choice with Fedora Spins, or even Fedora Labs.
However, sometimes you just want to build your own Fedora. Maybe you want to try out a new combination of packages, or perhaps you want to fiddle with your perfect partition layout.
This page is about how to (re)build a Fedora on your own hardware. It also goes into how the variants of Fedora are built so you know how to build your own.
Image
In this page you'll see references to image quite a lot. For this page that doesn't mean a nice picture, though the terms are related. An operating system image is an artifact produced by combining a bunch of content into a thing that can be distributed. For example: an ISO, a QCOW2, a raw disk image, an ostree commit, or even a tarball of the root filesystem tree.
How are Fedora's being built?
There are a bunch of tools involved with building Fedora. For now we'll skip over all the orchestration involved and jump directly to those currently used:
- kiwi, used for most variants of Fedora.
- image-builder, used for some variants of Fedora.
You can also use:
- mkosi, currently not used but able to create Fedora images.
- lorax, used for some variants of Fedora.
What is a Fedora?
When using any of these tools you have a hard problem to solve. What actually is a Fedora? The configuration files for the build tool used by a variant are what defines that variant.
Let's build a Fedora
If you want to build one of Fedora's variants you should use the build tool used by that variant.