Right. Part of the issue is the linked change set doesn’t use akmods unless I overlooked it.
Right. Part of the issue is the linked change set doesn’t use akmods unless I overlooked it.
But akmods is the easy way.Tbh, comparing what I did in my build, vs say what bsherman did for his build I'm not convinced either way is that much easier or harder than the other - at least for the case of xone (perhaps some other project would be more than aLeverage if you can.
make oneliner to build)The solution you posted was pulling driver files from another image which is fragile.To be clear about what my way is doing, it is a single Containerfile which uses multi stage build. First there's a
driver stage that builds the kernel modules - straight from the upstream source code. This stage is based on ublue main. Then later I install the resulting artifacts into the actual output stage image - this is also based on ublue main and hence should have exactly the same kernel (except perhaps if there's some way for things to have changed during the run, but that would be a solvable problem and as I mentioned this was mostly a proof of concept).
recipe.yml so that it isn't installed and won't auto-run anymore./etc/profile.d.
/etc/profile.d script even if yafti is disabled.~/.config/autostart link if yafti is disabled. So if user jumps between ublue versions that disabled yafti, they won't have the leftover link.bluefin...startingpoint repo, right? startingpoint or nvidia which are built on main.ublue-os/system76 would be the image for users of that hardware, and other downstream images could in turn use it.make more of this could be potentially brought into main. Especially after having been proven out semewhere.main and push a firstboot experience, sure we can, but I am personally very pleased with the approach that was taken. main/nvidia try to stays "stock-ish" so there's an improved foundation on which all the cool/custom stuff can be built.startingpoint is almost at the point where main + nvidia could be refactored to be scripts for it. It's now flexible enough to be able to run a core set of scripts/actions for every image, and then having per-recipe scripts listed for the specific flavors.recipe.yml matrix where there's a "core recipe" and then the per-variant changes such as removing certain packages, adding extras, etc. It could already be implemented if the flavors used scripts for those per-flavor changes though.vauxite-recipe.yml: runs scripts/vauxite/*.sh in addition to the common scripts.scripts/pre/*.sh and scripts/post/*.shvauxite-recipe.yml: Also runs vauxite.sh which in turn runs autostart.sh vauxite/${SCRIPT_MODE}, which would cause it to execute every script in scripts/vauxite/pre/*.sh and scripts/vauxite/post/*.sh at the appropriate stages.