Hi Jason, On Mon, Dec 10, 2018 at 4:50 PM Jason Kulatunga wrote: > Hey, > > I'm working on a project to enable the i915 kernel driver in CoreOS so > that I can do Hardware Transcoding inside containers. > I want to package this kernel driver as a module, rather than rebuilding > the whole kernel because CoreOS does automatic kernel updates, which would > eventually override my changes. > > I've been able to determine the kernel config options necessary to enable > the i915 driver, specifically I needed to enable: > > - Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) > - Intel 8xx/9xx/G3x/G4x/HD Graphics > > However after configuring both as modules, and compiling I get the > following "Unknown Symbol" errors when I attempt to modprobe the .ko > modules > > [ 4411.274987] drm: Unknown symbol hdmi_vendor_infoframe_init (err 0) > [ 4411.275703] drm: Unknown symbol dma_fence_add_callback (err 0) > [ 4411.276399] drm: Unknown symbol dma_buf_attach (err 0) > [ 4411.277241] drm: Unknown symbol dma_fence_default_wait (err 0) > [ 4411.277955] drm: Unknown symbol dma_buf_export (err 0) > [ 4411.278617] drm: Unknown symbol dma_buf_map_attachment (err 0) > [ 4411.279285] drm: Unknown symbol dma_fence_remove_callback (err 0) > [ 4411.280108] drm: Unknown symbol dma_buf_unmap_attachment (err 0) > [ 4411.280813] drm: Unknown symbol dma_fence_context_alloc (err 0) > [ 4411.281467] drm: Unknown symbol dma_fence_signal (err 0) > [ 4411.282152] drm: Unknown symbol dma_buf_get (err 0) > [ 4411.282811] drm: Unknown symbol dma_buf_put (err 0) > [ 4411.283376] drm: Unknown symbol dma_buf_fd (err 0) > [ 4411.284019] drm: Unknown symbol dma_fence_init (err 0) > [ 4411.284745] drm: Unknown symbol hdmi_avi_infoframe_init (err 0) > [ 4411.285634] drm: Unknown symbol dma_fence_enable_sw_signaling (err 0) > [ 4411.286390] drm: Unknown symbol dma_buf_detach (err 0) > [ 4411.287144] drm: Unknown symbol dma_fence_release (err 0) > [ 4411.287922] drm: Unknown symbol sync_file_get_fence (err 0) > [ 4411.288665] drm: Unknown symbol sync_file_create (err 0) > > > From what I've been able to figure out, neither the required HDMI > (CONFIG_HDMI) or DMA kernel options can be built as modules. > > eg. when I look at the drivers/video Module.symvers file I dont see > hdmi_vendor_infoframe_init even though the drivers/video/hdmi.c file > exports it. > hdmi.c is behind a boolean (not tristate) config option CONFIG_HDMI.a > > Probably, it is worth checking /proc/kallsyms to see if the kernel exports these symbols or not. I expect that it will not. Am I SOL? Should I go back to trying to build the whole CoreOS kernel with > built-ins rather than as kernel modules? > > I'm still really new to all this kernel stuff, I'm hoping theres something > simple I'm missing > > The first thing that I might check is that if there were some *.ko files generated which I had missed loading before my intended drivers. modules.dep might help here. FYI, the kernel version I'm building is 4.14.81 (specifically > 4.14.81-coreos from https://github.com/coreos/linux/tree/v4.14.81-coreos > if that helps). This issue does not seem to be CoreOS specific, other than > the fact that their base kernel does not include the HDMI or DMA options > enabled. > > Thanks for all your help! > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >