Dkms install kali linux

Автоматическая сборка модуля ядра ОС с помощью фреймворка DKMS в Linux

Оригинал: How to build a kernel module with DKMS on Linux
Автор: Dan Nanni
Дата публикации: 8 апреля 2016 г.
Перевод: А.Панин
Дата перевода: 24 июля 2016 г.

Автоматическая сборка модуля ядра ОС с помощью фреймворка DKMS в Linux

Представьте, что вам понадобилось установить драйвер для недавно купленной графической карты, адаптера Wi-Fi или сетевой карты и по какой-то причине вы решили самостоятельно выполнить его компиляцию из доступных исходных кодов и установку (например, из-за того, что собранной версии драйвера, совместимой с вашей версией ядра ОС, попросту не существует, его собранная версия уже устарела или вам нужно использовать нестандартные параметры сборки). Для этого вы загрузили официальный исходный код этого драйвера, скомпилировали его версию, совместимую с вашей версией ядра ОС, установили скомпилированный модуль ядра ОС в систему и активировали его. Новое устройство было успешно распознано системой и начало корректно функционировать.

А теперь подумайте о том, что произойдет, если вы впоследствии обновите версию ядра ОС. Ваш драйвер был собран вне официального дерева исходных кодов ядра Linux, поэтому при обновлении версии ядра ОС драйвер перестанет корректно функционировать.

Как же решить данную проблему? Ну, вам придется повторно скомпилировать версию драйвера устройства, которая будет совместима с текущей версией ядра ОС, и установить ее в систему. Очевидно, что пересборка драйвера при каждом обновлении ядра ОС является не самым оптимальным решением.

В подобной ситуации может оказаться весьма полезным фреймворк динамической поддержки модулей ядра DKMS (Dynamic Kernel Module Support). Фреймворк DKMS позволяет осуществлять автоматическую пересборку модулей ядра Linux с использованием текущего дерева его исходных кодов по мере обновления версий. Производители аппаратного обеспечения нередко выпускают драйверы в виде пакетов DKMS, поэтому пользователи могут свободно обновлять версии ядер своих систем, не заботясь о сборке совместимых версий драйверов устройств. Конечный пользователь может настроить DKMS с целью автоматической пересборки любого драйвера устройства или модуля, исходный код которого не является частью официального дерева исходных кодов ядра Linux.

В рамках данной статьи я постараюсь продемонстрировать методику настройки механизма автоматической пересборки модуля ядра ОС на основе фреймворка DKMS в Linux.

Установка компонентов фреймворка DKMS в Linux

Вы можете установить компоненты фреймворка DKMS в различных дистрибутивах Linux таким же образом, как показано ниже. Для корректной работы DKMS необходим сборочный инструментарий (включающий такие инструменты, как gcc , make ) и набор заголовочных файлов, причем оба этих компонента должны автоматически устанавливаться силами менеджера пакетов программного обеспечения дистрибутива.

Debian, Ubuntu и Linux Mint:

В первую очередь следует подключить репозиторий EPEL, после чего достаточно выполнить следующую команду:

Автоматическая сборка модуля ядра ОС с помощью фреймворка DKMS

Теперь давайте разберемся с тем, как настроить фреймворк DKMS для автоматической пересборки модуля ядра ОС после обновления последнего. По сути, вам придется создать файл конфигурации DKMS для сборки и установки выбранного модуля ядра ОС в систему. После его создания установка всех обновлений ядра ОС будет инициировать пересборку заданного модуля средствами DKMS.

Читайте также:  P73 07680 windows svr std 2019

В данной статье я буду использовать в качестве примера модуль ядра ОС под названием ixgbe , который по своей сути является драйвером для сетевых карт производства компании Intel.

Во-первых, следует загрузить и распаковать архив исходного кода драйвера устройства в директорию /usr/src/ — .

После этого нужно создать файл конфигурации с именем dkms.conf в этой же директории.

Далее следует добавить исходный код данного модуля в дерево исходного кода ядра ОС на уровне фреймворка DKMS:

