3PPC.net
Старый 28.08.2009, 16:39 #1
Аватар для gashome
gashome gashome вне форума
Гвардия форума
 
Регистрация: 23.05.2008
Адрес: localhost
Сообщений: 1,944
Репутация: 675
gashome gashome вне форума
Гвардия форума
Аватар для gashome
 
Регистрация: 23.05.2008
Адрес: localhost
Сообщений: 1,944
Репутация: 675
Устройство: HTC T7272 (Touch Pro/Raphael)
How-To: Сборка Android OS из исходников

Название: Android-Open-Google.png
Просмотров: 3858

Размер: 4.4 Кб

Diamond\Raphael\Blackstone\Kovsky(Xperia X1)

Для начала несколько слов для пользователей Windows:
Вы не сможете скомпилировать все исходники используя Windows...

Если вы собираетесь читать документацию от Google про сборку Android OS из исходников и узнать системные требования, то вам сюда:
Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Для начала скачаем исходники кернела и скомпилим его. Прочитать про это можно в соседней теме(http://3ppc.net/forum/showthread.php?t=14293), пробуем, если скомпилили, то можно продолжать, если компиляция закончилась неудачей, вы не сможете выполнить компиляцию патченого кернела, поэтому попытайтесь сново скомпилить кернел.

Теперь мы можем пропатчить собранный кернел, перекомпилировав драйвер аккумулятора.


Скачайте приаттаченный kernelpatch.tar.gz и поместите его в папку ~/diamond-dev. Затем выполните в терминале следующие команды:
  1. cd ~/diamond-dev/kernel
  2. tar -xjf ../kernelpatch.tar.gz
  3. export PATH=$HOME/diamond-dev/arm-2008q1/bin:$PATH
  4. make zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

Данный патч работает только с кернелом версии 2.6.27.

Сейчас пропатченный кернел можно скопировать на устройство. Следующим этапом будет патч андроида. Берём самую новую версию Андроида описанную в документации от Google.
  1. mkdir ~/bin
  2. export PATH=$PATH:~/bin
  3. curl http://android.git.kernel.org/repo >~/bin/repo
  4. chmod a+x ~/bin/repo

Теперь можно использовать папку для исходников Android OS. Я использовал стандартную дерикторию Google:
  1. mkdir ~/mydroid
  2. cd ~/mydroid
  3. repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

Если всё выполнено верно, то мы увидим надпись:
  • repo initialized in /mydroid

Теперь всё готово для проверки файлов.
  • repo sync

Даже на быстром интернет подключении это займёт много времени...

Теперь есть все исходники Android OS.Если потом вы собираетесь обновить исходники, то просто сново выполните repo sync и исходники обновятся до последней сборки, будут скачены только изменённые файлы, это не займёт много времени...

Теперь мы готовы пропатчить все исходники. Скачайте android.patch.tar.gz в ~/mydroid.
  1. tar -xjf android.patch.tar.gz
  2. patch system/core/init/init.c < init.c.patch
  3. patch system/core/rootdir/init.rc < init.rc.patch

Теперь можно начать сборку, использую команду:
  • sh make.sh

После сборки требуется скопировать следующие файлы на карту памяти вашего девайса.
  • Из android out/target/product/generic/system.img в \tmp\system.img
  • Скопировать с заменой из android out/target/product/generic/ramdisk.img в \tmp\boot\initrd.cpio.gz
  • Из android out/target/product/generic/userdata.img в \tmp\cache.img
  • Скопировать с заменой из kernel arch/arm/zImage в \tmp\boot\zImage-27
  • Переименовать на карте памяти \tmp\data.e2img в \tmp\userdata.img

После этого Android готов к запуску.

Скрытый текст (вы должны зарегистрироваться или войти под своим логином):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Последний раз редактировалось gashome; 30.08.2009 в 12:52.
gashome вне форума   Ответить с цитированием Цитировать выделенное
Старый 29.08.2009, 11:47 #2
Аватар для gashome
gashome gashome вне форума
Гвардия форума
 
Регистрация: 23.05.2008
Адрес: localhost
Сообщений: 1,944
Репутация: 675
gashome gashome вне форума
Гвардия форума
Аватар для gashome
 
Регистрация: 23.05.2008
Адрес: localhost
Сообщений: 1,944
Репутация: 675
Устройство: HTC T7272 (Touch Pro/Raphael)
Перенёс из разработок
gashome вне форума   Ответить с цитированием Цитировать выделенное
Старый 30.08.2009, 16:18 #3
Аватар для gashome
gashome gashome вне форума
Гвардия форума
 
Регистрация: 23.05.2008
Адрес: localhost
Сообщений: 1,944
Репутация: 675
gashome gashome вне форума
Гвардия форума
Аватар для gashome
 
Регистрация: 23.05.2008
Адрес: localhost
Сообщений: 1,944
Репутация: 675
Устройство: HTC T7272 (Touch Pro/Raphael)
Update:


В гит репозитории появились драйвера аккумулятора и патчить кернел теперь не требуется
gashome вне форума   Ответить с цитированием Цитировать выделенное
Старый 12.09.2010, 16:58 #4
GhostAnton GhostAnton вне форума
Новичок
 
Регистрация: 26.07.2010
Сообщений: 2
Репутация: 0
GhostAnton GhostAnton вне форума
Новичок
 
Регистрация: 26.07.2010
Сообщений: 2
Репутация: 0
Устройство: HTC T5353 (Touch Diamond 2/Topaz)
Можно вопрос по поводу сборки. Репозитарий синхронизировал нормально, пропатчил все нормально, но при make.sh выдает ошибку

sh make.sh
build/core/product_config.mk:261: WARNING: adding test OTA key
============================================
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=
============================================
make: execvp: /bin/bash: Argument list too long
host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)
/usr/bin/ld: cannot find -lncurses
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Ошибка 1

На этом все выдает ошибку помогите пожалуйста разобраться.

Последний раз редактировалось GhostAnton; 01.11.2010 в 15:18. Причина: Добавлено сообщение
GhostAnton вне форума   Ответить с цитированием Цитировать выделенное
Старый 09.12.2010, 12:36 #5
rexid rexid вне форума
Новичок
 
Регистрация: 09.12.2010
Сообщений: 1
Репутация: 0
rexid rexid вне форума
Новичок
 
Регистрация: 09.12.2010
Сообщений: 1
Репутация: 0
Устройство: Toshiba TG01
gg

как скачать kernelpatch?
rexid вне форума   Ответить с цитированием Цитировать выделенное
Старый 12.03.2011, 00:06 #6
DavidovDI DavidovDI вне форума
Новичок
 
Регистрация: 11.03.2011
Сообщений: 3
Репутация: 0
DavidovDI DavidovDI вне форума
Новичок
 
Регистрация: 11.03.2011
Сообщений: 3
Репутация: 0
Устройство: HTC T7272 (Touch Pro/Raphael)
Вопрос назрел следующий - данный раздел нам выдает очередную установку на флеш или это нормальная прошивка?
DavidovDI вне форума   Ответить с цитированием Цитировать выделенное
Старый 13.01.2012, 17:12 #7
kirillko kirillko вне форума
Новичок
 
Регистрация: 13.01.2012
Сообщений: 2
Репутация: 0
kirillko kirillko вне форума
Новичок
 
Регистрация: 13.01.2012
Сообщений: 2
Репутация: 0
Устройство: Нет
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
/root/bin/repo: line 1: syntax error near unexpected token `newline'
/root/bin/repo: line 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'


как с этим бороться?
kirillko вне форума   Ответить с цитированием Цитировать выделенное
Старый 13.01.2012, 18:12 #8
kirillko kirillko вне форума
Новичок
 
Регистрация: 13.01.2012
Сообщений: 2
Репутация: 0
kirillko kirillko вне форума
Новичок
 
Регистрация: 13.01.2012
Сообщений: 2
Репутация: 0
Устройство: Нет
Цитата:
Сообщение от kirillko Посмотреть сообщение
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
/root/bin/repo: line 1: syntax error near unexpected token `newline'
/root/bin/repo: line 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'


как с этим бороться?
нашел решение:

Код:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
Но теперь другая проблема:


Код:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
Get git://android.git.kernel.org/platform/manifest.git
android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
добавлено через 14 минут
Цитата:
Сообщение от kirillko Посмотреть сообщение
нашел решение:

Код:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
Но теперь другая проблема:


Код:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
Get git://android.git.kernel.org/platform/manifest.git
android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
Победил:

Код:
Step 1. edit repo file 
    $ gedit  /home/username/bin/repo 
Change the line: 
    REPO_URL='git://android.git.kernel.org/tools/repo.git' 
To be: 
      REPO_URL='http://android.git.kernel.org/tools/repo.git' 
  Step 2. initialize the repository 
$ repo init -u http://android.git.kernel.org/platform/manifest.git -b 
gingerbread 
  Step 3. edit .repo/manifests/default.xml 
$gedit .repo/manifests/default.xml 
Change the line:  fetch="git://android.git.kernel.org/" 
To be: fetch="http://android.git.kernel.org/" 
  Step 4. sync repository 
$ repo sync

Последний раз редактировалось kirillko; 13.01.2012 в 18:12. Причина: Добавлено сообщение
kirillko вне форума   Ответить с цитированием Цитировать выделенное
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сборка iGO Primo под разрешение 1280х720 jakov.t IGO Primo 0 05.01.2017 12:52
Создание Кернела из исходников gashome Портирование Android OS 4 26.02.2012 01:46
Новая сборка Windows Mobile 6.5 увидела свет Gardemarin Новости мира Windows Mobile 3 04.05.2011 23:57
Прошивка STU's 1.36 WM 6.1 на ядре 20755(сборка 20755) STU Перепрошивка HTC TyTN II 13 17.02.2009 11:40

 


Текущее время: 13:57. Часовой пояс GMT +3.


Powered by vBulletin®
Copyright ©2000 - 2017, vBulletin Solutions, Inc.