Опираясь на и руководствуясь этим прекрасным руководством по установке Android SDK в Ubuntu, я хотел бы собрать инструкции по установке всех необходимых инструментов и источников для компиляции (и потенциально разработки) ядер для . ] Телефон Sony Xperia ZR .
Шаг 1
Следуйте Полное руководство по установке Android SDK в Ubuntu .
Шаг 2
Установите следующие пакеты (я использую менеджер пакетов Synaptic из репозитория программного обеспечения Ubuntu, но вы можете сделать это в командной строке через sudo apt-get install <package>
):
git
для загрузки набора инструментов ARM lzopt
, необходимого для сборки ядра Шаг 3
Загрузите архив с открытым исходным кодом для телефона с сайта Sony , прямая ссылка - http://dl-developer.sonymobile.com/code/copylefts/10.4.B. 0.569.tar.bz2
Извлеките архив, который содержит три подкаталога external
, kernel
и vendor
, я поместил их в ~/10.4.B.0.569
.
Шаг 4
Загрузите готовые двоичные файлы ARM toolchain из репозитория Git для Android с помощью следующей команды:
$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
Я сделал это в своем ~/
, где был создан подкаталог arm-eabi-4.6
.
Шаг 5
Чтобы настроить сборку, я в основном следовал инструкциям, приведенным в файле ~/10.4.B.0.569/kernel/README_Xperia
. Со структурами каталогов, которые я использовал, это сводится к следующей последовательности команд:
$ cd ~/10.4.B.0.569/kernel
$ export ARCH=arm
$ export CROSS_COMPILE=/home/<USER>/arm-eabi-4.6/bin/arm-eabi-
$ make fusion3_dogo_defconfig
Обратите внимание, что fusion3_dogo_defconfig
предназначен для Xperia ZR и должен быть заменен, если вы хотите собрать для другого устройства ( в ~/10.4.B.0.569/kernel/README_Xperia
перечислены варианты Z
, ZL
, ZR
, Tablet Z
и Tablet Z SGP311/SGP312
). Также необходимо изменить <USER>
на ваше имя пользователя Ubuntu.
Шаг 6 Теперь мы готовы собрать ядро, просто запустив make
в каталоге ~/10.4.B.0.569/kernel/
. Это займет некоторое время и, если оно работает правильно, должно привести к файлу ~/10.4.B.0.569/kernel/arch/arm/boot/zImage
.
РЕДАКТИРОВАТЬ:
К сожалению, я пока не нашел способа создать ramdisk или загрузочный образ для запуска или прошивки ядра, поэтому я создал этот связанный вопрос на Stackoverflow об этом.