Linux как установить драйвер с github

Обновлено: 03.07.2024

В Windows мы привыкли, что перед тем, как новое оборудование будет работать, для него необходимо установить драйвера. Не важно будет ли это USB устройство, веб-камера или видеокарта. Драйвера в Windows выпускаются производителями и распространяются через интернет или на диске в комплекте с оборудованием.

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

Давайте рассмотрим подробнее работу с драйверами linux и Windows.

Как драйвера устройств работают в Windows

После установки Windows вам необходимо установить драйвера устройств, предоставляемые производителями - драйверы материнской платы, набора микросхем, драйверы видеокарты, звука, сети, wifi и многое другое.

Если оборудование не работает в WIndows, то обычно вы можете найти драйвер чтобы заставить его работать. Обычно достаточно подыскать подходящий драйвер на просторах сети.

Как работают драйвера Linux

В Linux ситуация с драйверами очень сильно отличается. Большинство драйверов для вашего оборудования распространяются в виде открытого программного обеспечения и интегрированы в дистрибутив Linux. Эти драйверы linux, как правило, являются частью ядра Linux, но здесь есть исключение - драйверы видеокарты являются частью программного обеспечения Xorg, а драйверы принтера включены в набор CUPS (система печати).

Это значит, что большинство доступных для linux драйверов уже установлены на вашем компьютере, включены вместе с ядром, в виде модулей ядра или вместе с графическим сервером или сервером печати. Установка драйверов Linux почти не нужна. Драйвера в Linux разработаны, в основном, энтузиастами, но иногда их выпускают сами производители оборудования, которые вносят свой вклад в развитие ядра Linux и других проектов, например, это Intel, AMD, а также другие, более мелкие производители.

Все драйвера установлены из коробки, а значит вам не придется искать драйвера для каждого устройства в вашей системе и вручную их устанавливать. Система автоматически определит ваше оборудование и сама загрузит нужные драйвера в linux. Но здесь есть одно исключение - это проприетарные драйвера ядра linux и прошивки.

Установка проприетарных драйверов Linux

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

Чаще всего нам приходится сталкиваться с проприетарными драйверами для видеокарт, например, для NVIDIA, которые обеспечивают лучшую производительность в играх на Linux. Конечно, есть драйверы ядра Linux с открытым исходным кодом, которые заставят вашу видеокарту работать, но они не могут обеспечить достаточный уровень производительности в 3D играх. Некоторые драйвера wifi по прежнему закрыты, поэтому ваше оборудование не будет работать пока вы их не установите.

Установка драйверов в Linux зависит от вашего дистрибутива. В Ubuntu и основанных на ней дистрибутивах есть специальный инструмент - Дополнительные драйверы.


Программа определит, какие проприетраные драйверы устройств Linux можно установить и предложит скачать и установить их. В Linux Mint тоже есть инструмент менеджер драйверов, он работает аналогично инструменту в Ubuntu. Fedora - против проприетарных драйверов Linux и здесь нет никакого способа их установить. Во многих дистрибутивах проприетарные драйверы устройств linux можно найти в неофициальных репозиториях. Каждый дистрибутив решает эту проблему по-разному.

Установка прошивок в Linux

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

Чтобы установить прошивки в Linux необходимо скачать и установить пакет linux-firmware, это можно сделать с помощью следующей команды в Ubuntu:

sudo apt install linux-firmware

А в RPM дистрибутивах:

sudo yum install linux-firmware

Также возможно придется установить другие прошивки. Чтобы посмотреть подробнее, что нужно, и как установить, посмотрите лог ядра dmesg.

Как установить драйверы для принтера в Linux

Возможно, вам понадобится поставить драйвера linux для принтера. Однако при использовании инструмента для конфигурации принтеров - CUPS вы можете выбрать нужный драйвер из баз данных. Как правило, программа определяет производителя вашего принтера, а в списке вы можете выбрать точную модель принтера.

Вы также можете попытаться определить принтер по описанию PostScript или PPD файла. Эти файлы часто входят в состав драйвера принтера для Windows и вы можете найти PPD файл, который сделает работу вашего принтера лучше. Файл PPD можно выбрать в процессе работы CUPS.

Принтер может стать головной болью в Linux и многие из них могут не работать должным образом или даже вообще не работать. Так что при выборе принтера лучше сразу смотреть только те, которые точно будут работать с Linux.

Как заставить работать другое программное обеспечение

Иногда вам может понадобиться поставить драйвера linux для другого оборудования, которые не предоставляются автоматически. Например, NVIDIA предоставляет собственный инсталлятор для своего драйвера. Но тем не менее лучше использовать драйвера упакованные для вашего дистрибутива, они будут работать лучше.

