-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Composing tree with --unified-core flag adds additional folder #3270
Comments
In the first screenshot, the command which failed is A major difference between official FSB composes and your script is the use of |
Thank you so much. Concerning the screenshots, sorry, I did not attach the full Anaconda logs in the initial post, this includes the information from all tabs combined into one file: https://bugzilla-attachments.redhat.com/attachment.cgi?id=1840905 Both you and Dusty Mabe pointed me towards looking at --unified-core and, as it turns out, that is the culprit causing the appearance of the mysterious "loader" directory. Here are the contents of the "ostree-boot" directory when composing with --unified-core:
And here without it:
Turns out, --unified-core is the culprit. I was under the impression that --unified-core simply uses newer, but functionally compatible code for compose and should serve as a drop-in replacement for the old. Is my understanding incorrect and there are some more significant differences between the two causing this? Also, where could the "loader" directory be coming from? |
I'm still not really sure why |
I decide to look into this a bit further and find out, whether the differences between a repo build using the old and new code path are limited to this one folder. That seems to be the case, oddly enough. I can't explain its origins, but this issue seems to be limited to this one "loader" folder, the rest of /usr/lib, /usr/bin, etc. appear identical between the two repos. Summary: Bug is caused when composing a repository using rpm-ostree with the "unified-core" flag. This causes the addition of a folder (/usr/lib/ostree-boot/loader) that should not be added. |
Hey, we're experiencing the same issue, any updates? |
As it stands, the best course of action is to compose the tree without the "--unified-core" flag applied. |
That's what we ended up doing. Everything is working nicely. |
running ps: my repo is online and I also get 'The command can someone please confirm that composing without
workaround: commenting |
Should be fixed by #3771 (shipped in e.g. https://bodhi.fedoraproject.org/updates/FEDORA-2022-bae08a2e98 ) |
@cgwalters thank you so much! on is there a way to remove the conflicting |
I am successfully working around this issue by using: https://coreos.github.io/rpm-ostree/compose-server/#granular-tree-compose-with-installpostprocesscommit Between |
Fedora fix is to just delete the 'loader' folder in postprocessing https://pagure.io/workstation-ostree-config/c/9dc9105ddbcfe18c83bf4b0c6a75a2d3e794b385 |
I have previously opened bug reports concerning this issue both at the Anaconda bugzilla and at the lorax repository. It seems however that with all the information I have been able to collect since first encountering this issue, that the issue is most likely related to rpm-ostree compose, rather than one of the other two projects.
Describe the bug
I am using a script (see below) to build a bootable .iso image based on a repo composed using the official fedora-silverblue.yaml files. This should yield an identical image to the official Fedora Silverblue 35 release. The resulting .iso image can indeed be booted.
However, during installation, Anaconda crashes displaying the error "The command ‘cp -r -r /mnt/sysroot/usr/lib/ostree-boot/loader /mnt/sysimage/boot’ exited with the code 1."
This seems to be related to some addition being made during "rpm-ostree compose" as there is no attempt by Anaconda to copy this specific directory ("/mnt/sysroot/usr/lib/ostree-boot/loader") when using an official released Silverblue image (also detailed in the Anaconda bugreport).
This is the only significant difference in the Anaconda log files between an official image and an image based on a locally build repo.
This behaviour also does not happen when using a rpm-ostree repo hosted online. These repos are build using the same fedora-silverblue.yaml file and can be installed without encountering this bug.
tl;dr: Repos build locally with "rpm-ostree compose" lead to Anaconda trying to copy a non-existent folder, causing a crash. Using an online hosted repo based on the same source files does not cause this behaviour.
To Reproduce
I have attached a script I use to automate the described steps below.
Steps to reproduce the behavior:
Expected behavior
The .iso should install as expected when basing a new image on a repository generated via the official ostree-config files.
Script
The following script does all described steps aside from the installation of OSTree and Lorax building the .iso based on the official Fedora 35 Silverblue GNOME edition. It leads to the described behavior.
Screenshots
The text was updated successfully, but these errors were encountered: