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
snapstate: add "kernel-assets" to featureSet #9999
Conversation
This adds the "kernel-assets" string to the feature set of snapd. With that snaps can use: `assumes: [kernel-assets]` and snapd will ensure that the snaps that need this feature (like the new gadget and kernel) will only be installed when there is an updated version of snapd.
Snapd is in the process of supporting DTBs coming from the kernel snap. This requires an update of the gadget.yaml to point to the kernel snap for boot assets of the form `$kernel:ref`. The coresponding kernel snap change requires adding a file meta/kernel.yaml with the content: ``` assets: pidtbs: update: true content: - dtbs/broadcom/ - dtbs/overlays/ ``` This can only land for real once snapd is fully ready, the last PR that needs to land is snapcore/snapd#9999 Note that this PR also tweaks the "classic" target as well but I did not test this, because I don't know how it's called. For classic the new syntax cannot be used because ubuntu-image needs help from `snap prepare-image` to do the resolving of the content. But the new `no-kernel-refs-gadget` in the makefile should ensure things work like before for classic images.
Snapd is in the process of supporting DTBs coming from the kernel snap. This requires an update of the gadget.yaml to point to the kernel snap for boot assets of the form `$kernel:ref`. The coresponding kernel snap change requires adding a file meta/kernel.yaml with the content: ``` assets: pidtbs: update: true content: - dtbs/broadcom/ - dtbs/overlays/ ``` This can only land for real once snapd is fully ready, the last PR that needs to land is snapcore/snapd#9999 Note that this PR also tweaks the "classic" target as well but I did not test this, because I don't know how it's called. For classic the new syntax cannot be used because ubuntu-image needs help from `snap prepare-image` to do the resolving of the content. But the new `no-kernel-refs-gadget` in the makefile should ensure things work like before for classic images.
Snapd is in the process of supporting DTBs coming from the kernel snap. This requires an update of the gadget.yaml to point to the kernel snap for boot assets of the form `$kernel:ref`. The coresponding kernel snap change requires adding a file meta/kernel.yaml with the content: ``` assets: pidtbs: update: true content: - dtbs/broadcom/ - dtbs/overlays/ ``` This can only land for real once snapd is fully ready, the last PR that needs to land is snapcore/snapd#9999 Note that this PR also tweaks the "classic" target as well but I did not test this, because I don't know how it's called. For classic the new syntax cannot be used because ubuntu-image needs help from `snap prepare-image` to do the resolving of the content. But the new `no-kernel-refs-gadget` in the makefile should ensure things work like before for classic images.
This needs a final round of end-to-end testing with the real pi-kernel (channel 20/beta/kernel-assets) and real pi gadget (20/beta/kernel-asset, not the different spelling) and then it can be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Snapd is in the process of supporting DTBs coming from the kernel snap. This requires an update of the gadget.yaml to point to the kernel snap for boot assets of the form `$kernel:ref`. The coresponding kernel snap change requires adding a file meta/kernel.yaml with the content: ``` assets: pidtbs: update: true content: - dtbs/broadcom/ - dtbs/overlays/ ``` This can only land for real once snapd is fully ready, the last PR that needs to land is snapcore/snapd#9999 Note that this PR also tweaks the "classic" target as well but I did not test this, because I don't know how it's called. For classic the new syntax cannot be used because ubuntu-image needs help from `snap prepare-image` to do the resolving of the content. But the new `no-kernel-refs-gadget` in the makefile should ensure things work like before for classic images.
This adds the "kernel-assets" string to the feature set of snapd.
With that snaps can use:
assumes: [kernel-assets]
and snapd willensure that the snaps that need this feature (like the new gadget
and kernel) will only be installed when there is an updated version
of snapd.
Build on top of PR #9981 - marked as blocked as we should only merge
it once we are confident in the new feature.