В общем, если в Linux что-то не работает из коробки, и если оно все еще не работает после установки драйвера или прошивки, то, скорее всего, оно уже не будет работать вообще. Если вы используете старую версию Linux, может помочь обновление до самой новой версии. Это обеспечит лучшую аппаратную поддержку и обновления. Но если что-то все еще не работает, то , скорее всего, оно уже работать не будет.

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

Выводы

Вы не должны возиться с драйверами слишком много. Драйвера в Linux с открытым исходным кодом и они интегрированы в ядро. В большинстве случаев вам не нужно устанавливать их или изменять, система автоматически определит оборудование и загрузит автоматические драйверы. Когда вы установили Linux, ваше оборудование должно работать либо сразу, либо после установки нескольких проприетарных драйверов.

Вы можете устанавливать и драйвера linux, размещенные на официальных сайтах производителей, но проприетарные драйвера могут работать не настолько хорошо, как подготовленные для вашей системы.

Звезда активна
Звезда активна
Звезда активна
Звезда активна
Звезда активна

Как известно wi-fi адаптеры от компании Mediatek, плохо совместимы с операционной системой Linux. Ниже приведена краткая инструкция о том, как заставить работать Mediatek MT7630E.

Официально компанией Mediatek бал выпущен работающий драйвер для Mediatek MT7630E для Linux, поддерживающий только ядра версии 3.13 и 3.14. В данном руководстве будет рассмотрен модифицированный драйвер, совместимый с версией ядра Linux 4.2 и выше.

Скачивание драйвера

Установка

Для установки драйвера Mediatek MT7630E просто следуйте нижеприведенным инструкциям:

  1. Распакуйте скачанный архив домашнюю или любую директорию;
  2. Откройте терминал и перейдите в распакованную директорию:
  3. Теперь выполните команды одна за другой

Введи свой пароль и ждите завершения установки.

После завершения установки драйвера вы увидите, что в вашем менеджере сетей появились устройства Wi-Fi И Bluetooth. Драйвер будет загружаться автоматически во время загрузки системы и вам не нужно будет загружать его самостоятельно каждый раз.

Еще можно установить драйвер с динамической поддрержкой модулей ядра Linux (dkms), что позволит не переустанавливать его каждый раз, когда ядро будет обновлено. Для этого следует устанавливать драйвер используя следующие команды:


Вам сказали «клонировать репо и построить его», и вы не знаете, что делать дальше? Мы покажем вам, как запустить эту программу на GitHub в Linux, даже если вы новичок.

Инструкции, составляющие компьютерную программу, пишутся, редактируются и сохраняются в текстовых файлах. Затем эти файлы обрабатывает программа, называемая компилятором. Этот создает исполняемую версию программы. Текстовые файлы инструкций называются исходным кодом. Версия программы, которая действительно может работать на компьютере, называется двоичной или исполняемой.

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

Программы контроля версий

Все файлы исходного кода в проекте называются базой кода. В крупных проектах над кодовой базой часто работает много разработчиков. Каждое изменение кода необходимо отслеживать и идентифицировать. При необходимости изменения должны быть обратимыми. Если разные разработчики вносят изменения в один и тот же файл исходного кода, их правки необходимо объединить.

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

Маленькая штука под названием Git

Линус Торвальдс, создатель ядра Linux , разработал программу контроля версий под названием Git для администрирования кодовой базы ядра Linux. В настоящее время это наиболее широко используемое программное обеспечение для контроля версий. Миллионы людей используют его буквально.

В Git кодовая база проекта хранится в репозиториях. В дополнение к локальным репозиториям, которые находятся на компьютерах разработчика и, возможно, на центральном сервере в сети, рекомендуется иметь внешний или удаленный репозиторий.

И здесь на помощь приходит GitHub.

GitHub

GitHub был создан в результате успеха git. Основатели увидели растущую потребность в безопасных удаленных репозиториях git. Они начали бизнес предоставление облачной платформы чтобы группы разработчиков могли размещать удаленные репозитории. По состоянию на апрель 2019 года на GitHub размещено более 100 миллионов репозиториев.

Если приложение является проектом с открытым исходным кодом, очень высоки шансы, что оно будет размещено на GitHub. Доступны и другие платформы репозиториев, такие как BitBucket и GitLab , но на GitHub приходится львиная доля репозиториев с открытым исходным кодом.

Проверь это - Как получить доступ к странице Microsoft Edge about: flags

Анатомия репозитория

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

Если вы разбираетесь в одной кухне, вы можете ориентироваться на любой кухне. То же самое и с репозиториями. Как только вы поймете условные обозначения, вы поймете, где найти то, что вам нужно.

Итак, как получить копию репозитория на свой компьютер и как встроить программу в двоичный исполняемый файл?

