Пошаговая инструкция по сборке ядра под nethunter
Как скомпилировать ядро для телефона.


(На примере ядра для Xiaomi redmi 5 plus)
Для этого понадобится система убунту(рекомендуется) или любая другая система на линукс.
И так, у нас есть система. Что дальше?
Нужен тулчейн (это набор программ, которые будут компилировать).
Для каждой архитектуры линукс и андрод нужен свой тулчейн.
Для 32х битной линукс и arm64 андроид:
(будет команда, ее нужно просто скопировать в терминал и выполнить)
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
Для 64х битной линукс и 64ч битной андроид: тот же самый, т.к. 64битная линукс поддерживает 32битные программы.
!ВАЖНО!
Для начала надо установить вот эти компоненты:
(команда apt install [название компонента без версии])
- binutils 2.29.1
- gmp 6.1.2
- mpfr 3.1.5
- mpc 1.0.3
- isl 0.18
- bionic r15c
Для ARM:
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8
Далее нужны исходники самого ядра.
На этом примере исходники кастомного ядра уже с поддержкой hid (для уменьшения времени поиска)
Для удобства создать отдельную папку для всего этого дела и перенести исходники и тулчейн в нее.
Создали, перенесли, заходите в нее и следом сразу в исходники.
Там увидите много много файлов и папок, открывайте терминал в этой папке (правой кнопкой мыши на пустом месте и далее в контекстном меню выбрать "открыть терминал").
Открыли и тут начинается вся работа.
Прописать комманды:
$ export ARCH=arm64 #это покажет установщику что мы используем настройки для arm64
Для arm:
$ export ARCH=arm
Далее нам нужно указать путь до тулчейна, в моем случае я писал:
$ export CROSS_COMPILE=~/kernel/aarch64-linux-android-4.9/bin/aarch64-linux-android-
Обязательно с тире!
(для arm и arm64 просто пишем путь до файла(все также)(~/ озночает домашнюю папку)
Далее
$ export TARGET=out #чтобы все файлы сохранялись в папке out которую надо создать предварительно
Все делается в папке с исходниками
Пишем
$ make help #это отобразит все профили настроек которые уже есть.(все в первоначальной папке!
Будет много много текста, просто крутим вниз пока не увидим строчки с _defconfig.(это и есть файлы конфигурации)
Лично мне нужна это конфигурация:

Пишем
$ make vince_defconfig
Конфиг успешно записан.

Далее нам нужен патч aircrack. качаем его:
$ wget https://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
И вставляем его командой:
$ patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
Теперь нам надо настроить ядро.
Пишем
$ make menuconfig #чтобы войти в редактирование конфига.
Вылезет такое меню и для начала переходим в general setup.
(управление стрелками вверх вниз, для перехода по меню enter, и стрелки влево вправо, чтобы внизу выбрать select(для подтвержения), exit (для выхода из меню и подменю),
help. save, load - пробел, чтобы поставить галочку)./
дальше ставим свою версию ядра и отмечаем галачку где показано.
По желанию ставим модули(нам это не нужно)
Переходим в networking support, затем в wireless и ставим галку там, где показанно для того чтобы включить возможность подключения устройств
Затем переходим на главную страницу и заходим в device drivers
Далее в network device support
Далее в wireless lan
и как раз тут мы выбираем те wifi адаптеры, которые хотим добавить(лично я буду добавлять эти)(некоторые надо помечать пробелом и переходить в них с помощью ентера)
далее выходим обратно в Network device support и заходим в USB network adapters
И помечаем
Далее переходим обратно в Device Drivers и ищем usb support(просто проверка)и переходим в него
помечаем
обратно в device drivers и переходим в hid support (подразумивается что вы выбрали исходники ядра уже с поддержкой hid)
Все, теперь сохраняем и выходим.
Пишем:
$ cp ./.config out #чтобы скопировать наш конфиг в папку
$ make clean && make mrproper #чтобы очистить и подготовить все
$ make -j4 #чтобы начать компиляцию в папку out(-j4 это значит использовать 4 ядра пк! ставте больше или меньше смотря сколько у вас ядер!)пойдет процесс сборки
Все необходимые файлы будут в папке arch/arm/boot/
Также вы можете попробовать сделать тоже самое с помощью официальной инструкции.
Примечание:
Если у вас ошибки при компиляции, просто удалите папку out командой $ rm -R out, затем заного делаете все команды, надо будет писать make O=$TARGET *команда*
$ make O=$TARGET mrproper
$ make O=$TARGET -j4
Комментарии
Отправить комментарий