Etercifs/DKMS
HOWTO - Сборка драйвера с использованием DKMS
DKMS (Dynamic Kernel Module Support) - технология позволяющая автоматически перестраивать текущие модули ядра с драйверами устройств после обновления версии ядра.
DKMS не поможет, если версию ядра вы поменяли на ту, что ещё не поддерживается etercifs, но достаточно часты случаи, когда обновляются просто сборки ядра, или минорная версия (четвёртая цифра).
Сборка в дистрибутиве Mandriva
1. Установить пакеты etercifs и dkms-etercifs одинаковых версий. Далее всё должно собраться автоматически. Если запустить сборку командой service etercifs build, при установленном пакете dkms-etercifs (и в системе будут команды dkms и файла dkms.conf), то будет выполнена сборка с использованием dkms.
Сборка на примере Ubuntu
0. Допустим, у нас версия etercifs - 3.8.0 и уже установлены пакеты с заголовочными файлами исходников ядра
1. Установить пакеты etercifs и dkms неважно в какой последовательности
2а. Установить пакет dkms-etercifs версии 3.8.0 если он имеется.
3а. Посмотреть вывод команды sudo dkms status -m etercifs -v 3.8.0
4а. Если увидели вывод "etercifs, 3.8.0: added", то переходим к пункту 6., если не увидели, то к пункту 5.
2б. Если такого пакета (dkms-etercifs) нет, то нужно выполнить следующие действия:
3б. создать папку /usr/src/etercifs-3.8.0
4б. в этой папке создать файл dkms.conf следующего содержания (зависит от версии):
# DKMS file for Linux CIFS with Etersoft's extensions PACKAGE_NAME="etercifs" PACKAGE_VERSION="3.8.0" BUILT_MODULE_NAME[0]="etercifs" DEST_MODULE_LOCATION[0]="/kernel/fs/cifs/" REMAKE_INITRD="no" AUTOINSTALL="YES"
5. Выполняем команду: sudo dkms add -m etercifs -v 3.8.0 --rpm_safe_upgrade
6. Выполняем команду sudo /etc/init.d/etercifs build
7. После этого должно всё собраться, а вывод команды sudo dkms status -m etercifs -v 3.8.0 должен выглядеть так (зависит от версий etercifs и ядра):
etercifs, 3.8.0, 2.6.27-7-generic, i686: installed (original_module exists)
а вывод команды sudo lsmod | grep etercifs - так (примерно, главное - наличие "etercifs"):
etercifs 251252 1
Для более детального изучения возможностей DKMS следует изучить man dkms или почитать про это в Сети:
Ссылки
- DKMS Project - http://linux.dell.com/projects.shtml
- DKMS manpage - http://linux.dell.com/dkms/manpage.html
- Использование DKMS для перестроения драйверов без их пересборки при обновлении Linux ядра - http://www.opennet.ru/tips/info/1826.shtml
- Сборка etercifs с использованием DKMS без пакета dkms-etercifs - http://bugs.etersoft.ru/show_bug.cgi?id=1185#c118