URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97026
[ Назад ]

Исходное сообщение
"make kernel and modules"

Отправлено Валерий , 22-Окт-17 11:39 
Добрый день!
как мне скомпилировать и установить один модуль без пересборки ядра ?
мой модуль ложиться в /boot/modules и так же есть в /boot/kernel/ старый модуль!
Делаю cd /usr/src/sys/modules/compat/linprocfs && make clean && makle && make install
хочу загружать командой kldload linprocfs на что получаю ошибку an error occurred while loading the module.

Как скомпилировать и установить один модуль?


Содержание

Сообщения в этом обсуждении
"make kernel and modules"
Отправлено lavr , 22-Окт-17 17:22 
> Добрый день!
> как мне скомпилировать и установить один модуль без пересборки ядра ?
> мой модуль ложиться в /boot/modules и так же есть в /boot/kernel/ старый
> модуль!
> Делаю cd /usr/src/sys/modules/compat/linprocfs && make clean && makle && make install
> хочу загружать командой kldload linprocfs на что получаю ошибку an error occurred
> while loading the module.
> Как скомпилировать и установить один модуль?

# cd /usr/src/sys/modules/modulename
# make
# make install



"make kernel and modules"
Отправлено Валерий , 23-Окт-17 05:42 
>[оверквотинг удален]
>> как мне скомпилировать и установить один модуль без пересборки ядра ?
>> мой модуль ложиться в /boot/modules и так же есть в /boot/kernel/ старый
>> модуль!
>> Делаю cd /usr/src/sys/modules/compat/linprocfs && make clean && makle && make install
>> хочу загружать командой kldload linprocfs на что получаю ошибку an error occurred
>> while loading the module.
>> Как скомпилировать и установить один модуль?
> # cd /usr/src/sys/modules/modulename
> # make
> # make install

Приветсвую lavr Да в том то и дело что так именно и делаю но ложит он в папку /boot/modules
и есть старая версия когда я компилил когда то давно ядро в /boot/kernel !
Я тоже это читал про
cd /usr/src/sys/modules/modulename
> # make
> # make install

Но он не загружается в ядро ! Подскажите может мне нужно пересобрать ядро указав не собирать данный модуль и потом сделать как выше описано /usr/src/sys/modules/modulename

В общем проблема именно в ошибке что мол linker.hint не пропустит модуль!


"make kernel and modules"
Отправлено lavr , 23-Окт-17 09:45 
>[оверквотинг удален]
>  и есть старая версия когда я компилил когда то давно ядро
> в /boot/kernel !
> Я тоже это читал про
> cd /usr/src/sys/modules/modulename
>> # make
>> # make install
> Но он не загружается в ядро ! Подскажите может мне нужно пересобрать
> ядро указав не собирать данный модуль и потом сделать как выше
> описано /usr/src/sys/modules/modulename
> В общем проблема именно в ошибке что мол linker.hint не пропустит модуль!

не понимаю, мб kldxref? man kldxref

# less /usr/src/UPDATING

20160510:
        Kernel modules compiled outside of a kernel build now default to
        installing to /boot/modules instead of /boot/kernel.  Many kernel
        modules built this way (such as those in ports) already overrode
        KMODDIR explicitly to install into /boot/modules.  However,
        manually building and installing a module from /sys/modules will
        now install to /boot/modules instead of /boot/kernel.


"make kernel and modules"
Отправлено butcher , 23-Окт-17 17:09 
>[оверквотинг удален]
>         installing to /boot/modules instead
> of /boot/kernel.  Many kernel
>         modules built this way
> (such as those in ports) already overrode
>         KMODDIR explicitly to install
> into /boot/modules.  However,
>         manually building and installing
> a module from /sys/modules will
>         now install to /boot/modules
> instead of /boot/kernel.

Вероятно нужно сначала собрать ядро (buildkernel), чтобы создалась инфраструктура в /usr/obj. После этого можно патчить исходники и пересобирать из sys/modules. В этом случае модуль будет собираться в /usr/obj, т.е. вместе с ядром и ставится будет в /boot/kernel.
Если модуль собирается в текущем каталоге sys/modules/modulename то он считается собранным отдельно от ядра и будет ставится в /boot/modules.