| Summary: | Create Kernel Device Driver SDK (host-side) | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Khem Raj <raj.khem> |
| Component: | devtools / tool chain | Assignee: | Scott Rifenbark <srifenbark> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Medium | CC: | bluelightning, brian.avery, dagenaisj, henry.bruce, joaohf, khays, kristi, meta.mr.watcher, meta.watcher, richard.purdie, sgw, srifenbark |
| Version: | unspecified | ||
| Target Milestone: | 2.4 M4 | ||
| Hardware: | All | ||
| OS: | Multiple | ||
| Whiteboard: | 26 Sept 2017: RESOLVED | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Done (doc changes complete) | |
|
Description
Khem Raj
2012-06-25 20:35:57 UTC
Khem, what happened to this? I would like to take it. Khem, could you provide your preliminary patches? Thanks. (In reply to comment #2) > I would like to take it. Khem, could you provide your preliminary patches? Joao, I did not have any working patches. I added virtual/kernel to TARGET packages for SDK but that was long time ago we did not have populate_sdk task back then however, I quickly ran into problems where folks wanted to do much more than external modules. So checking out a kernel source was an easier workflow So currently, to build modules on the target, you need the sdk and the kernel-dev package. You also have to run make scripts in the kernel to build the target arch versions. It isn't clear to me what exactly this bug is describing. Khem, can you provide any additional information? Is this still needed? (In reply to comment #4) > So currently, to build modules on the target, you need the sdk and the > kernel-dev package. You also have to run make scripts in the kernel to build > the target arch versions. > > It isn't clear to me what exactly this bug is describing. Khem, can you > provide any additional information? Is this still needed? This feature request is not for on device SDK but for cross SDK which is essentially very much the SDK we have for app development in addition to it will have configured kernel sources as well so that developers can write out-of-kernel lkms in a cross build environment. Thanks Khem, got it. From someone else I spoke with looking to do a similar thing (build out of tree modules using the host SDK): " 1. Installed the sdk from the script produced from % bitbake image-full -c populate_sdk 2. cd into the top level of the sdk and source the environment variables file 3. cd to sysroots/i586*/usr/src/kernel 4. run 'make scripts' 5. return to top level of sdk and add to environment variables file KERNELDIR to reference sysroots/i586*/usr/src/kernel Now I can move to one of my kernel modules and run 'make' and it just works. So, from a naïve perspective, having the make scripts occur as part of the install would be quite helpful. Having KERNELDIR set in the environment variables would also be helpful. " The current eSDK environment is able to build both kernels and out of tree modules, either directly or via devtool. At this point, I think we need to improve the documentation of this functionality. When using the eSDK with 2.4, we should now be able to use devtool to build a full kernel or a out of tree module without the additional steps that Darren mentions in comment #7. There are some examples in the Tips and Tricks section on the wiki. We may need to add some use cases examples in Kernel Lab and Kernel Developer manual with links to/from the SDK manual. Yes - this is a missing piece in the current doc set. I have an email out to Henry Bruce to close on a kernel development workflow that involves devtool. This needs to be in place. Scott Content is being created in Tips and Tricks article at https://wiki.yoctoproject.org/wiki/TipsAndTricks/KernelDevelopmentWithEsdk. I'll assign bug to me and then hand over to Scott when done. Handing over to Scott. I have scrubbed through the wiki page that Henry created (https://wiki.yoctoproject.org/wiki/TipsAndTricks/KernelDevelopmentWithEsdk). I fixed some typos and added some clarifying notes that where things tripped me up a bit. My only question left with the wiki now is the placement of the layer creation step (meta-my-kernel). I sent a separate email to Henry that asks for the some more information on just exactly where this part of the process is needed based on whether the user builds the *.sh file or downloads it. I will begin layering this wiki information into the manual set. Scott I will move the creation of the layer step a bit in the wiki. Once that is done I am calling it good on this bug. The stuff in the kernel manual is going to be different than the wiki example. Wiki uses real hardware and the kernel manual uses QEMU. Scott So the "Create a Layer" section is now more appropriately located now. I will put this in IN PROGRESS REVIEW should anyone like to look at the procedure again. scott No review comments so marking RESOLVED. Setting doc flag to "done." |