# Experimento: usando um Samsung Galaxy S3 Mini como um SoC
Há umas semanas atrás, eu consegui um celular antigo da Samsung, um S3 Mini, era
de um parente meu que tinha esse aparelho pegando pó há um bom tempo.
A versão do Android dele é bem antiga, ou seja, algumas aplicações essenciais
para alguém que realmente vá usar um smartphone nem sequer tem mais suporte;
então, para não deixar esse aparelho na gaveta de novo, eu tive a ideia de
tentar transformá-lo num microcomputador ARM, para usar como um “estepe de
Raspberry Pi” enquanto não compro um.
A primeira coisa que vamos precisar fazer de fato é uma troca de ROM no dispositivo,
a fim de removermos bloat que vem instalado por padrão. Se você não é brasileiro,
possivelmente não sabe do que estou falando, então deixa que eu explico: sempre
que você compra um smartphone aqui no Brasil que seja vinculado à alguma
operadora, ele vem com vários aplicativos instalados que são impossíveis
de remover sem root ao menos — inclusive, isso é algo que o Ciro Santilli
abordou no site dele em sua página sobre o Brasil — e esses aplicativos são um
porre.
Eles geralmente consomem uma boa parte do armazenamento interno e alguns ainda
rodam de fundo, o que é longe do ideal para o nosso caso, onde queremos usar o
máximo do desempenho do aparelho para processamento e afins.
Além do mais, a própria Samsung botou alguns aplicativos que são úteis (e bons,
como no caso do Samsung E-Mail), mas que para nosso experimento não vão servir
de muita coisa.
O modelo que tenho em mãos é um GT-I8200L
, que é o modelo mais vanilla.
Eu penei um pouco para encontrar os arquivos, mas os encontrei eventualmente,
que são a ROM do CyanogenMod (lembra dele?) e o TWRP.
Não gosto de deixar links e downloads (afinal, isso não é um blog de pirataria e
downloads, odeio essa estigma), mas nesse caso creio que seria necessário por
conta da dificuldade que você teria de encontrá-los.
A ROM do CyanogenMod pode ser encontrada nessa thread do XDA Developers:
https://forum.xda-developers.com/t/cm-rom-for-s-iii-mini-value-edition-gt-i8200.3432885/
E a imagem do TWRP para o GT-I8200L
também poderia ser encontrada aqui:
https://forum.xda-developers.com/t/twrp-for-galaxy-s3-mini-gt-i8200.3595483/
Pelo o que eu li, o GT-I8200L
e o GT-I8200
são o mesmo modelo.
Depois que eu baixei os arquivos para o meu modelo, eu fui atrás de um programa
para flasheá-los no aparelho — eu sei que poderia possivelmente fazer isso com
o adb
+ flashboot
, mas como eu disse antes a documentação é bem escassa e
ninguém falava propriamente sobre o uso do adb
nessa. Lembro de que o pessoal
usava (e muito) o tal Odin, mas não vou usar ele pois, além de não ter para
Linux, é um programa que foi vazado da Samsung, é bem lento e não é muito
confiável; no lugar estarei usando o Heimdall, um programa de código-aberto e
livre (tá na MIT), criado pela Glass Echidna, que é uma empresa australiana que
produz software e presta consultoria de TI, ele tá disponível no AUR, então
instalar ele no Arch é bem straightforward.
G450%; git clone https://aur.archlinux.org/heimdall-git Cloning into 'heimdall-git'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (24/24), done. remote: Total 24 (delta 0), reused 24 (delta 0), pack-reused 0 Unpacking objects: 100% (24/24), 8.95 KiB | 763.00 KiB/s, done. G450%; cd heimdall-git G450%; # Instale o Heimdall no /usr/local ao invés do /usr G450%; sed -i -e 's@/usr/bin@/usr/local/bin@g' -e 's@/usr/share@/usr/local/share@g' -e 's@-DCMAKE_INSTALL_PREFIX="/usr"@-DCMAK E_INSTALL_PREFIX="/usr/local"@g' PKGBUILD G450%; # Cheque se tudo foi trocado corretamente dentro do PKGBUILD G450%; grep '/usr/local' PKGBUILD --color=always cmake . -DCMAKE_INSTALL_PREFIX="/usr/local" install -m644 -D "$srcdir/heimdall.desktop" "$pkgdir/usr/local/share/applications/heimdall.desktop" install -m644 -D LICENSE "$pkgdir/usr/local/share/licenses/$pkgname/LICENSE" install -d "$pkgdir"/usr/local/bin install -Dm755 bin/* "$pkgdir"/usr/local/bin/ G450%; # Agora só compile o pacote usando o makepkg G450%; makepkg -si ==> WARNING: Cannot find the sudo binary. Will use su to acquire root privileges. ==> Making package: heimdall-git 1.4.2.r10.g3997d5c-1 (Mon Nov 1 07:26:31 2021) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Cloning Heimdall git repo... Cloning into bare repository '/var/tmp/heimdall-git/Heimdall'... [0] 0:bash 1:bash* 2:zsh 3:heimdall-frontend 4:vim- "G450" 07:26 01-Nov-21