Привет! Хочу поделиться наработками и получить пожелания-отзывы.
Ядро 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
- android-4.0-r1.iso.01
- android-4.0-r1.iso.02
- android-4.0-r1.iso.03
- android-4.0-r1.iso.04
- android-4.0-r1.iso.05
- android-4.0-r1.iso.06
- android-4.0-r1.iso.07
- android-4.0-r1.iso.08
- android-4.0-r1.iso.09
- android-4.0-r1.iso.10
- android-4.0-r1.iso.11
- android-4.0-r1.iso.12
- android-4.0-r1.iso.13
- android-4.0-r1.iso.14
- android-4.0-r1.iso.15
ebuild ядра с patch's для android: openvz_android_kernel_ebuild.tar.bz2
PS: имена файлов на Google Drive — абракадабра, поэтому придётся переименовывать при загрузке.