Привет! Хочу поделится наработками и получить пожелания-отзывы. Ядро openvz было расширено зарлатками для работы android. livecd iso со сборкой выложено на Google Drive. Получилось 16 частей. На iso два ядра: 32 и 64 бит, загрузка для VirtualBox и на нативном железе. То есть в отличии от стандартного android-x86 присутствует полный набор модулей ядра от openvz. system и ramdisk только перепакованы. Ничего докачивать не надо (типа haundini). Каталог android-4.0-r1 можно переписать на любой раздел с ext2/ext3, прописать в загрузчик конфигурацию с iso и получить загрузку android, когда изменения сохраняются межде перезагрузками. initrd -- лишь немного модифицированный initrd от gentoo. Поэтому может грузить стандартно с раздела или подкаталога на разделе. Если прописать к параметрам doshell, то вместо загрузки системы получим shell в initrd (с Midnight Commander). android может запускаться в chroot параллельно X-сам. Практичкски все приложения работают. Проблема (стандартная) только с проигрыванием локального видео на CPU от AMD (с Intel вроде должен работать). Пробовал собрать сам userspace, но он получается немного не таким, как собранные бинарники от android-x86. Например, при начальном старте выскакивает менюшка с просьбой выбрать приложение, которое что-то там должно обработать. Для работы переключателся ввода рус/англ(CAPSLOK) в VirtualBox пришлось заменить system/usr/keychars/Generic.kcm на содержимое Generic_ru.kcm Вообще, в исходниках присутствуют игры (quake), но почему-то не попадают в образ. Хотелось бы также, чтоб на iso присутствовало API-demo как в android-3.2 В планах попробовать наложить на ядро заплатки от cells http://systems.cs.columbia.edu/projects/cells/build/ Эти заплатки (для framebuffer и android drivers) позволят запускать android в контейнере. Если получится портировать, то эти заплатки реализуют для каждого контейнера свой framebuffer. Фактичекски, контейнеры станут почти похожи на VM. Версия ядра изменена с 2.6.32 на 3.26.32, чтоб можно было использовать в CT0 дистры типа calculate с glibc, которая хочет ядро 3.12+ android-4.0-r1.iso.00 https://googledrive.com/host/0B35PjbLHNzyqOWU0ZjFSeWZ0UTA android-4.0-r1.iso.01 https://googledrive.com/host/0B35PjbLHNzyqSEZoZkxBaHlIRDA android-4.0-r1.iso.02 https://googledrive.com/host/0B35PjbLHNzyqNFBrV05WSlVXREE android-4.0-r1.iso.03 https://googledrive.com/host/0B35PjbLHNzyqOW1hZU15RGNEbnM android-4.0-r1.iso.04 https://googledrive.com/host/0B35PjbLHNzyqQWQ1RzBXbHBYWHM android-4.0-r1.iso.05 https://googledrive.com/host/0B35PjbLHNzyqSkxMWXpweHFBb0U android-4.0-r1.iso.06 https://googledrive.com/host/0B35PjbLHNzyqTWI0Q0c3Ul9IclU android-4.0-r1.iso.07 https://googledrive.com/host/0B35PjbLHNzyqbjhwNFpFWVI2MkE android-4.0-r1.iso.08 https://googledrive.com/host/0B35PjbLHNzyqZEF3b01NM3RSb28 android-4.0-r1.iso.09 https://googledrive.com/host/0B35PjbLHNzyqUmc2VExJTjVzbk0 android-4.0-r1.iso.10 https://googledrive.com/host/0B35PjbLHNzyqU1IteUNlT2dETFk android-4.0-r1.iso.11 https://googledrive.com/host/0B35PjbLHNzyqYUh6RFV2UzBfN1E android-4.0-r1.iso.12 https://googledrive.com/host/0B35PjbLHNzyqZVd1eGU5OFpOVkE android-4.0-r1.iso.13 https://googledrive.com/host/0B35PjbLHNzyqVUxCSE11dXBfUTg android-4.0-r1.iso.14 https://googledrive.com/host/0B35PjbLHNzyqVjRvbGZMbmU1VnM android-4.0-r1.iso.15 https://googledrive.com/host/0B35PjbLHNzyqQnRhOWI5Q1hDTGs ebuild ядра с patch's для android: openvz_android_kernel_ebuild.tar.bz2 https://googledrive.com/host/0B35PjbLHNzyqZVNxdHFFckxoNWs ,
Идея интересная. Какое может быть применение у андроида с openvz?
В связи с открытием долго ожидаемого ядра 3.10 от Parallels рад, что смогу начать портировать свои наработки для ядра RHEL7 (android и livecd) Оригинальное ядро от RHEL7 работает с android, но без контейнеров это не очеь интересно. PS: надо будет спросить у команды разработчиков совет по портированию наработок cells на это ядро. В cells использовалось ядро 3.1 и для виртуализации framebuffer они ввели ещё какой-то namespace. Вопрос в том: похожая функиональность (device namespace) уже как-то реализована в openvz, а если нет -- то как её интегрировать в openvz?
Проект cells сделал мобильный с урезанной контейнеризацией: на телефоне с модифицированной прошивкой работают два контейнера (больше не тянет) с android. На страничке cells есть видео с демо. Относительно openvz: виртуализация framebuffer превращает контейнеры в номральную VM, между которыми можно спокойно переключатся. Не надо специально устанавливать в контейнеры VNC. Для меня это плюс. Запуск Andoid в контейнере -- тоже неплохо. Ведь и обьчные дистры можно запускать в chroot. Одноко ведь сколько сил положили на разработку контейнеров. PS: про cells узнал из новости на habrahabr. В ней один из ведущих разработчиков openvz (зашифрованный ником) поведал, что под его руководством два стажировщика из Питербурга повторили достижение cells. Они тоже не стали использовать ядро openvz (типа сложно портировать), а использовали ядро от cells (3.1) PPS: версия android в cells: 4.3
> PS: надо будет спросить у команды разработчиков совет по портированию наработок cells на это ядро. пишите тогда сразу в рассылку - devel@openvz.org лучше сразу подписаться на лист, потому что письма с адресов, не подписанных на рассылку, проходят премодерацию. Подписаться можно здесь - lists.openvz.org
> лучше сразу подписаться на лист, потому что письма с адресов, не подписанных на рассылку, проходят премодерацию. Подписался достаточно давно, а вот digest только сейчас начал приходить. PS: размер git-хранилица ядра 3.10 от openvz примерно 800Мб. История изменений -- от сотворения мира (2.6.12). Качал git ядра от cells -- тоже самое, только покороче (до версии 3.1)