<div dir="ltr"><div><div><div><div><div>Hi Roy,<br><br></div>I see your point. Interesting, I see the entries from i915 (about tainting kernel) Before any root fs mounting. Which means that it's either built into the kernel or should be inside initramfs.<br><br></div>Also, apart from the config, if I try to run this command:<br><i>$ grep i915 /lib/modules/4.8.0-32-generic/modules.builtin<br></i><br></div>It gives no output, which means that i915 must be a separate module.<br><br></div>However, when I try to look into initramfs:<br><i>$ cpio -i < initrd.img-4.8.0-32-generic<br></i><br></div>I see only one file there:<br><i>./kernel/x86/microcode/GenuineIntel.bin</i><br><div><br></div><div>Now I'm a bit confused - it's loaded before root fs, it's referred as a separate module in all configs, but it's not in initrd...<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Best Regards,<br>Maxim</div></div></div>
<br><div class="gmail_quote">On Wed, Dec 28, 2016 at 8:34 PM, Edinburgh Linux Users Group <span dir="ltr"><<a href="mailto:edlug@lists.edlug.org.uk" target="_blank">edlug@lists.edlug.org.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maxim,<br>
<br>
A few respones inlined.<br>
<span class=""><br>
On 2016.12.28 19:49, Edinburgh Linux Users Group wrote:<br>
> Hi Roy,<br>
><br>
> Thanks for the detailed response!<br>
><br>
> I don't seem to have /proc/confg.gz, however I think I was able to<br>
> find it<br>
> in /boot:<br>
><br>
><br>
</span>> *$ grep 915 /boot/config-4.8.0-32-generic<br>
<span class="">> CONFIG_CHARGER_DA9150=m<br>
> CONFIG_BATTERY_DA9150=m<br>
> CONFIG_MFD_DA9150=m<br>
> CONFIG_DRM_I915=m#<br>
> CONFIG_DRM_I915_PRELIMINARY_<wbr>HW_SUPPORT is not set<br>
> CONFIG_DRM_I915_USERPTR=y<br>
> CONFIG_DRM_I915_GVT=y<br>
> # drm/i915 Debugging#<br>
> CONFIG_DRM_I915_WERROR is not set<br>
> # CONFIG_DRM_I915_DEBUG is not set<br>
</span>> CONFIG_SND_HDA_I915=yCONFIG_<wbr>DA9150_GPADC=m*<br>
<span class="">><br>
> CONFIG_DRM_I915 is set to 'm', so I presume it was compiled as a<br>
> module<br>
<br>
</span>That's correct.<br>
<span class="">><br>
> Yeah, I found in Google that some settings can be changed at runtime,<br>
> without module reload, but unfortunately this particular option is<br>
> read-only in /sys :(<br>
><br>
> I think you're right - this particular one should be in initramfs and<br>
> is<br>
> most likely loaded even before the root fs is mounted. However, I<br>
> thought<br>
> that it should still pick up the parameters from the Kernel command<br>
> line.<br>
</span>You can see root being mounted in dmesg.  I get<br>
<br>
[    4.499945] EXT4-fs (dm-10): couldn't mount as ext3 due to feature incompatibilities<br>
[    4.500337] EXT4-fs (dm-10): couldn't mount as ext2 due to feature incompatibilities<br>
[    4.522369] EXT4-fs (dm-10): mounted filesystem with ordered data mode. Opts: (null)<br>
<br>
and later<br>
<br>
[   11.019172] EXT4-fs (dm-10): re-mounted. Opts: discard<br>
<br>
Anything that loads before 4.522369 seconds in my example, must<br>
either be built into the kernel, or come from the initramfs.  That<br>
mount is the real root being mounted read only, so it can be checked.<br>
<br>
The remount at 11.019172 sec is root being mounted read/write.<br>
<br>
You should be able to find similar entries in your dmesg then<br>
work out where i915 comes from.  As its =m, its either the<br>
initramfs if its before root is mounted read only or your real root,<br>
if its after root being mounted.<br>
<span class=""><br>
><br>
> I've just noticed some weird entries in the dmesg output. It seems<br>
> like<br>
> it's i915 module specific, but I'm still trying to google anything<br>
> that can<br>
> indicate what they're supposed to mean:<br>
><br>
> [    1.480619] Setting dangerous option enable_rc6 - tainting kernel<br>
> [    1.480621] Setting dangerous option enable_psr - tainting kernel<br>
> [    1.480622] Setting dangerous option enable_fbc - tainting kernel<br>
> [    1.480624] i915: unknown parameter 'lvds_downclock' ignored<br>
> [    1.480626] Setting dangerous option semaphores - tainting kernel<br>
><br>
<br>
</span>Setting dangerous option ..., is advice from the i915 module itself.<br>
<br>
Tainting kernel means that some debugging options are disabled<br>
and that support for kernel problems from kernel developers will<br>
start with "Can you reproduce that with an untainted kernel?"<br>
<br>
<br>
><br>
> *[    1.480628] Setting dangerous option enable_execlists - tainting<br>
<span class="">> kernel[    1.480631] Setting dangerous option enable_execlists -<br>
> tainting<br>
</span>> kernel*<br>
><br>
> Best Regards,<br>
> Maxim<br>
><br>
[snip]<br>
<div class="HOEnZb"><div class="h5"><br>
Regards,<br>
<br>
Roy Bamford<br>
______________________________<wbr>_________________<br>
EdLUG mailing list<br>
<a href="mailto:EdLUG@lists.edlug.org.uk">EdLUG@lists.edlug.org.uk</a><br>
<a href="https://lists.edlug.org.uk/mailman/listinfo/edlug" rel="noreferrer" target="_blank">https://lists.edlug.org.uk/<wbr>mailman/listinfo/edlug</a><br>
</div></div></blockquote></div><br></div></div>