Вход

Просмотр полной версии : Научитесь компилировать ядро Android с 1 версии


VladiSlav911
14.07.2024, 15:58
Недавно изучаю компиляцию ядра Android. Искал информацию в интернете (слишком много устаревшего контента, поисковые системы ничего не делают -_-!!) пока изучал самостоятельно, и наконец сдал компиляцию. запись здесь.


Зачем начинать с 1, а не с 0? Это потому, что вам нужно самостоятельно подготовить следующие среды:


Windows 11

WSL 2

Docker
Готовы, приступим!
Откройте командную строку:

https://forum.antichat.xyz/attachments/4935874/1720958078085.png

оставьте достаточно места на жестком диске 20G! Затем скопируйте и вставьте следующую команду:

1mkdir android-kernel && fsutil file setCaseSensitiveInfo android-kernel enable && docker run -it --name android-kernel -v /e/android-kernel:/root ubuntu:18.04 /bin/bash

Обратите внимание, что /e выше следует заменить вашим собственным рабочим каталогом и продолжить ввод после выполнения команды:

1sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && apt update && apt install apt-utils libterm-readkey-perl dialog locales ca-certificates apt-transport-https -y && dpkg-reconfigure locales

Появится интерфейс настройки языка:

https://forum.antichat.xyz/attachments/4935874/1720958156586.png

нажмите +, чтобы войти [ ] en_US.UTF-8 UTF-8, затем нажмите, чтобы Spaceвыбрать, нажмите, Enterзатем снова, чтобы выбрать en_US.UTF-8 UTF-8, и, наконец, нажмите Enter«Подтвердить».
Следующая строка команды warningиспользуется для устранения запроса при установке пакета. Люди, не страдающие обсессивно-компульсивным расстройством, могут его пропустить:

1rm /etc/dpkg/dpkg.cfg.d/excludes && apt update && dpkg -l | grep ^ii | cut -d' ' -f3 | xargs apt install -y --reinstall && apt install -y man && rm -r /var/lib/apt/lists/*

Затем установите необходимые пакеты для компиляции:

1apt update && apt install git gpg python build-essential flex bison zip libxml2-utils xsltproc curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev g++-multilib lib32z1-dev libssl-dev -y

Настройте gitинформацию пользователя и замените ее самостоятельно yourusername youremail:

1git config --global user.name 'yourusername' && git config --global user.email 'youremail'

Затем:

1mkdir bin && PATH=~/bin:$PATH && curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > bin/repo && chmod +x bin/repo && export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' && repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/kernel/manifest -b android-4.19-stable && repo sync -c -j8

Дождитесь его завершения и android-4.19-stableзамените на нужную вам версию.



Общую версию можно найти в общих ядрах Android .



1BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh -j8

Просто дождитесь завершения компиляции, и все готово.