# how to use /etc/modules.autoload.d/kernel-2.6

## prairie_dad

I guess I'm not sure how to do this...

I need drm, it seems, I tried to emerge it and was told to modularize it in the kernel.  so, I recompiled with M in the drm spot (under character devices?)  so it's in modprobe -l listing, that's right, drm.so?  Now do I need to add it to my list in /etc/modules.autoload.d/ is that right?  I have lots and lots of modules in the modprobe -l list, are none of them loaded if not in my autoload list?  why put stuff in autoload at all?  Can I now emerge it?...I don't get it.  what's in modprobe -l list if I haven't emerged it yet?  that's x11-drm I'm talking about, I already have drmlibs installed (must have been a dependency somewhere.)

If I want stuff in all the time I could just compile it in right?  that is, * instead of M?  If it's M, it's in the modprobe list and loaded as needed, isn't that the point?  _only_ when needed?

puzzled,

thanks,

dave

----------

## blind-tnk

modprobe is not what's been loaded, it shows the modules of your compiled kernel.

in order to load the modules you will need to add them to your autoload list or load them manually

----------

## Ehnvis

Often you dont have to load any modules in that file or manually as udev takes care of most modules today.

To check if it gets loaded at boot check with "lsmod", if you cant see it do a "modprobe drm".

----------

## prairie_dad

I can't get at the machine right now to post the problems, but I did try to emerge x11-drm this morning and it failed...the message about modularizing it in the kernel is gone, only to be replaced by some other bug.  I'll post it later...but for now it's not installed and not installable...ideas?

thanks,

dave

----------

## prairie_dad

here's what happened when I tried to emerge x11-drm, which I apparently need or will at least benefit from....any thoughts about how to get it to work?

