View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010759 | Rocky-Linux-10 | lorax-templates-rhel | public | 2025-10-09 18:01 | 2025-10-11 11:20 |
Reporter | Viktor H. Ingre | Assigned To | Louis Abel | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | needinfo | Resolution | open | ||
Product Version | 10.0 | ||||
Summary | 0010759: Missing lorax-templates-rhel | ||||
Description | I'm building my own bootc images of Rocky10 and want to construct iso images of them using the bootc-image-builder. These craches after a few minutes with the following error: FileNotFoundError : [Errno 2] No such file or directory: '/usr/share/lorax/templates.d/80-rhel/runtime-postinstall.tmpl' When I looked into this it seems that the actual RPM for "lorax-templates-rhel" is missing , only "lorax-template-rocky" is available witch is also the rpm that gets selected when running the command "sudo dnf install -y lorax-templates-rhel" instead of failing with package not available resulting in the "file not found" error in the anaconda scripts instead of missing packages. See additional information for similar issue with Rocky9 repo. | ||||
Steps To Reproduce | Run bootc-image-builder with the flag "--type anaconda-iso" using a simple rocky10 bootc image | ||||
Additional Information | When I tried to install "lorax-template-rhel" on my desktop computer running Rocky9.6 it selects "lorax-templates-rocky" only, even tough they are different rpms. The issue it has selecting the actual "lorax-template-rhel" seems to be that it has version 9.0 at the Rocky mirror and it thinks it's the same rpm as "lorax-templates-rocky-9.6" | ||||
Tags | No tags attached. | ||||
>When I looked into this it seems that the actual RPM for "lorax-templates-rhel" is missing , only "lorax-template-rocky" is available witch is also the rpm that gets selected when running the command "sudo dnf install -y lorax-templates-rhel" instead of failing with package not available resulting in the "file not found" error in the anaconda scripts instead of missing packages. See additional information for similar issue with Rocky9 repo. >When I tried to install "lorax-template-rhel" on my desktop computer running Rocky9.6 it selects "lorax-templates-rocky" only, even tough they are different rpms lorax-templates-rhel does not exist because it is replaced by lorax-templates-rocky. We make specific changes to our lorax configurations to avoid RHEL specific packages from being installed or being presented in the anaconda installer. For the case of 10, we also make changes for riscv64. Summary: This is done on purpose for Rocky Linux and to ensure compatibility with anaconda and other installer components. If lorax-templates-rocky with 80-rocky (and not 80-rhel) was an issue, anaconda (and our regular ISO installers) would not function properly. Because there is no "bootc-image-builder" available in our repositories, it's not clear to us what you're doing, running, or attempting to do, so we cannot agree that this is a bug yet. Please provide full steps you are taking leading you to this error. This includes systems you are running this on, containers, etc. |
|
There are no official bootc images of Rocky Linux, you have to create them yourself to make use of the bootc-image-builder provided by osbuild. But I don't believe it is important because it was not in the bootc build process that this issue appeared, it was in the acconda iso generation wihin the the bootc-image-builder process. The acconda iso is pointing at lorax-templates-rhel (not lorax-templates--rocky), it does this for all Enterprise Linux distos, so all the other dirstros like Ceontos and Alma has their own lorax-templates and the rhel variant that creates the 80-rhel (https://rpmfind.net/linux/rpm2html/search.php?query=lorax-templates-rhel), the only distro that now does not generate a RPM for this is Rocky: https://dl.rockylinux.org/pub/rocky/10/AppStream/x86_64/os/Packages/l/ The issue is aswell that even tough there is non, the packagemanager still selects the "lorax-templates-rocky" wich is not replaceble since build scripts are pointin at "80-rhel" not "80-rocky" so it does not work, resulting in a "missing file". So steps to reproduce would be: 1. sudo dnf install -y lorax-templates-rhel 2. cat "/usr/share/lorax/templates.d/80-rhel/runtime-postinstall.tmpl" 3. should now display text I'm sure there are reasons for 80-rocky, but then it has to still create a symbolic link for 80-rhel to the 80-rocky or something, just removing 80-rhel complely does not work if Rocky is suppose to work with EL when it is so connected with being Red Hat EL. |
|
I'm sorry for the typos, mean: anaconda not acconda and so on. Butter fingers. | |
>There are no official bootc images of Rocky Linux, you have to create them yourself to make use of the bootc-image-builder provided by osbuild. >But I don't believe it is important because it was not in the bootc build process that this issue appeared, it was in the acconda iso generation wihin the the bootc-image-builder process. It would actually be helpful, because while you're saying it's anaconda that is reporting this, anaconda's source contains zero references to 80-rhel. This is why we're asking for full reproduction steps, because it's not clear what's actually being called or ran to build this bootc ISO. [label@sani anaconda-40.22.3.26]$ grep 80-rhel * -R [label@sani anaconda-40.22.3.26]$ grep lorax-templates-rhel * -R [label@sani anaconda-40.22.3.26]$ [label@sani anaconda-40.22.3.26]$ grep lorax * -R | grep -v anaconda.spec docs/common-bugs.rst::Solution: Reassigning to lorax. docs/common-bugs.rst::Solution: Reassigning to lorax or spin-kickstarts. dracut/python-deps:# by lorax to create initramfs with all the python-related things we need. Makefile.am: $(MAKE) -f ./Makefile.am container-iso-build CONTAINER_ADD_ARGS="--entrypoint=/lorax-build-webui" Makefile.in: $(MAKE) -f ./Makefile.am container-iso-build CONTAINER_ADD_ARGS="--entrypoint=/lorax-build-webui" pyanaconda/modules/payloads/payload/rpm_ostree/installation.py: # The first path here is used by <https://pagure.io/fedora-lorax-templates> pyanaconda/modules/boss/installation.py: - Copy logs of all kinds, incl. ks scripts, journal dump, and lorax pkg list pyanaconda/modules/boss/installation.py: self._copy_lorax_packages() pyanaconda/modules/boss/installation.py: def _copy_lorax_packages(self): pyanaconda/modules/boss/installation.py: "/root/lorax-packages.log", pyanaconda/modules/boss/installation.py: join_paths(TARGET_LOG_DIR, "lorax-packages.log") pyanaconda/exception.py: "/proc/cmdline", "/root/lorax-packages.log", pyanaconda/core/constants.py:PACKAGES_LIST_FILE = "/root/lorax-packages.log" scripts/log-capture:if [[ -e /root/lorax-packages.log ]];then scripts/log-capture: cp /root/lorax-packages.log ${OUTDIR} tests/unit_tests/pyanaconda_tests/modules/boss/test_copy_logs_task.py: call("/root/lorax-packages.log", "/var/log/anaconda/lorax-packages.log"), To expand on this, knowing what it's doing would be helpful. When our normal ISO's are generated for our releases, 80-rocky is actually used as that is what lorax ultimately finds first in /usr/share/lorax/templates.d. You can find that happening here: https://kojidev.rockylinux.org/kojifiles/work/tasks/4149/454149/runroot.log Relevant lorax code that does this: https://github.com/weldr/lorax/blob/rhel10-branch/src/pylorax/__init__.py#L461 With that said, I am not opposed to creating a symlink, however having full reproduction steps (or full logs from your attempt at building a bootc image) would be valuable so we can understand this particular case. |
|
Everything is done on a podman x86_64 system (Rocky 9.6 Desktop). I've created a simple test repo for bootc inspired by Almas and looked a bit at Centos to create something similar: https://github.com/Rexus/rocky-bootc So the command that I used to build this standing in that repo is: sudo podman build --security-opt=label=disable --cap-add=all --device /dev/fuse --iidfile /tmp/image-id -t rocky-bootc:latest -f 10/Containerfile Then because bootc-image-builder did not include Rocky for anaconda-iso I use a custom bild where I have included it, so first I have to clone the https://github.com/osbuild/bootc-image-builder wich includes this update in main now and run: make ^^^^ (I think it creates a local podman image in the end, because I use a local variant later on) Then I create a folder "bootc-build/output" somewhere in the folder bootc-build i create a config.toml file including: [customizations.installer.kickstart] contents = """ # Use text mode install text # Network information network --bootproto=dhcp --device=link --activate # Keyboard layouts keyboard --xlayouts='se' # System language lang en_US.UTF-8 # Partition clearing information clearpart --none --initlabel --disklabel=gpt reqpart --add-boot part / --grow --fstype xfs ostreecontainer --url localhost/rocky-bootc:latest # Time Sources timesource --ntp-server=<my internal NTP 1> timesource --ntp-server=<my internal NTP 2> # System timezone timezone Europe/Stockholm --utc # Root password rootpw --lock user --groups=wheel --name=<default user> --password=<hashed password> --iscrypted --gecos="<name of user>" """ ^^^^ Now notice I removed sensitive information, so you need that, but It is a stripped anaconda kikstarter file from another build. Then standing where the config file is I run: sudo podman run --rm -it --privileged --pull=newer --security-opt label=type:unconfined_t -v ./config.toml:/config.toml:ro -v ./output:/output -v /var/lib/containers/storage:/var/lib/containers/storage localhost/bootc-image-builder:latest --type anaconda-iso --use-librepo=True localhost/rocky-bootc:latest This will fail during the build with the pervious error message. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2025-10-09 18:01 | Viktor H. Ingre | New Issue | |
2025-10-09 18:44 | Louis Abel | Assigned To | => Louis Abel |
2025-10-09 18:44 | Louis Abel | Status | new => needinfo |
2025-10-09 18:44 | Louis Abel | Note Added: 0011254 | |
2025-10-11 08:03 | Viktor H. Ingre | Note Added: 0011287 | |
2025-10-11 08:11 | Viktor H. Ingre | Note Added: 0011288 | |
2025-10-11 09:04 | Louis Abel | Note Added: 0011289 | |
2025-10-11 11:20 | Viktor H. Ingre | Note Added: 0011320 |