Компиляция ядра Oneplus5 Lineage OS 15.1 - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь скомпилировать ядро ​​для Oneplus5 с установленным пользовательским ПЗУ Lineage OS 15.1. Я использую набор инструментов Google ndk для компиляции ядра. Я извлек исходный код ядра из исходного кода ОС Lineage, а также попытался скомпилировать ядро ​​стандартного ПЗУ.

После нескольких попыток и исправлений некоторых файлов в исходном коде ядра, наконец, мне удалось скомпилировать его успешно! После завершения компиляции я получил файлы Image, Image.gz в каталоге arch / arm64 / boot.

Но когда я пытался прошить образ ядра из рекавери TWRP, устройство всегда загружалось в режиме fastboot и застревало там. В чем проблема и что я могу сделать, чтобы она работала.

1 Ответ

0 голосов
/ 03 октября 2018

Попробуйте запустить mka bootimage, затем мигать получившееся boot.img с помощью fastboot flash boot boot.img.

Немного более длинная версия, основанная на инструкциях в https://wiki.lineageos.org/devices/cheeseburger/build:

apt install adb fastboot bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev openjdk-8-jdk python unzip

mkdir -p ~/bin
mkdir -p ~/android/lineage

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

echo 'PATH="$HOME/bin:$PATH"' >> .profile
echo 'export LC_ALL=C' >> .profile

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
repo sync

source build/envsetup.sh
# use extract-files.sh or follow https://gist.github.com/fourkbomb/261ced58cd029c5f7742350aafdd9825
breakfast cheeseburger

mka bootimage

Если шаг mka bootimage выполняется без ошибок, но не генерирует boot.img, попробуйте запустить mka bacon на несколько минут, затем прервать его и повторно запустить mka bootimage.

Приведенные выше команды будут использовать ядро ​​LineageOS по умолчанию для устройства в ./android/lineage/kernel/oneplus/msm8998. Вы можете просто внести свои изменения туда или поместить новый исходный код ядра в этот каталог. В последнем случае обязательно поместите файл lineage_oneplus5_defconfig в arch/arm64/configs.

...