Minha tentativa de transformar um antigo telefone Android em um servidor Linux terminou com eu tentando diversas distribuições Linux.

Assim como os antigos computadores de mesa e laptops, há muitas maneiras de reutilizar seu smartphone antigo. Se a câmera funcionar bem, você pode transformá-lo em um webcam temporária Para o seu computador, ou mesmo Sistema de monitoramento completo usando servidor FrigateComo alternativa, você pode usar a tela sensível ao toque para criar um painel confiável do Assistente Doméstico. Ou, se você for tão produtivo quanto eu, pode até Reutilize-o e converta-o em um Stream Deck.

Minha tentativa de transformar um antigo telefone Android em um servidor Linux terminou comigo tentando diversas distribuições Linux: Explorando as possibilidades dos servidores móveis.

Mas que tal transformar seu celular Android em um servidor doméstico — um que pudesse rivalizar com dispositivos como o Raspberry Pi? Isso me levou a outra ideia, e decidi experimentar este projeto. Afinal, eu já tinha tentado rodar jogos de PC no meu smartphone, então rodar contêineres Linux não deve ser tão difícil, certo? Bem, não exatamente. Devido às limitações de não ter privilégios de root, só consegui rodar algumas distribuições no meu celular, e acabei com uma configuração melhor para alternar entre distribuições do que rodar serviços em pacotes.

Selecione os pacotes apropriados para esta configuração.

No final, optei por configurar o Temux + proot-distro.

Instalando o DokuWiki na distribuição root

O maior desafio neste projeto foi encontrar uma configuração que funcionasse de forma confiável sem precisar fazer root no meu celular. Antigamente, eu fazia o jailbreak dos meus celulares imediatamente após comprá-los. Mas, com todas as restrições impostas pelos aplicativos modernos, achei melhor evitar o root.

Infelizmente, o método direto para executar contêineres requer uma máquina com acesso root — e até mesmo módulos de kernel personalizados em alguns casos. Essa limitação me obrigou a procurar uma alternativa. Executar máquinas virtuais — mesmo aquelas executadas via chroot — apresentou um problema semelhante em máquinas sem acesso root.

Isso me deixou com uma solução alternativa envolvendo o Termux, um poderoso emulador de terminal que costumo usar em meus projetos Android. Uma rápida navegação aleatória no GitHub me levou ao proot-distro, que me pareceu o pacote perfeito para este experimento. Basicamente, o que ele faz é criar um ambiente proot (uma variante do chroot em espaço de usuário), onde posso mexer em distribuições Linux como quiser. Mal sabia eu que isso logo me levaria a uma jornada de troca de distros.

Mexendo com distribuições Linux no Android

proot-distro funcionou bem no início.

Instalar o Arch Linux usando proot-distro no Termux

Com todos os preparativos concluídos, chegou a hora de levar o projeto para a próxima etapa. Após executar o comando `pkg install proot-distro` no Termux, aguardei alguns minutos para que os pacotes necessários fossem extraídos. Em seguida, executei o comando `proot-distro install debian` para começar a configurar o ambiente Debian no meu smartphone. Após a instalação, executei o comando `proot-distro login debian` para fazer login no Debian e, com certeza, o famoso sistema operacional Debian estava rodando no meu celular.

Como não consegui executar nenhum pacote com privilégios sudo, comecei atualizando os pacotes usando os comandos habituais `apt update` e `apt upgrade`. Em seguida, tentei instalar alguns pacotes comuns, incluindo o DokuWiki. Mas a maioria dos pacotes falhou imediatamente. Também tentei instalar o Docker, que apresentou alguns erros. Sem me deixar abater por essas tentativas frustradas, voltei minha atenção para o Podman, que também se recusou a executar. Olhando para trás agora, isso fez todo o sentido, pois precisei fazer algumas modificações no kernel para que os tempos de execução do contêiner funcionassem no meu celular.

Mas não consegui executar os aplicativos root.

Configurando o Arch Linux usando proot-distro no Termux

Depois de navegar um pouco no GitHub, encontrei o repositório proot-apps. Como você já deve ter adivinhado pelo nome, é uma coleção de aplicativos dos desenvolvedores criativos da LinuxServer, projetados para rodar em um ambiente proot. Então, comecei a instalar alguns desses aplicativos na minha máquina virtual Debian. Infelizmente, aqueles projetados para contêineres Docker típicos, como o Nextcloud, não funcionaram na minha configuração. Curiosamente, o código de erro mencionava o QEMU (ou melhor, sua ausência), que nem deveria ser necessário para o aplicativo.

No entanto, pensei em tentar executar os pacotes em uma distribuição diferente. O Fedora tem melhor suporte para o Podman, então pensei em tentar executar o ambiente de execução do contêiner em uma distribuição diferente — o que também não funcionou. Depois, tentei executar o proot-apps dentro de uma instalação do Arch Linux, mas algumas outras distribuições se recusaram a executar. Foi essa última parte que mais me incomodou...

Movido para o repositório Termux-Pentesting-Distro

Mas, a essa altura, eu já havia perdido o propósito do projeto inicial.

Embora distribuições como Debian, Fedora e Arch "funcionassem", descobri que não conseguia instalar muitos aplicativos sem problemas com os pacotes — e isso incluía até mesmo um programa simples como o neofetch. Decidi tentar uma última vez depois de encontrar o repositório Termux-Pentesting-Distro no GitHub. O resultado? Descobri que esse repositório não só suportava uma ampla gama de distribuições incríveis, como também rodava muitos aplicativos. Embora eu não conseguisse executar nenhum gerenciador de janelas ou ambiente de desktop, consegui instalar muitas distribuições no meu celular.

Da mesma forma, consegui instalar o Emacs, o Neovim e outros aplicativos Linux essenciais a partir dos repositórios da nova distribuição. O problema? A essa altura, eu já havia me desviado completamente do meu objetivo original de executar contêineres e me dedicado a experimentar distribuições incríveis. Em minha defesa, meu cérebro não pôde deixar de ficar animado com a enorme quantidade de distribuições Linux — especialmente porque havia várias com nomes completamente novos. Além disso, todas as versões do Linux vinham com o Neofetch de fábrica, e se tem uma coisa que eu amo mais do que alternar entre distribuições, é ver o widget incrível do Neofetch.

Por enquanto, estou satisfeito com a estranha alternância entre distribuições que organizei, especialmente porque não encontrei uma maneira de executar contêineres básicos no meu celular. Pretendo fazer o root em um segundo celular, um pouco mais antigo, em breve, para poder tentar novamente com contêineres Docker e Podman, como todo mundo.

Comentários estão fechados.