Файл readme

Традиционно включать файл readme в репозиторий. Его можно назвать readme, Readme или README. Он может иметь расширение «.md» или вообще не иметь расширения.

Посмотрим на GitHub репозиторий для редактора Atom . Вы видите длинный список папок и файлов. Прокрутите вниз, и вы увидите содержимое файла README.md.

GitHub автоматически помещает содержимое файла readme на главную страницу репозитория. Если файл readme имеет расширение «.md», он будет содержать Разметка Markdown язык. Это позволяет разработчикам использовать элементы стиля, такие как шрифты, маркеры и изображения.

Как правило, в файле readme есть разделы, в которых рассказывается, о чем идет речь, о типе лицензии, о том, кто поддерживает проект, как принять участие и как создать и запустить приложение.

Если в нем нет фактических инструкций по сборке, он сообщит вам, где найти эту информацию. Другая информация, полезная для создания приложения, такая как необходимые инструменты сборки и другие зависимости, может быть указана здесь, или ссылка может привести вас к этой информации.

Репозиторий коробок

Файл readme тоже короче. В нем есть раздел под названием «Разработка». В этом разделе есть ссылка под названием «Построение из исходного кода». Если мы перейдем по этой ссылке, мы должны найти информацию нам нужно.

Ссылка на инструкцию по сборке приложения боксов.

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

Зависимости

На странице «Сборка из исходного кода» есть раздел «Сборка в Linux», и это как раз то, что нам нужно. Он говорит, что мы должны иметь Компилятор C , Бизон, и Flex установлены.

Проверь это - Systemd изменит работу вашего домашнего каталога Linux

Необходимый набор инструментов для создания приложения Box

В инструкциях по сборке сказано, что нужно выполнить команду make, поэтому нам также понадобится make.

Установка набора инструментов

В Ubuntu должны были быть установлены Git, Flex, Bison и make. Вот команды:





В Fedora должны были быть установлены Flex, Bison и make. Вот команды:


На Manjaro должны были быть установлены компилятор GCC, Flex и Bison. Вот команды:




Клонирование репозитория

Каждый репозиторий GitHub имеет определенный веб-адрес, используемый Git для клонирования репозитория на ваш компьютер. На главной странице репозитория ящиков есть зеленая кнопка с надписью «Клонировать или скачать».

В

Перейдите в каталог, в который мы хотим клонировать репозиторий, и затем используйте эту команду. Если ваше окно терминала поддерживает это, вы можете скопировать и вставить веб-адрес в команду. Нажмите Ctrl + Shift + V, чтобы вставить в окно терминала GNOME.

Git клонирует удаленный репозиторий и создает на вашем компьютере локальный. Он сообщает нам, что клонируется в каталог под названием «ящики».

Клонированный репозиторий в окне терминала.

Каталог боксов создается в каталоге, из которого вы запустили команду git. Если мы переключимся в каталог box и посмотрим на его содержимое, мы увидим тот же список файлов и папок, который мы видели на странице GitHub.

Большой! Мы успешно клонировали исходный код и другие файлы на наш компьютер. Теперь нам нужно создать приложение.

Сборка приложения

Утилита make читает и выполняет набор инструкций из make-файла. Эти инструкции говорят make, как скомпилировать программу и связать ее вместе. make передает инструкции компилятору и другим инструментам сборки.

Команда, которую нам предлагают использовать, вызовет make дважды. Первый вызов make создает приложение, а второй запускает набор тестов.

Команда, которую нам сказали использовать инструкции по сборке:


Многие строки вывода быстро прокручиваются в окне терминала. Примерно через минуту вы вернетесь в командную строку.

Проверь это - Как удалить стандартные приложения из Windows 10

Развертывание приложения боксов

Приложение создано, и у нас есть исполняемый двоичный файл. Теперь мы должны скопировать двоичный файл в каталог / usr / bin /. Это позволяет оболочке находить его, когда мы пытаемся его использовать.

Команды копирования файлов с GitHub.

Используйте sudo для запуска этих команд. Первая команда копирует справочную страницу в каталог man1:


Затем скопируйте глобальный файл конфигурации в каталог в / usr / share /:


Наконец, скопируйте двоичный файл в / usr / bin:


Тестирование приложений коробок

Посмотрим, все ли работает! Попытайтесь открыть страницу руководства для команды боксов.


Это воодушевляет! Вы видите страницу руководства, в которой рассказывается, как использовать команду боксов.


Нажмите «Q», чтобы выйти из системы man, и попробуйте использовать команду box.


И получаем ответ:

коробки выводят в окно терминала.

