пропрієтарні драйвери

Пропрітерние драйвери в Fedora Linux

вступ

Багато лаються, що процес установки пропрієтарних драйверів пристроїв важкий, складний, після різних оновлень настройки злітають, Х-и не запускаються (на nvidia або catalyst).

Процес установки не так важкий, як здається, всі труднощі від нерозуміння тих кроків, які відтворює людина за якоюсь інструкції. Отже, в Fedora Linux пропрієтарних драйвери пристроїв надаються в переважній більшості сховищем і командою rpmfusion.org. Всі драйвери носять однотипне назву, яке починається з "kmod-" (Kernel module, модуль ядра). Як приклад kmod-nvidia, kmod-catalyst, kmod-wl, kmod-rt2870. Що з себе являє пакет з модулем ядра? Пакет kmod містить вже готові, скомпільовані модулі ядра під певну версію, тобто з кожним оновленням ядра потрібен новий пакет kmod. Були випадки, коли ядро ​​приходило, а оновлення пакетів kmod - немає, хлопці з rpmfusion усвідомлюють, що цей механізм не є досконалим, схильний до людського фактору і може бути причиною збою роботи всієї системи, тому в rpmfusion був розроблений механізм, а простіше кажучи новий варіант пакетів для модулів ядра, який повністю сумісний з нативними kmod'амі, пакети ці починаються з "akmod-" (Automatic Kernel Module), і містять вихідні коди для модулів ядра, а також залежать від набору утиліт akmods. akmods стартує при запуску системи і перевіряє наявність kmod-пакетів для поточного ядра, якщо таких немає, то самостійно необхідний пакет збирає і встановлює. Таким чином, незалежно від оновлень, у нас в руках завжди працює драйвер.

Мінуси і плюси kmod і akmod

У kmod-пакетів, як я згадував, мінус один, вони вже зібрані під певну версію ядра і під іншу версію вже не годяться. Але цей дану проблему усувають akmod-пакети. Негативна сторона є і у akmod-пакетів, і проявляється вона в тому, що потрібно доустановити складальні пакети, засоби розробки для ядра, пакети файлів для розробників. Всі пакети встановлюються як залежності до akmods. Все це господарство не маленького розміру, ніж багатьом і не подобається. Вибір в будь-якому випадку за вами.

оновлення initrd

Зараз в поточній 12-ої версії або в прийдешньої 13-ої існує набір скриптів під назвою dracut, багато досвідчених користувачів Fedora Linux (та й сам rpmfusion) стверджують, що оновлювати треба їм, це так. Однак в Fedora Linux є куди більш простий засіб, який куди легше запам'ятати і більш того, команда (яку я приведу нижче) поновлення ядра працює коректно з 10-ій версії (можливо, що і з більш ранньої, пам'ять у мене коротка). Команда ця виконується так:

І я думаю, що команда ця існуватиме достатній час ще, незалежно від того, які кошти будуть застосовуватися для поновлення initrd: dracut, mkinitrd або щось нове. Рекомендую, після установки пакетів kmod або akmod виконати команду поновлення initrd. У невиконанні даного кроку криється третину помилок установки користувачем.

Підводні камені akmod

  • встановлюючи akmod-пакети, відразу встановлюйте пакет kernel-PAE-devel. це позбавить від багатьох проблем (пакет kernel-PAE-devel треба встановити один раз);
  • встановивши akmod-пакет перевірте його збирання і можливість роботи, робиться це так:

Дана команда відразу скаже Вам, чи буде зібраний kmod-пакет чи ні, ну і збере його теж відразу :)

Підводні камені kmod

За власними спостереженнями, при оновленні ядра kmod-пакети оновлюються при наступному yum update (ну або чим Ви оновлюєте). Тобто виробляючи оновлення системи і побачивши в списку пакетів kernel (або kernel-PAE), після оновлення, не полінуйтеся - запустіть процес оновлення знову, ну так, про всяк випадок. Часто буває (судячи по які рідкісним закликів до допомоги на форумі і [email protected]), що людина оновив всі пакети, перезавантажився (оскільки цього вимагала система), а kmod-пакети не оновилися і все, ступор. У таких випадку допомагає запустити yum update знову або ж спробувати безпосередньо встановити yum install kmod--`Uname -r`. Звичайно якщо це не модуль wifi, а wifi не єдиний спосіб зв'язку із зовнішнім світом. Ось саме через таких ситуацій мені подобається використовувати akmod-пакети, але я не наставіваю і не вербує в прихильники свого имхо.

Просто камені, зовсім не підводні

Пропоную також надсилати свої випадки неробочого стану модулів ядра, давайте разом складемо єдину інструкцію. )