Unable to rebase back to fedora 41.

I use the rebase command: brh rebase stable-41.20250409.1 It seems to correctly stage the rebased image and asks me to reboot, but when it does, it boots into 42 and says there was an error deploying it
Brian@framework-bazzite:~$ rpm-ostree status
State: idle
Warning: failed to finalize previous deployment
error: Finalizing deployment: Finalizing SELinux policy: failed to run semodule: Child process exited with code 1
check `journalctl -b -1 -u ostree-finalize-staged.service`
Deployments:
ā— ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
Digest: sha256:4e32e06ad220d1db4fd0ec79d3bac360042a88542c643ad4eba1f5549c7bb1b4
Version: 42.20250501 (2025-05-01T19:23:20Z)

ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
Digest: sha256:4e32e06ad220d1db4fd0ec79d3bac360042a88542c643ad4eba1f5549c7bb1b4
Version: 42.20250501 (2025-05-01T19:23:20Z)
LayeredPackages: lact
Brian@framework-bazzite:~$ rpm-ostree status
State: idle
Warning: failed to finalize previous deployment
error: Finalizing deployment: Finalizing SELinux policy: failed to run semodule: Child process exited with code 1
check `journalctl -b -1 -u ostree-finalize-staged.service`
Deployments:
ā— ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
Digest: sha256:4e32e06ad220d1db4fd0ec79d3bac360042a88542c643ad4eba1f5549c7bb1b4
Version: 42.20250501 (2025-05-01T19:23:20Z)

ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
Digest: sha256:4e32e06ad220d1db4fd0ec79d3bac360042a88542c643ad4eba1f5549c7bb1b4
Version: 42.20250501 (2025-05-01T19:23:20Z)
LayeredPackages: lact
Any suggestions?
13 Replies
CyberGlitterhoof
CyberGlitterhoofOP•2d ago
The relevant logs:
Brian@framework-bazzite:~$ journalctl -b -1 -u ostree-finalize-staged.service
May 02 06:59:05 framework-bazzite systemd[1]: Finished ostree-finalize-staged.service - OSTree Finalize Staged Deployment.
May 02 06:59:42 framework-bazzite systemd[1]: Stopping ostree-finalize-staged.service - OSTree Finalize Staged Deployment...
May 02 06:59:42 framework-bazzite ostree[8162]: Finalizing staged deployment
May 02 06:59:43 framework-bazzite ostree[8162]: Copying /etc changes: 26 modified, 1 removed, 91 added
May 02 06:59:43 framework-bazzite ostree[8162]: Copying /etc changes: 26 modified, 1 removed, 91 added
May 02 06:59:43 framework-bazzite ostree[8187]: bwrap: execvp semodule: No such file or directory
May 02 06:59:43 framework-bazzite ostree[8162]: error: Finalizing deployment: Finalizing SELinux policy: failed to run semodule: Child process exite>
May 02 06:59:43 framework-bazzite systemd[1]: ostree-finalize-staged.service: Control process exited, code=exited, status=1/FAILURE
May 02 06:59:43 framework-bazzite systemd[1]: ostree-finalize-staged.service: Failed with result 'exit-code'.
May 02 06:59:43 framework-bazzite systemd[1]: Stopped ostree-finalize-staged.service - OSTree Finalize Staged Deployment.
May 02 06:59:43 framework-bazzite systemd[1]: ostree-finalize-staged.service: Consumed 526ms CPU time, 86.3M memory peak.
Brian@framework-bazzite:~$ journalctl -b -1 -u ostree-finalize-staged.service
May 02 06:59:05 framework-bazzite systemd[1]: Finished ostree-finalize-staged.service - OSTree Finalize Staged Deployment.
May 02 06:59:42 framework-bazzite systemd[1]: Stopping ostree-finalize-staged.service - OSTree Finalize Staged Deployment...
May 02 06:59:42 framework-bazzite ostree[8162]: Finalizing staged deployment
May 02 06:59:43 framework-bazzite ostree[8162]: Copying /etc changes: 26 modified, 1 removed, 91 added
May 02 06:59:43 framework-bazzite ostree[8162]: Copying /etc changes: 26 modified, 1 removed, 91 added
May 02 06:59:43 framework-bazzite ostree[8187]: bwrap: execvp semodule: No such file or directory
May 02 06:59:43 framework-bazzite ostree[8162]: error: Finalizing deployment: Finalizing SELinux policy: failed to run semodule: Child process exite>
May 02 06:59:43 framework-bazzite systemd[1]: ostree-finalize-staged.service: Control process exited, code=exited, status=1/FAILURE
May 02 06:59:43 framework-bazzite systemd[1]: ostree-finalize-staged.service: Failed with result 'exit-code'.
May 02 06:59:43 framework-bazzite systemd[1]: Stopped ostree-finalize-staged.service - OSTree Finalize Staged Deployment.
May 02 06:59:43 framework-bazzite systemd[1]: ostree-finalize-staged.service: Consumed 526ms CPU time, 86.3M memory peak.
asen23
asen23•2d ago
unfortunately there is a bug preventing rebase between 41 and 42, why do you need f41?
CyberGlitterhoof
CyberGlitterhoofOP•2d ago
ah, that's unfortunate. I need ROCM to work, and as I understand it, the kernel in 42 does not current support it
asen23
asen23•2d ago
someone made bazzite with older kernel https://github.com/btekv4/bazzite-gnome-rocm you can use it probably
GitHub
GitHub - BTekV4/bazzite-gnome-rocm: Template for making your own OS...
Template for making your own OS image using BlueBuild - BTekV4/bazzite-gnome-rocm
asen23
asen23•2d ago
oh they are hardcoding the kernel šŸ˜‚
CyberGlitterhoof
CyberGlitterhoofOP•2d ago
hah that's one way to do it. I'll give it a shot. Thanks!
asen23
asen23•2d ago
if you do decide to make your own image, i suggest to follow the akmod docs https://github.com/ublue-os/akmods#usage
GitHub
GitHub - ublue-os/akmods: A caching layer for pre-built Fedora akmo...
A caching layer for pre-built Fedora akmod RPMs. Contribute to ublue-os/akmods development by creating an account on GitHub.
asen23
asen23•2d ago
you can replicate it inside bluebuild too
BTekV4
BTekV4•2d ago
Unfortunately I have not found any other way
asen23
asen23•2d ago
you can do something like this
modules:
- type: copy
from: ghcr.io/ublue-os/akmods-extra:KERNEL_VERSION
src: /rpms/
dest: /tmp/rpms

