Страница 3 из 3

Re: Android как он внутри

Добавлено: 04 июн 2012, 21:16
tundra37
1) Пропатченное ядро. Описание патчей не видел :)
2) Драйвера специальных устройств, хотя сейчас они уже и в "большом" Линуксе есть.
3) Урезанные библиотеки. В эмуляторе bionic, в самом Андроиде что-то другое наверно?
4) Урезанный функционал утилит в shell.
5) Браузер для блондинок без адресной строки. Хотя при наборе "пальцем" адресная строка неудобна.

Вопросы:
Как устроена графика в Андроиде. Там есть библиотеки ES GL 1 и 2, остальное пока не копал.

Re: Android как он внутри

Добавлено: 21 июн 2012, 18:44
tundra37
Решая задачку запуска реальной прошивки на эмуляторе кое-что понял в устройстве и прошивки и Андроида.
1) boot.img - содержит ядро и initrd Состав реального ядра не смотрел, но, судя по составу intird, почти все драйвера находятся в ядре.
initrd очень тощий : папка sbin содержит adbd и симлинк ueventd на ../init В корне прога init скрипты init.rc init.goldfish.rc и еще пара файлов. Ядро сейчас вроде в формате elf, но в моем плеере какой-то особый формат. ramdisk - пакуется cpio -H newc и потом gzip.
2) system.img "корневая фс". Она монтируется в папку system, но содержит папки bin и lib
Я экспериментировал с прошивкой для Ainol Novo7 Basic( чипсет MIPS). В ней есть еще один инициализирующий скрипт init.goldfish.sh
Формат файла, из тех что я видел - squashfs, yaffs2 и ext4(это именно у ainol).

Про эксперименты с эмулятором опишу в теме про Андроид для MIPS.
Здесь только напишу, что содержимое папок bin и lib не сильно влияеет на Андроид. Андроид из реальной прошивки Ainol почти без проблем работает на ядре и бинарках из эмулятора, естественно в эмуляторе.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Забыл добавиь две полезняшки:
Ключ -show-kernel показывает сообщения при загрузке ядра, очень полезно чтобы узнать где вы наврали. Правда приходится додумывать - например просто выдаст вам, что нет программ /sysytem/bin/xxx А на деле окажется, что не смонтировался system.img
Возможно ключ поможет, но я еще не пробовал. На деле у меня было, что system смонтировался, но существующие файлы не находило.
А вот для ошибок Андроида полезнее запуск adb logcat - выдает протокол того, что творится в Андроиде.

Re: Android как он внутри

Добавлено: 25 дек 2012, 19:30
Olej
tundra37 писал(а):1) Пропатченное ядро. Описание патчей не видел :)
2) Драйвера специальных устройств, хотя сейчас они уже и в "большом" Линуксе есть.
...
Свежая публикация от IBM: Знакомство с версиями 3.3 и 3.4 ядра Linux.
Там есть любопытные вещи относительно взаимоотношений (взаимодействий) Linux и Android:
Из-за проблем координации работы группы, отвечающей за поддержку Linux, и Google, привели к тому, что в течение нескольких лет платформа Android развивалась самостоятельно. В начале 2012 года был запущен проект Android Mainlining, задачей которого стала интеграция драйверов и возможностей Android в основное ядро Linux. Результаты этой работы были представлены в версии 3.3, но интеграция будет продолжена в версии 3.5.

Android также представил несколько улучшений для Linux, которые усилят позиции Linux на рынке мобильных платформ. В качестве примеров можно упомянуть быстрое межпроцессное взаимодействие (IPC), улучшенное управление памятью приложений, и решение для проблемы, связанной с управлением большими непрерывными фрагментами памяти.
...
и т.д.