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

Недавно изучаю компиляцию ядра Android. Искал информацию в интернете (слишком много устаревшего контента, поисковые системы ничего не делают -_-!!) пока изучал самостоятельно, и наконец сдал компиляцию. запись здесь.
Зачем начинать с 1, а не с 0? Это потому, что вам нужно самостоятельно подготовить следующие среды:

  1. Windows 11
  2. WSL 2
  3. Docker
Готовы, приступим!
Откройте командную строку:

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
Появится интерфейс настройки языка:

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 > 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замените на нужную вам версию.

Общую версию можно найти в .
1BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh -j8
Просто дождитесь завершения компиляции, и все готово.
 

Вложения

  • 1720958015747.png
    1720958015747.png
    3,9 КБ · Просмотры: 25
  • Нравится
Реакции: Edmon Dantes
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!