-
Notifications
You must be signed in to change notification settings - Fork 220
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
[WIP] support for linux-yocto as kernel provider #1680
base: master
Are you sure you want to change the base?
Conversation
9c3a4bb
to
36c6c63
Compare
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.
I think, this is relatively new for Nvidia: They seem to have git repos for their sources, at least I found them only recently.
Especially, there is this repo for the nvidia OOT modules: https://nv-tegra.nvidia.com/r/gitweb?p=linux-nv-oot.git;a=summary
AFAICT, the blob currently referenced by this recipe's SRC_URI corresponds to the branch l4t/l4t-r36.3, resp. tag jetson_36.3. Your patches are applied to this revision
The unreleased changes seem to be developed in the branch rel-36, and there are commits that claim improving compatibility with newer Kernel versions.
IMO, it should be considered to reference the git repo itself, or to fork it in the OE4T project if some of the proposed changes are covered by newer commits there.
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.
@akfaro good call-out. It is preferable, at least, to apply the patches from there (where they exist) rather than re-inventing these. I have some concern that the modifications we make to build will make maintaining a _git version of the oot modules difficult, but it seems worth taking that into consideration as well.
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.
I have some concern that the modifications we make to build will make maintaining a _git version of the oot modules difficult
The nv-tegra.nvidia.com site has had reliability problems in the past, too, which has made me nervous about relying on it for any of our recipes.
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.
We can not rely on the nv-tegra.nvidia.com at the moment. I had the same issues mentioned by @madisongh .
36c6c63
to
2d3eba5
Compare
Rebased on master, after fixes to egl/gbm, display output works now |
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.
We can not rely on the nv-tegra.nvidia.com at the moment. I had the same issues mentioned by @madisongh .
Thanks for the proposal, @kekiefer! In order to flash the image via the |
@akfaro thanks for tracking that one down! I'll rework this a bit so it can function across different kernels. |
277a524
to
13a5d39
Compare
Today I've updated two things:
|
There is a crash connecting wifi related to enabling ieee80211w (protected management frames) in wpa_supplicant used by WPA3, and has nothing to do with the 8822ce drivers as it occurs with other adapters as well. The problem relates crypto offload to tegra_se (built by the oot modules) as blocking this module from loading allows this function to work. |
Signed-off-by: Kurt Kiefer <[email protected]>
Change adds patches to nvidia-kernel-oot build to compile against newer kernel. Changes are compatible with nvidia 5.15 kernel build as well. Signed-off-by: Kurt Kiefer <[email protected]>
This change removes rtl8822 from nvidia-kernel-oot to switch to the driver and firmware from linux-yocto and linux firmware. It includes updates to tegra-wifi to pull in the needed packages to the image. Signed-off-by: Kurt Kiefer <[email protected]>
Patch ported from https://nv-tegra.nvidia.com/r/gitweb?p=linux-nv-oot.git;a=commit;h=f73208daa394fd74d4310c7669c230352319d553 Signed-off-by: Kurt Kiefer <[email protected]>
13a5d39
to
01b7852
Compare
The crash in tegra_se is now resolved by porting a patch from the nv-tegra git repos. I intend to swap some of the other oot module patches I've created with similar ones from upstream, but the result should be the same. Functionally, I think this PR is about where it needs to be. |
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.
Could this be done without having to provide a full defconfig? Using the in-tree defconfig and providing modifications with config fragments would be more manageable.
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.
I was dreading this. Yes it could be done I'm sure... my first efforts at this were not successful when I started the project, so I ended up moving over and updating the defconfig that was in nvidia's 5.15 sources.
You're not wrong about the motivation for wanting this to be maintainable so I'll give it another shot.
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.
This bbappend is going to wreak havoc on other machines in other layers that also use linux-yocto 6.6.
It either needs to be its own recipe, in which case marking it as tegra-only via COMPATIBLE_MACHINE would be fine, or the bbappend needs to be reworked to remove the COMPATIBLE_MACHINE setting and changing all the task/variable modifications to be :tegra
-specific.
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.
Yes of course, no problem
This is a work in progress. Please do not merge yet.
Builds and boots on Orin agx devkit and has undergone some testing.