Пошаговая инструкция по сборке ядра под 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=$TARGE-j4

Комментарии

Популярные сообщения