Недавно изучаю компиляцию ядра Android. Искал информацию в интернете (слишком много устаревшего контента, поисковые системы ничего не делают -_-!!) пока изучал самостоятельно, и наконец сдал компиляцию. запись здесь.
Зачем начинать с 1, а не с 0? Это потому, что вам нужно самостоятельно подготовить следующие среды:
- Windows 11
- WSL 2
- Docker
Готовы, приступим!
Откройте командную строку:
оставьте достаточно места на жестком диске
20G! Затем скопируйте и вставьте следующую команду:
1 | mkdir 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 выше следует заменить вашим собственным рабочим каталогом и продолжить ввод после выполнения команды:
1 | sed -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 |
Появится интерфейс настройки языка:
нажмите +, чтобы войти [ ] en_US.UTF-8 UTF-8, затем нажмите, чтобы Spaceвыбрать, нажмите, Enterзатем снова, чтобы выбрать en_US.UTF-8 UTF-8, и, наконец, нажмите Enter«Подтвердить».
Следующая строка команды warningиспользуется для устранения запроса при установке пакета. Люди, не страдающие обсессивно-компульсивным расстройством, могут его пропустить:
1 | rm /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/* |
Затем установите необходимые пакеты для компиляции:
1 | apt 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:
1 | git config --global user.name 'yourusername' && git config --global user.email 'youremail' |
Затем:
1 | mkdir bin && PATH=~/bin:$PATH && curl
Ссылка скрыта от гостей
> bin/repo && chmod +x bin/repo && export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' && repo init -u
Ссылка скрыта от гостей
-b android-4.19-stable && repo sync -c -j8 |
Дождитесь его завершения и android-4.19-stableзамените на нужную вам версию.
Общую версию можно найти в
Ссылка скрыта от гостей
.
1 | BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh -j8 |
Просто дождитесь завершения компиляции, и все готово.