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

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

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

Но поскольку я пытаюсь это сделать на своей машине сейчас, я загрузил источник для 2.6.22.14 и поместил его в / root /. Я изменил Makefile для модуля, чтобы указать на это, и я выполнил 'make'. Все, что я получаю сейчас, это:

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

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

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

Interesting Posts

Как проверить новый жесткий диск?

Чтение текстового файла; Копирование текстовой строки без отступов; Заменить начало отступов с указанным текстом

Как обрабатывать каждый интерфейс по-разному на почтовом сервере

Что означает 2> & 1 в этой команде?

Ли Dropbear заботиться о hosts.allow и hosts.deny?

Самый быстрый способ найти и заменить в большом файле при замене поля в другом файле

Как отображать данные в столбцах по двум переменным с одинаковым форматом?

Программное обеспечение для сканирования не распознает мою Epson xp201 все в одном

Коррумпированный заголовок метаданных LVM после обновления ядра

Ограничение доступа к yahoo.com в elinks с использованием кальмаров

Не удалось выполнить перенаправление в среде chroot

tmux, как связать ключ для входа в режим VI и искать назад?

Как я `umount` / proc?

Проблемы с правами доступа к файлам с веб-сервером и FTP-сервером

Что проверить в списке загрузок AIX?

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