- type: containerfile
snippets:
- RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo
- RUN find /tmp/rpms
- RUN rpm-ostree install /tmp/rpms/kmods/*nct6687*.rpm
modules:
- type: copy
from: ghcr.io/ublue-os/akmods-extra:KERNEL_VERSION
src: /rpms/
dest: /tmp/rpms

- type: containerfile
snippets:
- RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_ublue-os-akmods.repo
- RUN find /tmp/rpms
- RUN rpm-ostree install /tmp/rpms/kmods/*nct6687*.rpm
for the kernel version you can manually update it or use a little hacking in the gh action
steps:
# the build is fully handled by the reusable github action
- uses: actions/checkout@v4
- name: Install skopeo
run: |
sudo apt-get update
sudo apt-get install -y skopeo
- name: Inspect image and extract label
run: |
LABEL_VALUE=bazzite-$(skopeo inspect docker://ghcr.io/ublue-os/bazzite:stable | jq -r '"\(.Labels["org.opencontainers.image.version"] | split(".")[0])-\(.Labels["ostree.linux"])"')
echo "kernel_version=$LABEL_VALUE" >> $GITHUB_ENV
- name: Display extracted label
run: |
echo "Extracted ostree.linux label: $kernel_version"
- name: Modify file with extracted label
run: |
sed -i "s/KERNEL_VERSION/$kernel_version/g" ./recipes/akmods-modules.yml
- name: Build Custom Image
uses: blue-build/[email protected]
with:
recipe: ${{ matrix.recipe }}
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
registry_token: ${{ github.token }}
pr_event_number: ${{ github.event.number }}

# enabled by default, disable if your image is small and you want faster builds
maximize_build_space: true
rechunk: true
skip_checkout: true
steps:
# the build is fully handled by the reusable github action
- uses: actions/checkout@v4
- name: Install skopeo
run: |
sudo apt-get update
sudo apt-get install -y skopeo
- name: Inspect image and extract label
run: |
LABEL_VALUE=bazzite-$(skopeo inspect docker://ghcr.io/ublue-os/bazzite:stable | jq -r '"\(.Labels["org.opencontainers.image.version"] | split(".")[0])-\(.Labels["ostree.linux"])"')
echo "kernel_version=$LABEL_VALUE" >> $GITHUB_ENV
- name: Display extracted label
run: |
echo "Extracted ostree.linux label: $kernel_version"
- name: Modify file with extracted label
run: |
sed -i "s/KERNEL_VERSION/$kernel_version/g" ./recipes/akmods-modules.yml
- name: Build Custom Image
uses: blue-build/[email protected]
with:
recipe: ${{ matrix.recipe }}
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
registry_token: ${{ github.token }}
pr_event_number: ${{ github.event.number }}

# enabled by default, disable if your image is small and you want faster builds
maximize_build_space: true
rechunk: true
skip_checkout: true
BTekV4
BTekV4•2d ago
This is how the modules should also work, right? I try
asen23
asen23•2d ago
yes also just remembered you dont need to use the gh action stuff you are pinning kernel version anyway lol the action is used if you want sync kernel version to upstream
CyberGlitterhoof
CyberGlitterhoofOP•2d ago
thanks, I had a chance to try that build and it seems to work. I'll keep that deployment pinned so I can jump to it when needed for now while I wait for ROCm to support our current kernel

Did you find this page helpful?