Kernel Newbies archive on lore.kernel.org
 help / Atom feed
* Cannot compile i915 kernel driver as a module on CoreOS
@ 2018-12-10 16:49 Jason Kulatunga
  2018-12-10 22:38 ` AYAN KUMAR HALDER
  0 siblings, 1 reply; 2+ messages in thread
From: Jason Kulatunga @ 2018-12-10 16:49 UTC (permalink / raw)
  To: kernelnewbies

[-- Attachment #1.1: Type: text/plain, Size: 2824 bytes --]

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

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

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!

[-- Attachment #1.2: Type: text/html, Size: 3256 bytes --]

<div dir="ltr"><div dir="ltr">Hey, <br><br>I&#39;m working on a project to enable the i915 kernel driver in CoreOS so that I can do Hardware Transcoding inside containers. <br>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. <br><br>I&#39;ve been able to determine the kernel config options necessary to enable the i915 driver, specifically I needed to enable: <br><ul><li>Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) <br></li><li>Intel 8xx/9xx/G3x/G4x/HD Graphics</li></ul>However after configuring both as modules, and compiling I get the following &quot;Unknown Symbol&quot; errors when I attempt to modprobe the .ko modules <br><div><br></div><div><pre class="gmail-bbcode" style="border:1px solid rgb(196,198,162);background-color:rgb(254,255,236);padding:8px;overflow:auto;color:rgb(0,0,0)">[ 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)</pre></div><br>From what I&#39;ve been able to figure out, neither the required HDMI (CONFIG_HDMI) or DMA kernel options can be built as modules. <br><br>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. <br>hdmi.c is behind a boolean (not tristate) config option CONFIG_HDMI.a <br><br>Am I SOL? Should I go back to trying to build the whole CoreOS kernel with built-ins rather than as kernel modules? <br><br>I&#39;m still really new to all this kernel stuff, I&#39;m hoping theres something simple I&#39;m missing <br><br>FYI, the kernel version I&#39;m building is 4.14.81 (specifically 4.14.81-coreos from <a href="https://github.com/coreos/linux/tree/v4.14.81-coreos">https://github.com/coreos/linux/tree/v4.14.81-coreos</a> 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.  <br><br>Thanks for all your help!</div></div>

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Cannot compile i915 kernel driver as a module on CoreOS
  2018-12-10 16:49 Cannot compile i915 kernel driver as a module on CoreOS Jason Kulatunga
@ 2018-12-10 22:38 ` AYAN KUMAR HALDER
  0 siblings, 0 replies; 2+ messages in thread
From: AYAN KUMAR HALDER @ 2018-12-10 22:38 UTC (permalink / raw)
  To: jason; +Cc: kernelnewbies

[-- Attachment #1.1: Type: text/plain, Size: 3500 bytes --]

Hi Jason,

On Mon, Dec 10, 2018 at 4:50 PM Jason Kulatunga <jason@thesparktree.com>
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
>

[-- Attachment #1.2: Type: text/html, Size: 4737 bytes --]

<div dir="ltr">Hi Jason,<br><div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 10, 2018 at 4:50 PM Jason Kulatunga &lt;<a href="mailto:jason@thesparktree.com">jason@thesparktree.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hey, <br><br>I&#39;m working on a project to enable the i915 kernel driver in CoreOS so that I can do Hardware Transcoding inside containers. <br>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. <br><br>I&#39;ve been able to determine the kernel config options necessary to enable the i915 driver, specifically I needed to enable: <br><ul><li>Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) <br></li><li>Intel 8xx/9xx/G3x/G4x/HD Graphics</li></ul>However after configuring both as modules, and compiling I get the following &quot;Unknown Symbol&quot; errors when I attempt to modprobe the .ko modules <br><div><br></div><div><pre class="gmail-m_8799950510419354474gmail-bbcode" style="border:1px solid rgb(196,198,162);background-color:rgb(254,255,236);padding:8px;overflow:auto;color:rgb(0,0,0)">[ 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)</pre></div><br>From what I&#39;ve been able to figure out, neither the required HDMI (CONFIG_HDMI) or DMA kernel options can be built as modules. <br><br>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. <br>hdmi.c is behind a boolean (not tristate) config option CONFIG_HDMI.a <br><br></div></div></blockquote><div>Probably, it is worth checking /proc/kallsyms to see if the kernel exports these symbols or not. I expect that it will not.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Am I SOL? Should I go back to trying to build the whole CoreOS kernel with built-ins rather than as kernel modules? <br><br>I&#39;m still really new to all this kernel stuff, I&#39;m hoping theres something simple I&#39;m missing <br><br></div></div></blockquote><div>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.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">FYI, the kernel version I&#39;m building is 4.14.81 (specifically 4.14.81-coreos from <a href="https://github.com/coreos/linux/tree/v4.14.81-coreos" target="_blank">https://github.com/coreos/linux/tree/v4.14.81-coreos</a> 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.  <br><br>Thanks for all your help!</div></div>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank">Kernelnewbies@kernelnewbies.org</a><br>
<a href="https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" rel="noreferrer" target="_blank">https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div></div></div>

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-10 16:49 Cannot compile i915 kernel driver as a module on CoreOS Jason Kulatunga
2018-12-10 22:38 ` AYAN KUMAR HALDER

Kernel Newbies archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/kernelnewbies/0 kernelnewbies/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kernelnewbies kernelnewbies/ https://lore.kernel.org/kernelnewbies \
		kernelnewbies@kernelnewbies.org kernelnewbies@archiver.kernel.org
	public-inbox-index kernelnewbies


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernelnewbies.kernelnewbies


AGPL code for this site: git clone https://public-inbox.org/ public-inbox