Более простая эквивалентная команда:

Теперь нужно собрать версию данного модуля, совместимую с текущей версией ядра ОС:

В данном случае также может использоваться более простая эквивалентная команда:

Наконец, нужно установить модуль, совместимый с текущей версией ядра ОС, в систему:

Разумеется, вы также можете воспользоваться более простой эквивалентной командой:

На данный момент модуль ядра ОС должен быть успешно установлен в систему. Вы можете проверить статус его установки с помощью следующей команды:

Проверка работоспособности механизма автоматической пересборки модуля после обновления ядра ОС

После того, как фреймворк DKMS настроен для автоматической пересборки драйвера ixgbe , я предлагаю рассмотреть изменения в системе, которые произойдут в результате обновления версии ядра ОС. Я буду обновлять ядро ОС версии 3.10.0-229 до версии 3.10.0-327 . В качестве тестового окружения будет использоваться дистрибутив CentOS 7, поэтому для обновления версии ядра ОС я воспользуюсь утилитой yum . Обратите внимание на то, что для корректной пересборки драйвера устройства средствами DKMS вместе с пакетами программного обеспечения с компонентами новой версии ядра ОС должен устанавливаться соответствующий пакет программного обеспечения с его заголовочными файлами.

Перед обновлением необходимо узнать версии драйвера ixgbe и текущего ядра ОС.

Несложно заметить, что драйвер устройства версии 4.3.15 был установлен средствами DKMS в директорию модулей ядра Linux версии 3.10.0-229 .

А теперь попробуем установить новую версию ядра ОС и соответствующих заголовочных файлов:

После перезагрузки с задействованием новой версии ядра ОС следует снова проверить версию драйвера ixgbe .

Вы должны обнаружить, что драйвер ixgbe той же версии был автоматически пересобран для ядра Linux новой версии 3.10.0-327 .

Обратите внимание на то, при обновлении версии ядра ОС без установки соответствующего набора заголовочных файлов сборка модуля средствами DKMS попросту не будет инициирована, следовательно, драйвер устройства не будет пересобран из своих исходных кодов. Вместо него будет использоваться официальный драйвер из состава новой версии ядра ОС (если такой доступен).

Например, ниже показан результат обновления ядра ОС без установки соответствующих заголовочных файлов, причем несложно заметить, что в результате был загружен немного устаревший драйвер устройства ixgbe из его состава.

Вы всегда можете пересобрать необходимый драйвер устройства средствами DKMS, самостоятельно инициировав его сборку. Конечно же, перед этим этом следует убедиться в наличии в системе заголовочных файлов для текущей версии ядра ОС.

Заключение

В данной статье была продемонстрирована методика использования фреймворка DKMS для автоматической пересборки модуля ядра ОС. Бесспорно, использование фреймворка DKMS не всегда является оправданным решением, особенно в системах Linux, находящихся в промышленной эксплуатации, в которых обычно запрещена установка компонентов сборочного инструментария. Но при этом DKMS значительно упрощает жизнь разработчиков программного обеспечения и пользователей персональных настольных систем, автоматически собирая необходимые модули ядра ОС по мере установки его обновлений.

Читайте также:  Как сделать свой виджет для windows

Источник

Ethical hacking and penetration testing

InfoSec, IT, Kali Linux, BlackArch

How to install driver for Wi-Fi for adapters with RTL8814AU chipset (Alfa AWUS1900)

What is the chipset in Alfa AWUS1900

The RTL8814AU chipset has the following W-Fi adapters:

  • Alfa AWUS1900
  • TRENDnet TEW-809UB
  • ASUS USB-AC68
  • TP-LINK Archer T9UH
  • D-Link DWA-192

They are especially loved by those who perform wireless security testing of Wi-Fi networks, since they are modern wireless adapters that support monitor mode and can perform wireless injections.

The best on this list is the Alfa AWUS1900.

