Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

kernel OK - Modules KO

0 views
Skip to first unread message

jf-f

unread,
Dec 5, 2009, 7:29:11 AM12/5/09
to
Hi u all,

Here is the problem :
I've just compiled the new kernel following these steps :
- emerge the new sources
- eselect to the new kernel
- make menuconfig - make && make modules_install
- copy the new kernel image to /boot
- add the new kernel to grub.conf -> reboot

Then everything seems to work but it seems that it points to the wrong
modules version. At boot, il says :
"This is jf_hp at chez.moi ( linux i686 2.6.30.gentoo-r8 )"
if I run eselect kernel list, I get :
Available kernel symlink targets:
[1] linux-2.6.30-gentoo-r8
[2] linux-2.6.31-gentoo-r6 *
jf@jf_hp / $

and when I want to make some modules I need, it puts them in the wrong place
:

"make -C /home/jf/3650/s2-liplianin/v4l
make[1]: Entering directory `/home/jf/3650/s2-liplianin/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/home/jf/3650/s2-liplianin/v4l/firmware'
make[2]: Leaving directory `/home/jf/3650/s2-liplianin/v4l/firmware'
make -C firmware
make[2]: Entering directory `/home/jf/3650/s2-liplianin/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/home/jf/3650/s2-liplianin/v4l/firmware'
Kernel build directory is /lib/modules/2.6.30-gentoo-r8/build
make -C /lib/modules/2.6.30-gentoo-r8/build SUBDIRS=/home/jf/3650/s2-
liplianin/v4l modules
make[2]: Entering directory `/usr/src/linux-2.6.30-gentoo-r8'
Building modules, stage 2.
MODPOST 313 modules
make[2]: Leaving directory `/usr/src/linux-2.6.30-gentoo-r8'
./scripts/rmmod.pl check
found 313 modules
make[1]: Leaving directory `/home/jf/3650/s2-liplianin/v4l'

then I can't load these modules, as it doesn't find them !

Any help would make me happy :)

cu,
jf


Aragorn

unread,
Dec 5, 2009, 8:15:34 AM12/5/09
to
On Saturday 05 December 2009 13:29 in alt.os.linux.gentoo, somebody
identifying as jf-f wrote...

I have no experience with "eselect", but my recommendation would be to
build your kernel with all the required drivers statically linked, i.e.
use "Y" instead of "M" in the kernel configuration. First write down
what drivers you need, based upon the hardware in the machine and any
potential hardware you plan on connecting to the machine for which an
in-tree driver exists, plus of course all the filesystems that you want
to have support for. For instance, if your root filesystem is on ext3,
then you should definitely have ext3 statically linked into the kernel,
or otherwise you're going to need an /initrd/ with ext3 support.

Since you're already using "menuconfig", it's trivial to select all the
required drivers to be built in. The advantage is that you won't need
an /initrd/ anymore and that the kernel will boot a little bit faster -
not that this is really noticeable.

Do however remember to leave the option for loading kernel modules
enabled if this is a kernel for a desktop/workstation machine and you
are going to use proprietary video and/or wireless drivers on it. As
those drivers come as binary blobs only, you cannot build them into the
kernel image directly. (It would also be a violation of the GPL.)

--
*Aragorn*
(registered GNU/Linux user #223157)

jf-f

unread,
Dec 5, 2009, 11:54:15 AM12/5/09
to
Aragorn wrote:


> I have no experience with "eselect", but my recommendation would be to
> build your kernel with all the required drivers statically linked, i.e.
> use "Y" instead of "M" in the kernel configuration. First write down
> what drivers you need, based upon the hardware in the machine and any
> potential hardware you plan on connecting to the machine for which an
> in-tree driver exists, plus of course all the filesystems that you want
> to have support for. For instance, if your root filesystem is on ext3,
> then you should definitely have ext3 statically linked into the kernel,
> or otherwise you're going to need an /initrd/ with ext3 support.
>
> Since you're already using "menuconfig", it's trivial to select all the
> required drivers to be built in. The advantage is that you won't need
> an /initrd/ anymore and that the kernel will boot a little bit faster -
> not that this is really noticeable.
>
> Do however remember to leave the option for loading kernel modules
> enabled if this is a kernel for a desktop/workstation machine and you
> are going to use proprietary video and/or wireless drivers on it. As
> those drivers come as binary blobs only, you cannot build them into the
> kernel image directly. (It would also be a violation of the GPL.)
>

Thanks for your answer :)
That is what I do : "Y" for modules that work, an "M" for others ( nvidia,
...) .
Now, the boot is OK, and indicates
"This is jf_hp at chez.moi ( linux i686 2.6.31.gentoo-r6 )"
which matches the kernel
But I can't build the dvb modules I need, they still build in "2.6.30-r8"
I've had a look at makefile, but I can't see what to chage there.

jf

jf-f

unread,
Dec 5, 2009, 12:40:35 PM12/5/09
to
jf-f wrote:

> Thanks for your answer :)
> That is what I do : "Y" for modules that work, an "M" for others ( nvidia,
> ...) .
> Now, the boot is OK, and indicates
> "This is jf_hp at chez.moi ( linux i686 2.6.31.gentoo-r6 )"
> which matches the kernel
> But I can't build the dvb modules I need, they still build in "2.6.30-r8"
> I've had a look at makefile, but I can't see what to chage there.
>
> jf

OK, it works now : it was a building issue.I ran "make release", which put
everything as it should be. Then I got compiling errors, but downloading the
last release of the modules fixed it up :)

Thank you again,
jf

0 new messages