I am interested in the process of creating a live bootable Fedora image from scratch myself.
So far I have been able to find this: Creating and using a live installation image :: Fedora Docs
Or this: livemedia-creator — Lorax 38.0 documentation
These tools are great, but I would like to understand how they work step by step.
Ideally I want to replicate what they do by hand in a terminal.
Before I attempt to read the code and figure it out this way.
Is there any documentation that already describes this that I could read?
You can find most of the commands that are executed in the building of a live image here:
You can see how that image is “unpacked” and mounted at boot time here:
The entire process is quite complex. Writing out all the details of how it all works would yield a small book of documentation.
P.S., the following line from the dmsquash-live-root.sh script illustrates one of the core pieces of how the live images work.
echo 0 $thin_data_sz thin-pool "$THIN_META_LOOPDEV" "$THIN_DATA_LOOPDEV" 1024 1024 | dmsetup create live-overlay-pool
A decent explanation of dmsetup can be found here: Right To Your Own Devices LG #114