Previously, the realtek-rtl88xxau-dkms driver had support for the RTL8814AU chipset and for these wireless cards to work, it was enough to install the specified driver – on Kali Linux this could be done directly from the default repository, on other distributions it had to be compiled. But now RTL8814AU chipset support is disabled in the realtek-rtl88xxau-dkms driver! A separate driver has been made for this chipset, which may conflict with RTL8814AU! These changes are recent, so the old instructions for installing the driver for the Alfa AWUS1900 do not work.

If you do not need the realtek-rtl88xxau-dkms driver (now supports RTL8812AU/21AU chipsets), then uninstall it:

If you need it, then do not delete it and check if they will conflict.

How to install the Alfa AWUS1900 (RTL8814AU) driver in Kali Linux

To install the RTL8814AU driver, run the following commands.

Download driver source code:

Install the driver as a DKMS module – this means that when updating the kernel, you do not have to manually recompile the driver for the new kernel version. This will be done automatically by the DKMS module. Also note that the make command is unnecessary since the compilation is done by the DKMS module.

A reboot may be required for the driver to work.

Pay attention to the lines:

DKMS reports that the installation is complete and that the status for 8814au is “installed”.

If you want to remove this driver, then go to the source code folder and execute there:

How to install rtl8814au driver in Arch Linux, BlackArch

Start by installing the pikaur program according to the “Automatic installation and update of AUR packages” article. The pikaur program is analogous to pacman, but for working with the AUR, it allows you to automatically install and update programs from the AUR. You will definitely love pikaur!

Then run the command:

How to install rtl8814au driver in Debian, Linux Mint, Ubuntu

Run the following commands to install the rtl8812au driver.

Download driver source code:

Install the driver as a DKMS module – this means that when updating the kernel, you do not have to manually recompile the driver for the new kernel version. This will be done automatically by the DKMS module. Also note that the make command is unnecessary since the compilation is done by the DKMS module.

DKMS reports that the installation is complete and that the status for 8814au is “installed”.

Removing the driver

To remove a driver from your system, open a terminal in your source directory and run the following command:

How to set Alfa AWUS1900 into monitor mode

The main thing to learn by now is to use the “ip” and “iw” commands instead of “ifconfig” and “iwconfig” – this applies to all Wi-Fi adapters.

Читайте также:  Tsc bartender ultralite mac os

USB2.0/3.0 mode switch

Initial it will use USB2.0 mode which will limit 5G 11ac throughput (USB2.0 bandwidth only 480Mbps => throughput around 240Mbps). When modprobe add following options will let it switch to USB3.0 mode at initial driver:

Источник

Проблема с wifi драйверами kali linux

desiignerlol

Добрый день. Прошу помощи!
Решил поставить на второй ноутбук (hp bw049ur) основной и единственной системой kali linux, установилось вроде бы успешно , но никак не запускается wifi (Адаптеры wifi не найдены)

lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1576
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 1577
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 98e4 (rev da)
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 15b3
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157b
00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 157c
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 157c
00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 157c
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157b
00:08.0 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 1578
00:09.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157d
00:09.2 Audio device: Advanced Micro Devices, Inc. [AMD] Device 157a
00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 20)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 4b)
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 49)
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 4b)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 11)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15b0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15b1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15b2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15b3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15b4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15b5
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430] (rev ff)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device d723

lsusb
Bus 001 Device 004: ID 0bda:b009 Realtek Semiconductor Corp.
Bus 001 Device 003: ID 1bcf:0005 Sunplus Innovation Technology Inc. Optical Mouse
Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05c8:03ac Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Делал все по инструкции, но на этапе 3 появляется ошибка

# dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414

Kernel preparation unnecessary for this kernel. Skipping.

Building module:
cleaning build area.
‘make’ all KVER=4.14.0-kali3-amd64. (bad exit status: 2)
Error! Bad return status for module build on kernel: 4.14.0-kali3-amd64 (x86_64)
Consult /var/lib/dkms/rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414/build/make.log for more information.

Опыта работы с линуксом нет, поэтому прошу совета/наводки как решить эту проблему

Источник

Оцените статью