```
Script started on Wed Aug 22 21:01:49 2007

Calculating dependencies  ... done!

>>> Verifying ebuild Manifests...

>>> Emerging ([33;01m1[39;49;00m of [33;01m1[39;49;00m) [32;01mx11-base/x11-drm-20060608[39;49;00m to /

[32;01m * [39;49;00mx11-drm-20060608-gentoo-0.3.tar.bz2 RMD160 ;-) ...                                                                                                     [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mx11-drm-20060608-gentoo-0.3.tar.bz2 SHA1 ;-) ...                                                                                                       [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mx11-drm-20060608-gentoo-0.3.tar.bz2 SHA256 ;-) ...                                                                                                     [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mx11-drm-20060608-gentoo-0.3.tar.bz2 size ;-) ...                                                                                                       [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mlinux-drm-20060608-kernelsource.tar.bz2 RMD160 ;-) ...                                                                                                 [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mlinux-drm-20060608-kernelsource.tar.bz2 SHA1 ;-) ...                                                                                                   [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mlinux-drm-20060608-kernelsource.tar.bz2 SHA256 ;-) ...                                                                                                 [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mlinux-drm-20060608-kernelsource.tar.bz2 size ;-) ...                                                                                                   [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mchecking ebuild checksums ;-) ...                                                                                                                      [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mchecking auxfile checksums ;-) ...                                                                                                                     [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mchecking miscfile checksums ;-) ...                                                                                                                    [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mchecking x11-drm-20060608-gentoo-0.3.tar.bz2 ;-) ...                                                                                                   [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

[32;01m * [39;49;00mchecking linux-drm-20060608-kernelsource.tar.bz2 ;-) ...                                                                                               [34;01m[ [39;49;00m[32;01mok[39;49;00m[34;01m ][39;49;00m

 [32;01m*[0m Determining the location of the kernel source code

 [32;01m*[0m Found kernel source directory:

 [32;01m*[0m     /usr/src/linux

 [32;01m*[0m Found kernel object directory:

 [32;01m*[0m     /lib/modules/2.6.21-gentoo-r4/build

 [32;01m*[0m Found sources for kernel version:

 [32;01m*[0m     2.6.21-gentoo-r4

>>> Unpacking source...

>>> Unpacking linux-drm-20060608-kernelsource.tar.bz2 to /var/tmp/portage/x11-base/x11-drm-20060608/work

>>> Unpacking x11-drm-20060608-gentoo-0.3.tar.bz2 to /var/tmp/portage/x11-base/x11-drm-20060608/work

mv: cannot stat `/var/tmp/portage/x11-base/x11-drm-20060608/work/patch/*kernel-2.4*': No such file or directory

 [32;01m*[0m Applying various patches (bugfixes/updates) ...

 [32;01m*[0m   001_all_can-2004-1056-lock-checking.patch ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m   002_all_misc-makefile-fixes.patch ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m   003_all_undefined-true-false.patch ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m   004_all_conditional-config-include.patch ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Done with patching

 [32;01m*[0m Running eautoreconf in '/var/tmp/portage/x11-base/x11-drm-20060608/work/drm' ...

 [32;01m*[0m Running aclocal ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Running libtoolize --copy --force --automake ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Running aclocal ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Running autoconf ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Running autoheader ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Running automake --add-missing --copy --foreign ...

[A[152C  [34;01m[ [32;01mok[34;01m ][0m

 [32;01m*[0m Running elibtoolize in: drm

 [32;01m*[0m   Applying sed-1.5.6.patch ...

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/x11-base/x11-drm-20060608/work/drm ...

 [32;01m*[0m Building DRM in /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core...

+ ln -s ../shared-core/drm.h drm.h

+ ln -s ../shared-core/drm_sarea.h drm_sarea.h

+ ln -s ../shared-core/mga_dma.c mga_dma.c

+ ln -s ../shared-core/mga_drm.h mga_drm.h

+ ln -s ../shared-core/mga_drv.h mga_drv.h

+ ln -s ../shared-core/mga_irq.c mga_irq.c

+ ln -s ../shared-core/mga_state.c mga_state.c

+ ln -s ../shared-core/mga_ucode.h mga_ucode.h

+ ln -s ../shared-core/mga_warp.c mga_warp.c

+ ln -s ../shared-core/r128_drv.h r128_drv.h

+ ln -s ../shared-core/r128_drm.h r128_drm.h

+ ln -s ../shared-core/r128_cce.c r128_cce.c

+ ln -s ../shared-core/r128_state.c r128_state.c

+ ln -s ../shared-core/r128_irq.c r128_irq.c

+ ln -s ../shared-core/radeon_drv.h radeon_drv.h

+ ln -s ../shared-core/radeon_drm.h radeon_drm.h

+ ln -s ../shared-core/radeon_cp.c radeon_cp.c

+ ln -s ../shared-core/radeon_irq.c radeon_irq.c

+ ln -s ../shared-core/radeon_mem.c radeon_mem.c

+ ln -s ../shared-core/radeon_state.c radeon_state.c

+ ln -s ../shared-core/r300_cmdbuf.c r300_cmdbuf.c

+ ln -s ../shared-core/r300_reg.h r300_reg.h

+ ln -s ../shared-core/sis_drv.h sis_drv.h

+ ln -s ../shared-core/sis_drm.h sis_drm.h

+ ln -s ../shared-core/tdfx_drv.h tdfx_drv.h

+ ln -s ../shared-core/via_drm.h via_drm.h

+ ln -s ../shared-core/via_drv.h via_drv.h

+ ln -s ../shared-core/via_3d_reg.h via_3d_reg.h

+ ln -s ../shared-core/via_drv.c via_drv.c

+ ln -s ../shared-core/via_irq.c via_irq.c

+ ln -s ../shared-core/via_map.c via_map.c

+ ln -s ../shared-core/via_dma.c via_dma.c

+ ln -s ../shared-core/via_verifier.c via_verifier.c

+ ln -s ../shared-core/via_verifier.h via_verifier.h

+ ln -s ../shared-core/via_video.c via_video.c

+ ln -s ../shared-core/mach64_drv.h mach64_drv.h

+ ln -s ../shared-core/mach64_drm.h mach64_drm.h

+ ln -s ../shared-core/mach64_dma.c mach64_dma.c

+ ln -s ../shared-core/mach64_irq.c mach64_irq.c

+ ln -s ../shared-core/mach64_state.c mach64_state.c

+ ln -s ../shared-core/i915_drv.h i915_drv.h

+ ln -s ../shared-core/i915_drm.h i915_drm.h

+ ln -s ../shared-core/i915_irq.c i915_irq.c

+ ln -s ../shared-core/i915_mem.c i915_mem.c

+ ln -s ../shared-core/i915_dma.c i915_dma.c

+ ln -s ../shared-core/savage_drv.h savage_drv.h

+ ln -s ../shared-core/savage_drm.h savage_drm.h

+ ln -s ../shared-core/savage_bci.c savage_bci.c

+ ln -s ../shared-core/savage_state.c savage_state.c

+ ln -s ../shared-core/nv_drv.h nv_drv.h

sh ../scripts/create_linux_pci_lists.sh < ../shared-core/drm_pciids.txt

rm -f linux

ln -s . linux

make -C /usr/src/linux  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules

make[1]: Entering directory `/usr/src/linux-2.6.21-gentoo-r4'

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_auth.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_bufs.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_context.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_dma.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_drawable.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_drv.o

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_drv.c: In function 'drm_init':

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_drv.c:304: warning: ignoring return value of 'pci_register_driver', declared with attribute warn_unused_result

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_fops.o

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_fops.c: In function 'drm_stub_open':

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_fops.c:189: warning: assignment discards qualifiers from pointer target type

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_ioctl.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_irq.o

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_irq.c: In function 'drm_irq_install':

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_irq.c:135: warning: passing argument 2 of 'request_irq' from incompatible pointer type

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_lock.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_memory.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_proc.o

  CC [M]  /var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_stub.o

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_stub.c:51: error: size of array 'type name' is negative

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_stub.c: In function 'drm_get_dev':

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_stub.c:216: warning: ignoring return value of 'pci_request_regions', declared with attribute warn_unused_result

/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_stub.c:219: warning: ignoring return value of 'pci_enable_device', declared with attribute warn_unused_result

make[2]: *** [/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core/drm_stub.o] Error 1

make[1]: *** [_module_/var/tmp/portage/x11-base/x11-drm-20060608/work/drm/linux-core] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.21-gentoo-r4'

make: *** [modules] Error 2

 [31;01m*[0m Portage could not build the DRM modules. If you see an ACCESS DENIED error,

 [31;01m*[0m this could mean that you were using an unsupported kernel build system. All

 [31;01m*[0m 2.4 kernels are supported, but only 2.6 kernels at least as new as 2.6.6

 [31;01m*[0m are supported.

!!! ERROR: x11-base/x11-drm-20060608 failed.

Call stack:

  ebuild.sh, line 1632:   Called dyn_compile

  ebuild.sh, line 983:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  x11-drm-20060608.ebuild, line 99:   Called die_error

  x11-drm-20060608.ebuild, line 224:   Called die

!!! Unable to build DRM modules.

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/x11-base/x11-drm-20060608/temp/build.log'.

Script done on Wed Aug 22 21:03:11 2007

```

----------

## Rob1n

From the looks of it, that version of x11-drm is no longer compatible with recent kernels.  You could try unmasking a newer version (add "x11-base/x11-drm" to /etc/portage/keywords) and emerging that.

----------

## prairie_dad

 *Rob1n wrote:*   

> From the looks of it, that version of x11-drm is no longer compatible with recent kernels.  You could try unmasking a newer version (add "x11-base/x11-drm" to /etc/portage/keywords) and emerging that.

 

I added the line to keywords, but it doesn't make the least bit of difference.  emerge -pretend returns the same version, 20060608 as was returned _before_ I added it.  the website www.gentoo-portage.com shows two newer versions, both masked for all architectures, but emerge --search doesn't show either of them...

Also, how do you know, from reading that log, that kernel incompatibility is the issue?

thanks,

dave

----------

## Rob1n

Sorry, it should be /etc/portage/package.keywords.

And I'm not certain that kernel compatability is the issue, but the warnings and error sort of suggest that there's some disconnect between what it was expecting and what it's getting in the way of kernel functions and data structures.  Add to that the fact that it's over a year old and there's been some pretty significant changes to the kernel in that time.

----------

