LINUX.ORG.RU
ФорумMobile

Запуск консольных программ (x86) на Андроиде (arm)

 , , ,


0

3

Возникло странное желание запустить одну маленькую (~400К), но закрытую прогу для обычного линукса, на телефоне с андроидом (SGS3 c CM11).

В принципе, понятно, что надо сделать: собрать qemu-linux-user статически и зафигячить chroot с минимальными библиотеками для x86.

Поскольку под андроид раньше не собирал, погуглил, но не нашёл, чтобы хоть кто-нибудь собирал user mode qemu для Android.

Ну, думаю, ладно - попробую сам. Но нынешнему QEMU нужен glib, а чтобы собрать glib нужен pkgconfig, а чтобы собрать pkgconfig - нужен glib. Это всё, конечно, решается, но возни много.

И в общем, решил я сначала спросить: может, всё проще делается? Или, может, наоборот, вообще не делается из-за ограничений Android? Например, под линуксом/x86_64 у меня статически собраный бинарник qemu имеет размер 68 мегов, это уже дофига, а сборка под arm наверняка ещё побольше получится.

★★★★★

Ответ на: комментарий от Adonai

Сперва поставить обычный линукс

Видел в сети порты под Android (хотя достаточно давно). Если уж Win95 запускают, то Linux должен завестись.

tlx ★★★★★
()
Ответ на: комментарий от mm3

Видел я эту лимбу - они взяли за основу qemu образца 0.9.1, которая не требовала pkgconfig, да и glib была опциональна. Но основная проблема с ней, что это эмулятор системы, а мне хватило бы user-mode, эмуляция системы даст такие тормоза, что практической пользы от неё не будет.

alt-x ★★★★★
() автор топика
Ответ на: комментарий от tlx

win95 они запускают в полноценной виртуалке.

А мой телефон не настолько быстр, чтобы ещё и виртуалку с линуксом на нём гонять.

alt-x ★★★★★
() автор топика
Ответ на: комментарий от Adonai

Это, конечно, проще по количеству возни, но даже представить себе не могу сколько времени компиляция будет идти на телефоне. Разве что руки греть в холодную погоду. :-) Но, за Linux deploy - спасибо.

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

Так отзеркаль задачу: этот чрут скопируй на комп (в нем проще поставить qemu-linux-user для arm) и компилируй в этом чруте уже на ПК.

feofan ★★★★★
()
Последнее исправление: feofan (всего исправлений: 1)
Ответ на: комментарий от alt-x

так выдери из неё qemu уже откомпилированую и используй в своё удовольствие ну или тоже возьми образца 0.9.1 с user-mode, тебе то какая разница какую версию использовать

mm3 ★★★
()

А где можно скачать бинарники описанные в документации?

On non x86 CPUs, you need first to download at least an x86 glibc (qemu-runtime-i386-XXX-.tar.gz on the QEMU web page).

Download the binary x86 Wine install (qemu-XXX-i386-wine.tar.gz on the QEMU web page).

Что-то на сайте QEMU не могу найти.

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

Мысль интересная, только матрёшка какая-то получается - из андроида chroot в Debian/arm, а oттуда chroot в Debian/i386...

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

alt-x> матрёшка какая-то получается - из андроида chroot в Debian/arm, а oттуда chroot в Debian/i386...

Ставишь минимальную среду Debian для ARM, а затем достаточную i386 для запуска приложения. Так вообще есть возможность запускать ведроид из-под Debian, но надо корневую ФС чуток модифицировать и в инитскрипте ведроида покопаться.

Quasar ★★★★★
()

Не упусти из рассмотрения запуск удаленно и юзание через bvnc/aspice/прочее. Обидно будет натрахаться и понять, что этого хватило бы.

t184256 ★★★★★
()

rulinux.net/thread_42235_page_1

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

Эмулятор машины, или user-mode? Каким тулчейном? Я пробовал Android NDK и CrystalX, не собирается. Исправил кучку всего, но пока не разобрался в чём разница андроидного и стандартного termios.h.

alt-x ★★★★★
() автор топика
Ответ на: комментарий от alt-x

Уж точно не андройдовым. Собирай с glibc статически

mittorn ★★★★★
()
Ответ на: комментарий от alt-x

А что за прога? jad? Если большой бинарник - значит криво собирали. Возможно включили кучу лишних либ или вместо qemu-user собрали softmmu (там овер30мб должно быть, а так же может потребоваться gtk3) Под arm сборки меньше чем под x86_64 и даже меньше чем i386, так что даже та же сборка будет весить менее 40 мегабайт, а для qemu-user 10мб потолок. Просто запускай configure и пытайся выключить всё лишнее, что получается. Разумеется если нужен glib, собирай его без отладки.

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.