Как скомпилировать файл "tun.ko" для OpenVPN? - PullRequest
5 голосов
/ 12 октября 2011

Как вы все, наверное, знаете, у android очень частые обновления системы, и для каждого крупного обновления, пока меняется ядро ​​linux, файл tun.ko необходимо перекомпилировать.

ДляВ недавнем обновлении gingerbread я обнаружил, что старый файл tun.ko бесполезен, и не могу найти, где взять такой файл (я пробовал XDA и Google), поэтому я решил скомпилировать tun.ko сам.

Я нашел несколько статей и блогов, рассказывающих о том, как скомпилировать файл.У меня есть кросс-компилятор ARM и ядро ​​Android (из зеркала Android GitHub, так как kernel.org для Android недоступен), но всегда получаю ошибки, например:

$ ARCH = armmake modules SUBDIRS = drivers / net

ОШИБКА: недопустимая конфигурация ядра.include / generate / autoconf.h или include / config / auto.conf отсутствуют.Запустите 'make oldconfig && make prepare' в ядре src, чтобы исправить это.

/ bin / sh: / bin / false: нет такого файла или каталога

ПРЕДУПРЕЖДЕНИЕ: символьный дамп версии / Users /xxx / Downloads / msm / Module.symvers отсутствует;Модули не будут иметь зависимостей и модификаций.

Сборка модулей, этап 2. /Users/xxx/Downloads/msm/scripts/Makefile.modpost:42: include / config / auto.conf: такого файла или каталога нетmake [1]: * Нет правила для создания цели `include / config / auto.conf '.Стоп.make: * [modules] Ошибка 2

Я не могу понять, почему эти ошибки, кто-нибудь может помочь мне выбраться?

Большое спасибо!

1 Ответ

0 голосов
/ 25 июля 2012

Сначала необходимо правильно настроить ядро, иначе модули не могут быть собраны. В большинстве случаев должна быть возможность извлечь конфигурацию ядра с устройства (должно быть в /proc/config.gz), но это необязательная функция, поэтому может отсутствовать.

Создание какой-то довольно общей конфигурации для вашего ядра (с той же версией, что и для устройства) имеет тенденцию работать.

...