Re: Cannot compile i915 kernel driver as a module on CoreOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jason,

On Mon, Dec 10, 2018 at 4:50 PM Jason Kulatunga <jason@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux