LINUX.ORG.RU
ФорумMobile

Нужна Инфа

 ,


1

1

Вообщем есть:
1. девайс huawei mediapad, msm8260(gsm) как я понимаю с разлоченым бутлоадером.
2. есть пропиетарные бинарники необходимые для работы все суб-девайсов девайса
3. есть скачанный клон https://www.codeaurora.org/gitweb/quic/la/, ванильный андройд с либами и ядром оптимизированными для квалкомовской платформы(msm/apq/etc), branch=jb
Хочу:
1. попробывать это всё собрать для моей железки
2. если получится пункт №1, заменить ванильные либы/софт на циановские(примерно знаю как)
Нужно:
1. документация по добавлению нового устройстства в source treе, сколько гуглил так и не нагуглил. пробывал см10+(device/vendor) от см9, не катит - криво получается

★★★★

Просто добавляешь девайс в device, как сделано для asus/grouper или samsung/{maguro,tuna}. Там, конечно, вылезут косяки типа «ололо, файл не найден, не буду конпелять дальше», но решаются правкой мейкфайла или подкладывания файлов в нужное место

В общем, выкидывай сраный AOSP, и бери CM10.

  • В ванильном AOSP нет нормального recovery
  • В ванильном AOSP JB не работает маркет и вообще gapps (fingerprint не тот, и все дела)
  • В ванильном AOSP надо править мейкфайл в build или добавить (не помню какую) константу в свой мейкфайл, чтобы оно не запрещало копировать бинарники из vendor

В общем-то, начать надо с того, что взять свое ядро (если есть исходники - вообще хорошо), recovery от CM10 девайса и перепаковать рамдиск. А потом собрать CM10 со своим ядром. Ну а потом добавлять блобы по аналогии с другими девайсами. В CM10 удобно сделан репозиторий с бинарниками, и скрипты для их установки (https://github.com/themuppets)

Я когда AOSP собирал, чтобы не качать гугловский update.zip и архивы с бинарниками, сделал просто отдельный vendor каталог и скрипты, чтобы бинарники с девайса вытаскивать (их надо один раз руками запустить)

$ tree vendor/
vendor/
└── samsung
    └── maguro
        ├── device-vendor.mk
        ├── proprietary
        │   └── system
        ├── pull-from-device.sh
        └── unzip-from-file.sh
#
#device-vendor.mk
PRODUCT_COPY_FILES += \
    vendor/samsung/maguro/proprietary/system/bin/fRom:system/bin/fRom

#и так далее
#!/bin/bash

#pull-from-device.sh

BLOBS=(
/system/bin/fRom
/system/vendor/bin/pvrsrvctl
#и так далее
)

for blob in ${BLOBS[@]}; do
	mkdir -p proprietary/${blob%/*}
	adb pull $blob proprietary/$blob
done

#!/bin/bash

#unzip-from-file.sh

if [ -z "$1" ]; then
	echo "Usage: $0 zip_name"
	exit 1
fi

BLOBS=(
/system/bin/fRom
/system/vendor/bin/pvrsrvctl
)

for blob in ${BLOBS[@]}; do
	mkdir -p proprietary/${blob%/*}
	unzip "$1" ${blob#/} -d proprietary
done

alexst ()
Ответ на: комментарий от alexst

Спасибо за ответ.
примерный девайс и блоб-контент я нашел, но всё равно кривоват. исходников ядра - как минимум 3:
1. хуавей сам зарелизил 3.0.7, вроде как со своими патчами
2. есть еще на git://codeaurora.org/kernel/msm.git с ихними патчами и доработками
3. можно тупо с kernel.org качнуть нужную версию и попробывать скомпилить:)
в итоге:
дня три промучался с ядром, сделал приемлемый конфиг для jb/ics, встало всё на финальной стадии линковки в bzImage, unresloved symbols in ... (пару заголовочных файлов), приостановил в виду возросшей нагрузке на работе.
а по поводу сборки из указанных выше репозитариев - там еще надо плотно поработать, думаю ближе к зиме соберусь с силами и займусь.
Спасибо большое за советы

etwrq ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.