Это может показаться немного разочаровывающим, учитывая все усилия, которые вы приложили, но суть этого упражнения заключалась в том, чтобы помочь вам вытащить репозиторий из GitHub и построить приложение.

Команда боксов позволяет вам заключать текст, который передается в него, в самые разные фреймы. Некоторые из них можно использовать в качестве комментариев в файлах исходного кода. Приведенный выше формат будет работать, например, как комментарий в файле исходного кода C. Остальные чисто декоративные. Параметр -d (дизайн) позволяет выбрать стиль рамки.


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

Сборка завершена

Шаги по сборке из исходного кода обычно просты:

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

Они особенно полюбились тем, кто тестирует на безопасность Wi-Fi сети, поскольку это современные беспроводные адаптеры, которые могут переходить в режим монитора и выполнять беспроводные инъекции.

Лучше из этого списка является Alfa AWUS1900.

Раньше в драйвере realtek-rtl88xxau-dkms присутствовала поддержка для чипсета RTL8814AU и для работы этих карт достаточно было установить указанный драйвер — на Kali Linux это можно было сделать прямо из основного репозитория пакетов, на других системах нужно было компилировать. Но теперь для чипсета RTL8814AU поддержка в драйвере realtek-rtl88xxau-dkms отключена! Для этого чипсета сделан отдельный драйвер, который может конфликтовать с RTL8814AU! Эти изменения произошли недавно, поэтому старые инструкции по установке драйвера для Alfa AWUS1900 не работают.

Если вам не нужен драйвер realtek-rtl88xxau-dkms (поддерживает теперь чипсеты RTL8812AU/21AU), то удалите его:

Если он вам нужен, то можете не удалять и проверить, будут ли они конфликтовать.

Как установить драйвер Alfa AWUS1900 (RTL8814AU) в Kali Linux

Для установки драйвера RTL8814AU выполните следующие команды:

Скачайте исходный код драйвера:

Установите драйвер как модуль DKMS — это означает, что при обновлении ядра вам не придётся вручную перекомпилировать драйвер под новую версию ядра. Это автоматически будет делать модуль DKMS. Также обратите, что команда make не нужна, поскольку компиляцию выполнить модуль DKMS.


Чтобы драйвер заработал, может потребоваться перезагрузка.

Обратите внимание на строки:

DKMS сообщает, что установка завершена и что статус для 8814au «установлено».

Если вы захотите удалить этот драйвер, то перейдите в папку с исходным кодом и выполните там:

Внимание, если вы столкнулись с ошибкой, то проверьте раздел «Установка драйвера на ядро Linux >=5.12».

Как установить драйвер rtl8814au в Arch Linux, BlackArch

Начните с установки программы pikaur по статье «Автоматическая установка и обновление пакетов AUR». Программа pikaur — это аналог pacman, но для работы с AUR, она позволяет автоматически устанавливать и обновлять программы из AUR. Вы обязательно полюбите pikaur!

Затем выполните команду:

Как установить драйвер rtl8814au в Debian, Linux Mint, Ubuntu

Для установки драйвера rtl8812au выполните следующие команды.

Скачайте исходный код драйвера:

Установите драйвер как модуль DKMS — это означает, что при обновлении ядра вам не придётся вручную перекомпилировать драйвер под новую версию ядра. Это автоматически будет делать модуль DKMS. Также обратите, что команда make не нужна, поскольку компиляцию выполнить модуль DKMS.


DKMS сообщает, что установка завершена и что статус для 8814au «установлено».

Удаление драйвера

Чтобы удалить драйвер из вашей системы, откройте терминал в каталоге с исходным кодом и выполните следующую команду:

Переключение между режимами USB2.0/3.0

Изначально драйвер будет использовать режим USB2.0, который ограничит пропускную способность 5G 11ac (ширина полосы USB2.0 только 480 Мбит/с => пропускная способность около 240 Мбит/с). Но когда modprobe добавляет параметры «rtw_switch_usb_mode=1» в опции инициализации драйвера 8814au, то он переключится в режим USB3.0.

Переключение usb2.0 => usb3.0

Переключение usb3.0 => usb2.0

Как перевести Alfa AWUS1900 в режим монитора

Главное, что нужно уже усвоить, используйте команды "ip" и "iw" вместо "ifconfig" и "iwconfig" — это касается работы со всеми Wi-Fi адаптерами.

Подробности смотрите в статьях:

Установка драйвера на ядро Linux >=5.12

При установки драйвера на ядра Linux >=5.12 вы можете столкнуться с ошибкой:

Драйвер в его текущем виде не совместим с ядром Linux версии >=5.12. Но уже имеются патчи, которые решают проблему. Несомненно, патчи будут добавлены в основную ветку, пока это не случилось, используйте следующий код для установки драйвера:

Читайте также: