Компиляция модулей ядра в Arch Linux

В настоящее время я запускаю Arch Linux на linux-3.0-ARCH, и я хочу скомпилировать модули ядра, написанные для linux-2.6.22.14.

Я только скомпилировал модули ядра на предварительно настроенном debian. Итак, все, что я должен был знать, это расположение источника ядра и как отредактировать Makefile модуля соответственно.

  • Отключение с нажатием клавиатуры не работает
  • traceroute дает только звезды + как исправить
  • Linux перестает загружаться после ссылки eth0. Как заставить его показывать больше журнала?
  • Файлы, начинающиеся с. # Lk0xb в каталоге ~ / .gnupg - что это такое?
  • CentOS 7 создал mdadm-массив после перезагрузки
  • UNIX-, BSD-, GNU-опции в команде ps для Linux. Откуда они?
  • Но поскольку я пытаюсь это сделать на своей машине сейчас, я загрузил источник для 2.6.22.14 и поместил его в / root /. Я изменил Makefile для модуля, чтобы указать на это, и я выполнил 'make'. Все, что я получаю сейчас, это:

    Makefile:1443: *** mixed implicit and normal rules. Stop. 

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

  • Разделяйте неизменные данные из центрального хранилища в сети
  • Как получить имя файла устройства из вывода lsusb или по пути устройства
  • Реализация балансировки нагрузки на любом дистрибутиве Linux
  • X Server не загружается, когда я добавляю файл 50-synaptics.conf внутри каталога xorg.conf.d
  • Разница между командами «ifconfig» и «ip»
  • Где хранить медиафайлы на общем сервере linux
  • 3 Solutions collect form web for “Компиляция модулей ядра в Arch Linux”

    Возможно, вам не хватает пакета заголовков ядра: pacman -S linux-headers

    Это должно дать вам соответствующие заголовки ядра.

    Возможно, ваш модуль не работает под вашим Linux-версией 3.0-something – например, планировщик подвергся капитальному ремонту в 2.6.23. Возможно, ваш модуль сделал некоторые предположения о среде планировщика, возможно, нет, но нет гарантии, что он будет работать в новой системе.

    Вы не можете создать модуль против дерева исходных кодов ядра, которое еще не настроено и не построено. Самое простое – использовать /lib/modules/$(uname -r)/build/ символическую ссылку, в которой большинство поставляемых дистрибутивами пакетов ядра поставляются с достаточным количеством заголовков и конфигурационных материалов для создания внешних модулей.

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

     make -C /lib/modules/`uname -r`/build M=$PWD 

    Это вызовет механизм kbuild для правильной сборки вашего модуля. Для получения дополнительной информации см. Documentation/kbuild/modules.txt в источниках ядра.

    2.6.22 слишком старое ядро, совместимое с 3.0

    Linux и Unix - лучшая ОС в мире.