LINUX.ORG.RU

еще раз android эмулятор

 ,


1

2

Вообщем оставил я идею запустить anbox на федоре даже с кастомным tkg ядром. Зато в проекте x86 для андроида нашел уже готовые rpm с qemu образами. После инсталляции надо просто запустить в терминале, а для правки параметров qemu в /usr/bin этот скрипт надо править(я уменьшил память). В итоге имеем сразу готовую виртуальную машину с рабочим прокинутым на сетевуху wifi и playstore. Извиняюсь за розовые обои, так и не нашел как их сменить

https://ibb.co/vcy3rts

Одна огромная проблема: после брутального выключения qemu теряется все что было накопленно тяжелым трудом. Весь setup системы начинается с нуля. В начале старта qemu сообщает что «если хотите сохранять данные на диск стартуйте из под рута». Я пробовал ничего не вышло

зы кстати работает под sway без проблем



Последнее исправление: eco_dd (всего исправлений: 2)
Ответ на: комментарий от doc0

оказалось это сообщение для случая если директория с image уже имеется. Короче не существенно

Не понимаю как сделать изменения перманентными? Если у кого возникнет идея вот весь скрипт

#!/bin/bash
# By Chih-Wei Huang <cwhuang@linux.org.tw>
# License: GNU Generic Public License v2

continue_or_stop()
{
        echo "Please Enter to continue or Ctrl-C to stop."
        read
}

QEMU_ARCH=`uname -m`
QEMU=qemu-system-${QEMU_ARCH}

which $QEMU > /dev/null 2>&1 || QEMU=qemu-system-i386
if ! which $QEMU > /dev/null 2>&1; then
        echo -e "Please install $QEMU to run the program.\n"
        exit 1
fi

cd ${OUT:-/android-7.1-r5}


[ -e system.img ] && SYSTEMIMG=system.img || SYSTEMIMG=system.sfs

if [ -d data ]; then
        if [ `id -u` -eq 0 ]; then
                DATA="-virtfs local,id=data,path=data,security_model=passthrough,mount_tag=data"
                DATADEV='DATA=9p'
        else
            	echo -e "\n$(realpath data) subfolder exists.\nIf you want to save data to it, run $0 as root:\n\n$ sudo $0\n"
                continue_or_stop
        fi
elif [ -e data.img ]; then
        if [ -w data.img ]; then
                DATA="-drive index=2,if=virtio,id=data,file=data.img"
                DATADEV='DATA=vdc'
        else
            	echo -e "\n$(realpath data.img) exists but is not writable.\nPlease grant the write permission if you want to sa>
                continue_or_stop
        fi
fi

run_qemu_on_port()
{
        $QEMU -enable-kvm \
        -kernel kernel \
        -append "root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug console=ttyS0 RAMDISK=vdb $DATADEV" \
        -initrd initrd.img \
       	-m 1500 -smp 2 -cpu host \
        -usb -device usb-tablet,bus=usb-bus.0 \
        -machine vmport=off \
        -device AC97 \
        -serial mon:stdio \
        -boot menu=on \
        -drive index=0,if=virtio,id=system,file=$SYSTEMIMG,format=raw,readonly \
        -drive index=1,if=virtio,id=ramdisk,file=ramdisk.img,format=raw,readonly \
        -netdev user,id=mynet,hostfwd=tcp::$port-:5555 -device virtio-net-pci,netdev=mynet \
        $DATA $@
}

run_qemu()
{
        port=5555
       	while [ $port -lt 5600 ]; do
               	run_qemu_on_port $@ && break
               	let port++
        done
}

# Try to run QEMU in several VGA modes
run_qemu -vga virtio -display sdl,gl=on $@ || \
run_qemu -vga qxl -display sdl $@ || \
run_qemu -vga std -display sdl $@ || \
run_qemu $@

eco_dd
() автор топика
Последнее исправление: eco_dd (всего исправлений: 1)
Ответ на: комментарий от doc0

data.img нужно создать образ с помощью qemu-img и права на запись дать в этой директории cd ${OUT:-/android-7.1-r5} или если места нет в другом месте и symlink на него
либо починить p9 для работы p9 достаточно директории data вроде

doc0
()
Последнее исправление: doc0 (всего исправлений: 3)
Ответ на: комментарий от doc0

уже пробовал создавать в другой директории(мое первое исправление комментария), но тогда скрипт не находит data.img.

Сейчас попробовал на иксах запустить из под рута - там сохранение заработало. Спасибо за наводку. Правда для этого мини де слишком тяжелое и через некоторое время виснет полностью из-за нехватки памяти

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

запускал давно у меня диск тормозил и приложения убивались в андройде по таймауту сколько бы памяти не отдавал
тормоза диска я лечить не умею

doc0
()
Последнее исправление: doc0 (всего исправлений: 1)
Ответ на: комментарий от doc0

да нет, на sway я запускал в нем игрушку и даже шарился в интернете. Работал без проблем

Сейчас сделал chmod 777 на все файлы и chown на моего юзера - без изменений. Настолько глубоко qemu я не знаю

eco_dd
() автор топика

стесняюсь спросить а чем эмулятор от гугла не устраивает? маркет есть, снэпшоты есть (сохранение состоягия), инет прокидывается автоматом, тот же qemu без каких либо костыляний

tiroman
()

вообще я хотел запустить единственное приложение «linux news». Я его постоянно читаю в дороге и на своем стационарнике тоже хочу такое

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

я дурак надо просто OUT=/путькdata/ script запускать походу, если без OUT запускать скрипт ищет здесь /android-7.1-r5/ data файлы директории, плохо знаю bash

doc0
()
Последнее исправление: doc0 (всего исправлений: 3)
Ответ на: комментарий от tiroman

целую android studio устанавливать? Не думаю, что студио весит в памяти меньше чем qemu

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

cd это переход в директорию
${переменная}
а это что значит точно не знаю, вроде если переменная OUT не установлен использовать переменную /android-7.1-r5/
OUT:-/android-7.1-r5
т.е. скрипт переходит в одну из этих и внутри ищет data

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

хотя неплохая идея если можно будет запустить без студио. Я смотрю в инете люди пытаются это сделать. Спасибо, попробую

eco_dd
() автор топика
Ответ на: комментарий от doc0

Директория /android-7.1-r5/ с файлами существует. Наверно она всегда и используется

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

вроде можно без студии гонять, я то под мобилки пишу, без студии не гоняю )

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

из всего что пробовал это лучший вариант, тем более под линем, имхо

tiroman
()

Спасибо всем за советы. Нужно время чтобы выбрать лучший вариант

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