Closed fiftydinar closed 8 months ago
Hmm, it fails here with these errors:
Hmm, it fails here with these errors
The akmods repo example installs the akmods with the commands below. Maybe the wildcard is required?
RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-akmods*.rpm
RUN rpm-ostree install /tmp/rpms/kmods/kmod-v4l2loopback*.rpm
I was just looking at if there'd be a way to install the akmods directly using the module without Containerfile changes, and there is a COPR but it doesn't have everything and I'm not sure if it'd just work.
With a compiler-based approach this would be easier. I guess I should work on that sometime...
@xynydev I have great news.
Module actually works! Those errors I had before seems to be a typical upstream error (from akmods repo).
Here's proof it works: https://github.com/fiftydinar/gidro-os/actions/runs/7473504118/job/20337794147#step:15:647
I think this is good to merge, I don't see what more of a changes is needed.
If you catch something that needs update, please let me know.
Edit: I remembered. We need to solve ${IMAGE_MAJOR_VERSION} tag in Containerfile for pulling akmods files instead of fixed Fedora version.
However, adding IMAGE_MAJOR_VERSION as an argument only works when building an image offline. Github Action fails.
So I think it's good as it is (not yet, see below).
It's a shame that akmods repo doesn't have latest
tag available though. So you need to edit this manually whenever new Fedora gets a release.
I filled an issue on this: https://github.com/ublue-os/akmods/issues/109
I added support for Surface & Asus images as I noticed they don't install kernel-devel-matched package.
It auto-detects if the base image is right before installing kmods.
However, it seems that BASE_IMAGE variable is not recognized in cloud for some reason, hence builds failing. I'll have to investigate this further. Help is also appreciated.
Here's proof that BASE_IMAGE variable works in terminal (but still not working in cloud):
When I put something simple in module like
echo "${BASE_IMAGE}"
it echoes base image normally
Installing kernel-devel-matched actually works for all images & it's the more proper way of installing akmods. I tested surface, asus & main image as a base & module works wonderfully.
This time, it's really ready to merge.
Credits: @C0dePlayer
This is not ideal as it does not support custom kernels & it involves editing Containerfile.
Custom kernels is something that upstream should solve I believe, so it's not a concern we should direct to.
I believe there is no other way but to make users edit Containerfile for those files to be even pulled of.
I would like this to be through the recipe only, so I will put this as a draft until some better ideas come.
2nd part of this work: https://github.com/ublue-os/startingpoint/pull/212