Olá a todos!
Este é um texto que publiquei no meu LinkedIn, como o conteúdo ficou bem interessante resolvi portar ele aqui pro fórum também .
O assunto que o texto aborda é um tanto quanto especifico, contudo faz referencia a diversas tecnologias que tem aparecido bastante recentemente (pelo menos na minha bolha social
).
OBS : VM abreviação para virtual machine (máquina virtual).
A Purism utiliza em seus notebooks o sistema operacional PureOS, o mesmo é uma distribuição Linux que utiliza como base o Debian juntamente com o ambiente de desktop Gnome.
Para o Librem 5, que é um smartphone da empresa, é utilizada uma versão do PureOS que utilizar um prototipo de shell chamado Phosh juntamente com um compositor que utiliza Wayland chamado Phoc.
Neste texto vamos ver como realizar o download do arquivo de disco e como utilizar este arquivo de disco no Gnome Boxes. Veremos também que é possível utilizar essa VM para testar aplicativos construídos com GTK, em especifico aplicativos construídos com o Gnome Builder e empacotados em formato Flatpak.
Para saber mais sobre o Gnome Builder clique aqui.
Baixando o arquivo de disco
O primeiro passo para baixar o arquivo de disco que será utilizado no virtualizador é acessar o site de integração continua (CI server) do projeto:
https://arm01.puri.sm/job/Images/job/Image%20Build/
Procure pelos históricos de builds que estão em verde :
Ao acessar o histórico de builds procure por qemu-x86_64.qcow2 , caso não encontre este arquivo basta clicar no botão Previous Build :
Ao localizar a imagem basta fazer o download da mesma clicando sobre o nome:
Como o arquivo é do tipo qcow2 é interessante que se utilize KVM/QEMU para a virtualização, algumas distribuições Linux vem com o Gnome Boxes por padrão, contudo também é possível utilizar o virt-manager.
Como estou utilizando o Fedora o Gnome Boxes já vem instalado por padrão, neste caso basta clicar no ícone de soma ( + ) e selecionar a opção Criar uma máquina virtual… :
Em seguida clique na opção Selecione um arquivo :
Navegue até a pasta onde está o arquivo qemu-x86_64.qcow2 e clique em Abrir :
É exibida a tela onde podemos configurar a quantidade de memória RAM que será utilizada pela máquina virtual, por padrão a mesma utiliza 2 GIB, o qual é um bom valor. Clique em Criar :
Aguarde alguns minutos até que seja exibida a tela de desbloqueio do sistema, a senha padrão é 123456 :
Ao realizar o desbloqueio é exibida a primeira tela de configuração, onde podemos definir o idioma para o sistema (ainda não tem português do brasil). Clique em Next :
Logo em seguida temos a tela de configuração do teclado, selecione o mais adequado e clique em Next :
Selecionando o layout do teclado
Agora podemos configurar a privacidade, marque as opções que você julgar interessantes para a sua privacidade. Clique em Next :
Caso queira configurar uma conta de e-mail ou do NextCloud este é o momento, caso contrario clique em Skip :
Por fim basta clicar em Start Using your Librem 5 para começar a utilizar o sistema:
Com o fim das configurações temos a tela inicial do sistema onde podem ser vistos alguns apps:
Ao clicar na região do relógio temos uma área de notificações e algumas configurações rápidas:
Assim como em sistema Linux para desktop podemos realizar diversas operações pelo terminal, basicamente são os mesmo comandos que se utilizariam em sistemas como Debian/Ubuntu:
OBS : Vale enfatizar que o usuário padrão é purism e a senha é 123456 .
Nos testes que realizei, a VM apresenta um comportamento bem estável e é muito interessante analisar a forma com que os aplicativos feitos com a libhandy (ou não) se comportam em telas pequenas.
Deploy do aplicativo na VM
O objetivo aqui é apenas exemplificar o processo de instalação de um aplicativo na VM, para isso vou utilizar o próprio aplicativo de exemplo que é criado quando se inciar um projeto no Gnome Builder. Clique aqui para ver como instalar e criar um projeto no Gnome Builder.
Para criar um pacote Flatpak no Gnome Builder é extremamente simples, basta acessar o menu superior e clicar na opção Exportar pacote :
OBS : Caso o botão não esteja disponível execute uma vez o projeto.
O processo de construção do pacote é exibido no terminal do Gnome Builder:
Com o final do processo, uma janela contendo os arquivos costuma ser aberta:
Pasta contendo os arquivos gerados pelo Gnome Builder
Caso a janela não abra, basta verificar no terminal do Gnome Builder o caminho onde os arquivos foram gerados.
A copia do arquivo br.natorsc.OlaMundo.flatpak (o seu pode ter outro nome!) é feita com o comando scp , para utilizar esse comando é necessário saber o IP da VM, para isso basta abrir um terminal nela e digitar o comando ip a ou mesmo ip a | grep inet :
Vale notar que não é necessário utilizar apenas o terminal da VM, também é possível se conectar a mesma utilizando-se SSH :
OBS : Utilize a forma que lhe for mais confortável.
Ao descobrir o IP da VM abra um terminal no mesmo diretório do arquivo br.natorsc.OlaMundo.flatpak e execute:
scp br.natorsc.OlaMundo.flatpak purism@192.168.122.102:~/
Após a cópia podemos verificar que o arquivo foi copiado para a VM utilizando o comando ls :
Agora que o aplicativo está na VM precisamos configurar o repositório Flathub na VM, isso porque o aplicativo que copiamos no momento da instalação irá baixar os pacotes e o runtime necessário para a sua execução.
O repositório Flathub pode ser adicionado utilizando-se:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Para confirmar se o repositório foi adicionando:
flatpak remotes
Com o repositório configurado basta instalar o aplicativo com o comando:
flatpak install br.natorsc.OlaMundo.flatpak
Digite a senha do usuário purism ( 123456 ):
O instalador irá verificar e realizar o download dos pacotes necessários:
Importante! 
Esse foi um problema que tive ao tentar instalar o aplicativo, durante a tentativa de download do runtime e demais pacotes recebi um alerta de falta de espaço.
Isso pode ter sido gerado por estar realizando diversos teste durante a escrita deste texto ou mesmo posso ter baixado uma build que não estava legal.
Para resolver este problema eu aumentei o tamanho do disco virtual no Gnome Boxes:
Com o aumento do disco não houve um aumento da partição ( /dev/sda2 ), para corrigir isso utilizei uma imagem bootável do Gparted para redimensionar o tamanho da partição.
Para iniciar pela imagem do Gparted, basta acionar a mesma nas propriedades da VM:
Ao iniciar a VM pressione Esc e em seguida pressione o numero 3 (No meu Gnome Boxes a unidade de CD/DVD está no 3):
Quando o Gparted estiver aberto basta clicar com o botão direito sobre a partição que deseja redimensionar e clicar em Verificar :
Após a verificação a partição já deve estar utilizando todo o espaço disponível, desligue o Gparted e inicie novamente na VM.
Ao iniciar tente realizar a instalação novamente e a mesma deve ocorrer sem problemas.
A execução do aplicativo pode ser feita com o comando:
flatpak run br.natorsc.OlaMundo
Na tela inicial o atalho do aplicativo não estará sendo exibido, reinicie a VM para que o mesmo apareça:
Com isso finalizamos esse passeio pelo PureOS com Phosh, o estado da VM para testes de software está realmente muito bom.
Sem falar que é extremante útil e pratico poder simular o comportamento do aplicativo na plataforma em que ele será executado.
Em caso de erros ou mesmo inconsistências entre em contato para que o conteúdo possa ser melhorado .
Dicas e criticas também são bem vindas .