Como instalar o SPURV no Linux! Um projeto que permite executar aplicativos Android no Linux!

Como instalar o SPURV no Linux! Um projeto que permite executar aplicativos Android no Linux!

Recentemente falamos sobre o SPURV, um projeto da Collabora que permite executar aplicativos Android no Linux. Hoje, nós vamos mostrar como instalar o SPURV no Linux. Vamos seguir os passos demonstrados pela Collabora.

Lembre-se que o é necessário esta usando o Wayland, então verifique qual o servidor de exibição que esta presente no seu Linux, execute o comando abaixo:

$ echo $XDG_SESSION_TYPE

Se o retorno for X11 você não está usando o Wayland, então certamente o SPURV depois de instalado, pode não funcionar como deveria.

Instalando o SPURV no Linux

Abra o Terminal e execute os comandos abaixo:

$ mkdir aosp; cd aosp

Caso você não tenha instalado ainda, é preciso do pacote repo, o nome é o mesmo para qualquer distribuição, assim, o passo abaixo é um exemplo de instalação no Ubuntu, Debian e derivados:

$ sudo apt install repo

Vamos instalar o repositório:

repo init -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r10
git clone https://gitlab.collabora.com/spurv/android_manifest.git .repo/local_manifests/
repo sync -j15
. build/envsetup.sh
lunch spurv-eng
make -j12

Kernel, a imagem do kernel esta em arch/arm/boot/zImage e o DT em arch/arm/boot/dts/imx6qp-zii-rdu2.dtb:

git clone https://gitlab.collabora.com/spurv/linux.git -b android-container
cd linux
sh ../aosp/device/freedesktop/spurv/build-kernel.sh

Sistema arquivos ROOT

sudo apt install debootstrap qemu-user-static
sudo debootstrap –include=systemd,weston,systemd-container,udev,sudo,openssh-server,iputils-ping,pulseaudio,psmisc,bc –arch armhf –variant minbase testing rootfs http://deb.debian.org/debian/
sudo chroot rootfs adduser aosp –ingroup sudo

Preparando o cartão de memória:

mkfs.ext4 /dev/mmcblk0
sudo mkdir /mnt/sdcard
sudo mount /dev/mmcblk0 /mnt/sdcard

Copiando os arquivos para o cartão de memória:

sudo cp linux/arch/arm/boot/zImage linux/arch/arm/boot/dts/imx6qp-zii-rdu2.dtb rootfs/boot/.
cp aosp/device/freedesktop/spurv/run.sh rootfs/home/aosp/.
cp aosp/out/target/product/spurv/system.img rootfs/home/aosp/aosp.img
cp aosp/out/target/product/spurv/vendor.img rootfs/home/aosp/.
cp aosp/out/target/product/spurv/userdata.img rootfs/home/aosp/.
sudo cp -rfa rootfs/* /mnt/sdcard/.

No console que será aberto, execute:

# Enable RAVE-SP – which controls things like backligt

memset -b -d /dev/main-eeprom 0xa2 1 0

# Set up boot options

detect mmc1
global.linux.bootargs.base=”console=ttymxc0,115200 console=tty0 enforcing=0 ip=dhcp rw rootwait root=/dev/mmcblk0 log_buf_len=16M cma=512M vmalloc=512M”
global.bootm.oftree=/mnt/mmc1/boot/imx6qp-zii-rdu2.dtb
global.bootm.image=/mnt/mmc1/boot/zImage
global.bootm.initrd=
bootm

E por fim, execute o SPURV:

sudo sh run.sh

Pronto! Todas as instruções são as oficiais repassadas pela Collabora afim de guiar a instalação do SPURV no Linux. Para mais informações, suporte e commits, por favor acesse o README do SPURV.