XIAOMI MI 8 LITE × ARCH LINUX ARM

Um celular.
Outra vida.

O Android ficou para trás. O hardware, não.
Um experimento real para transformar o Mi 8 Lite em um servidor Linux — do primeiro boot ao site que você está lendo.

ARCH NATIVOBOOT PERSISTENTEV11
OBJETO 001 / PLATINAVISTA FRONTAL
Representação estilizada do Mi 8 Lite mostrando um terminal Arch Linux

Arraste para explorar · também funciona com as setas do teclado

Modelo 3D estilizado, não um escaneamento do aparelho.

CONTINUE A EXPLORAÇÃO
PLATAFORMASnapdragon 660
ARQUITETURAARM64 / aarch64
KERNEL VALIDADO7.0.14-sdm660
INICIALIZAÇÃOsystemd
01O PONTO DE PARTIDA

Não era só
instalar uma distro.

Era fazer o hardware
aceitar uma nova rotina.

O objetivo não era abrir um terminal dentro do Android. Era retirar o sistema original do caminho de inicialização e executar Arch Linux ARM diretamente no aparelho, com armazenamento persistente, serviços e acesso pela rede.

Entre a ideia e o servidor existiam um bootloader, uma árvore de dispositivos incompleta, drivers dependentes do estado deixado pelo Android e um rádio Wi-Fi particularmente difícil. Cada camada precisou de uma prova própria.

O que já funciona — e o que não funciona

01 / Compilar não é funcionar.

02 / Associar não é trafegar.

03 / Evidência antes de conclusão.

02DIÁRIO DE ENGENHARIA · NOVEMBRO DE 2026

Até aqui,
nenhum atalho.

Uma trajetória em camadas. Abra cada capítulo para entender a mudança, o resultado e o limite do que foi comprovado.

01BASE DE TRABALHOBootloader aberto. Recovery preservada.

A entrada no projeto foi um Mi 8 Lite com bootloader desbloqueado, condição confirmada por Fastboot e pela recovery. Essa verificação abriu a possibilidade de iniciar imagens de teste e, depois, gravar uma imagem de boot própria. Os registros sustentam a confirmação do desbloqueio, não uma nova execução da ferramenta de unlock nesta fase.

Antes das mudanças persistentes, houve backup e conferência de integridade de partições. A recovery OrangeFox foi mantida como caminho de recuperação. Partições de identidade, calibração e modem ficaram fora do escopo de escrita.

EVIDÊNCIA / estado de desbloqueio + backups conferidos
02PRIMEIROS BOOTSLinux em RAM, antes de tocar no sistema.

A bancada inicial usou o kernel comunitário SDM660 e ferramentas do ecossistema postmarketOS/Nura. Imagens temporárias permitiram observar o kernel e um console de diagnóstico por USB sem confundir esse ambiente com uma instalação Arch.

O primeiro obstáculo não era uma tela de login: era uma tela preta com a iluminação acesa. O kernel respondia, mas a imagem desaparecia. Manter clocks e reguladores ligados não resolveu o sintoma. O teste negativo ajudou a abandonar a hipótese errada.

LIMITE / console em RAM ainda não era Arch instalado
03DISPLAY + TOUCHUm reset apagava dois dispositivos.

Tela e toque compartilham o controlador TDDI NT36672A. O driver de touch reinicializava o chip e apagava a configuração de vídeo herdada do bootloader. Sem um driver completo do painel para reconstruí-la, a tela ficava preta.

Impedir o carregamento do driver original trouxe a imagem de volta. Em seguida, um módulo adaptado evitou o reset e o corte de alimentação durante sua inicialização. Imagem e multitoque foram confirmados fisicamente. O console continuou apoiado no framebuffer/simpledrm; isso não representa aceleração 3D da GPU.

EVIDÊNCIA / observação física + eventos de toque
04ÁUDIO E ÁRVORE DE DISPOSITIVOSEntre o DSP, o codec e os pinos.

O ADSP e o codec interno foram integrados ao caminho de áudio. O receptor frontal emitiu som e o microfone principal capturou fala reconhecível. O alto-falante inferior exigiu trabalho adicional no caminho ASoC, no amplificador TFA98xx e no pinmux MI2S.

Uma rota de áudio que aparecia ativa nos registros ainda não produzia som: os pinos não tinham sido atribuídos à função correta. A correção do pinmux tornou o falante audível, mas com volume baixo. Calibração e proteção CoolFlux seguem incompletas. Não foi considerado seguro promover volume máximo como recurso pronto.

RESULTADO / áudio comprovado, com limitações explícitas
05SUBSTITUIÇÃO DO ANDROIDO Arch deixa de ser um experimento em RAM.

O userspace oficial do Arch Linux ARM foi adaptado ao kernel e ao hardware do Platina. O caminho de inicialização passou a carregar o Arch, em vez do Android, com systemd como PID 1, pacman, usuário de trabalho e serviços persistentes.

A evolução incluiu correções no provisionamento, compatibilidade do initramfs, criação de usuário, console e passagem para a raiz real. O rootfs foi inicialmente acomodado na partição de sistema e depois migrado para uma árvore persistente em userdata, aproveitando o armazenamento maior sem uma nova formatação.

“Substituir o Android” aqui significa que ele deixou de ser o sistema inicializado. Não significa apagar todas as partições do fabricante: recovery, calibrações e firmware necessários foram preservados.

MARCO / Arch instalado persistente, não chroot no Android
06KERNEL + FIRMWARERecompor as peças, sem inventar compatibilidade.

A base validada é o kernel 7.0.14-sdm660. Foram adaptados módulos, Device Tree e initramfs, mantendo compatibilidade de ABI. Até o tamanho da estrutura de módulo precisava coincidir: apenas ter o mesmo nome de versão não bastava para carregar um driver externo.

A integração do Wi-Fi exigiu revisar reguladores, memória reservada, MSS, dados de placa e serviços auxiliares. O firmware Qualcomm original foi reaproveitado e auditado, não reescrito. A partição que o contém foi usada somente para leitura; o RMTFS também permaneceu em modo de leitura.

Na V10, a configuração de UART e seu alias permitiu inicializar o controlador Bluetooth e carregar seu firmware. Isso comprovou a presença do HCI, mas não pareamento, áudio ou transferência.

LIMITE / controlador detectado não é funcionalidade completa
07O BLOQUEIO DO WI-FIO rádio aparecia. A rede ainda não existia.

O WCN3990 apresentou quedas de firmware durante a atividade do rádio. Foram confrontadas hipóteses sobre dados de placa, bandas, canais, capacidades, DMA, IOMMU e sequência de inicialização. Um monitor aparentemente estável, sem receber quadros, não foi aceito como prova de rede funcional.

Depois de alcançar busca e associação, surgiu outra barreira: o caminho de transmissão reportava HTT5, sem obter tráfego útil. A candidata com ajuste do ciclo VDEV_DOWN passou por compilação e testes offline, mas no re3 não obteve IPv4. No re4, atribuir um IP manualmente também não trouxe respostas na LAN.

RESULTADO NEGATIVO / corrigir teardown ou contornar DHCP não bastou
08REA + GHIDRA + LLVMQuando os logs não bastaram, vieram os binários.

O firmware WLAN foi estudado como ELF Qualcomm Hexagon, executado no DSP, não como código do kernel Linux. REA e Ghidra foram usados para descobrir funções e recuperar pseudocódigo; o assembly LLVM serviu como conferência independente.

A análise alcançou WLAN, CORE_USER e MBA. Imagens analíticas de ADSP e MODEM foram reconstruídas a partir de segmentos locais já inventariados, com validação de hashes. Para ADSP e MODEM, o resultado foi um overview de descoberta, não a descompilação integral de todas as funções.

Um achado importante: HTT5 não indicava exclusivamente “fila cheia” naquele firmware. A análise estática identificou outras origens possíveis do status. Ela estreitou a investigação, mas não provou qual ramo executou no teste físico. Pseudocódigo recuperado também não é o código-fonte original.

Ver o alcance real da análise ↗
09O PONTO DE VIRADAwpa_supplicant, tráfego e uma nova distinção.

No re5, a combinação dos módulos candidatos com wpa_supplicant e DHCP separado completou autenticação WPA2/CCMP, obteve endereço e respondeu aos testes de tráfego LAN. Nenhuma linha HTT5 ou crash de modem foi registrada nessa tentativa.

A credencial existente foi reutilizada somente em memória, por pipe anônimo, sem ser impressa ou copiada para um novo arquivo. A primeira tentativa SSH chegou ao servidor, mas a chave do usuário foi recusada. A rede havia funcionado; a autorização SSH era um problema diferente.

A troca de supplicant estabeleceu um caminho funcional, mas não isolou sozinha a causa interna da falha com IWD. Estabilidade prolongada e desempenho máximo também não foram inferidos dessa amostra curta.

MARCO / autenticação + DHCP + comunicação real na LAN
10V11 PERSISTENTEA solução precisava sobreviver ao próximo boot.

A autorização SSH foi corrigida preservando as chaves existentes e a autenticação exclusivamente por chave. A rede ganhou um gerenciador permanente, serviços separados, tentativas limitadas e tratamento de falha. Um teste detectou um problema na vigia: ela poderia parar o próprio gerenciador. O comportamento foi corrigido antes da integração.

A V11 preservou os bytes de kernel e Device Tree da base validada, incorporando as mudanças de userspace e initramfs. A imagem foi gravada somente em boot. Depois de um reboot autorizado, Arch, Wi-Fi automático e SSH pela WLAN foram comprovados novamente.

A releitura da imagem gravada confirmou seu SHA256. A recovery permaneceu com o mesmo hash. O estado “Arch instalado persistente” passou a ter prova tanto no processo de gravação quanto no sistema realmente iniciado.

EVIDÊNCIA / boot real + autostart + releitura de integridade
11DO ACESSO AO SERVIÇOUm servidor que já conta a própria história.

O atalho SSH do Windows ainda apontava para uma ponte antiga por USB. Ajustar somente destino e porta permitiu entrar diretamente pela WLAN, com a mesma chave. Login e terminal remoto foram verificados separadamente.

O próximo trabalho foi transformar a infraestrutura em algo público: Docker ARM64, Nginx, arquivos estáticos e uma entrada HTTPS exclusiva para este projeto. O conteúdo fica no Mi 8 Lite; uma VPS cuida do certificado e encaminha as conexões por um túnel criptografado. O computador Windows não participa desse caminho.

Este site não representa um port completo de todos os periféricos. Ele representa o marco de um aparelho com Arch nativo que já pode servir um projeto real.

MARCO / o próprio aparelho como origem do site
03DIRETO DO APARELHO

Não é uma
tela de exemplo.

Uma leitura real do sistema, apresentada no estilo neofetch. O comando disponível no aparelho usa fastfetch. Identificadores pessoais e dados da rede foram omitidos.

SNAPSHOT · 10 NOV 2026
Não é telemetria em tempo real.

platina — system snapshotREAD ONLY
OS
Arch Linux ARM
Kernel
7.0.14-sdm660
CPU
Qualcomm SDM660
Arch
aarch64 / ARMv8-A
RAM
3,52 GiB utilizáveis
Packages
217 · pacman
Init
systemd 262.1
04MAPA DO HARDWARE

Sem maquiar
as pendências.

Um módulo carregado não é um teste funcional. Este mapa distingue os marcos comprovados das funções que ainda precisam de trabalho.

Diagrama conceitual das camadas do projeto: SoC, kernel, firmware e serviços

DIAGRAMA CONCEITUAL
NÃO REPRESENTA O LAYOUT REAL DA PLACA

Boot + sistema

Arch persistente, systemd e armazenamento em userdata.

Comprovado

Wi-Fi + SSH

Autoconexão, endereço, tráfego LAN e acesso por chave.

Comprovado

Tela + toque

Imagem e multitoque comprovados na bancada; falta regressão integral V11.

Parcial

Áudio

Receptor, microfone e falante audíveis; ganho, calibração e proteção pendentes.

Parcial

Bluetooth

HCI e firmware inicializados; pareamento e áudio ainda não validados.

Parcial

GPU, câmeras e vídeo

Sem validação funcional. Tela visível não prova aceleração gráfica.

Em aberto

GNSS, biometria e sensores

Uso real não validado; presença no SoC não basta.

Em aberto

Energia + estabilidade

Sem qualificação térmica, reconexão prolongada ou equivalência integral ao OEM.

Em aberto
05ENGENHARIA REVERSA

Além do
código aberto.

REA, Ghidra e LLVM ajudaram a atravessar a fronteira entre o driver Linux e o firmware proprietário Qualcomm Hexagon.

Visualização conceitual de fluxo entre driver, mensagens HTT e firmware HexagonANÁLISE ESTÁTICA ≠ EXECUÇÃO COMPROVADA
7.651corpos WLAN exportados
sem duplicação de endereço
1.661corpos recuperados
em CORE_USER
802corpos MBA exportados
duas falhas preservadas

A descoberta não é a mesma coisa que a cobertura.

O overview do MODEM identificou 122.663 procedimentos; o do ADSP, 27.286. Esses números são resultados de descoberta e organização analítica. Não significam que todas essas funções foram descompiladas, compreendidas ou testadas.

Os arquivos originais tiveram integridade conferida. Os ELFs reconstruídos serviram à análise, não ao flash. Quando o decompilador falhou, o erro permaneceu no relatório; assembly e fluxo de controle foram usados como evidências complementares.

O resultado mais útil não foi um número: foi deixar de tratar HTT5 como uma explicação única. A tabela de status e os caminhos de transmissão mostraram que a investigação precisava considerar estado de peer, autenticação e descritores — sem transformar uma hipótese estática em causa física confirmada.

Três testes, três conclusões diferentes
ExperimentoO que mudouResultado real
RE3Ciclo VDEV_DOWNSem IPv4; 47 linhas HTT5 observadas.
RE4Endereço IP manualIP presente, sem resposta LAN; 23 linhas HTT5.
RE5wpa_supplicant + DHCP separadoAutenticação e tráfego LAN; zero HTT5/crashes registrados.

Contagens de log podem ser limitadas por taxa. Não medem perda de pacotes nem permitem comparar desempenho entre os testes.

06VOCÊ ESTÁ DENTRO DO EXPERIMENTO

Este site mora
no celular.

Não é só uma história sobre um servidor. É conteúdo servido por ele. O Nginx no Mi 8 Lite entrega os arquivos; a VPS oferece a entrada HTTPS, sem substituir a origem.

Seu navegadorComputador ou celular
HTTPS / NginxCertificado na VPS
Túnel SSHPonte criptografada
Mi 8 LiteArch → Docker → Nginx

Sem depender do PC.
A ligação passa pelo roteador e pela WLAN do aparelho.

Sem recursos de terceiros.
Fontes do sistema, biblioteca 3D e imagens servidas localmente.

Disponibilidade real.
Se o aparelho, a rede ou o túnel pararem, o site fica indisponível.

07UM PROJETO EM ANDAMENTO

Funcionar é um marco.
Terminar é outra história.

[01]

Reconexão e estabilidade de rede em períodos longos.

[02]

Pareamento, transferência e áudio Bluetooth reais.

[03]

Proteção e calibração de áudio; regressão dos periféricos.

[04]

GPU, câmeras, vídeo, sensores e gerenciamento de energia.

[05]

Aprofundar as lacunas de firmware sem confundir descoberta com cobertura.

08RASTREABILIDADE

Uma história baseada em registros.

Esta edição sintetiza os testes de tela e áudio, os mapas de drivers, os relatórios re3/re4/re5, a auditoria REA/Ghidra e as verificações de boot, hashes, rede e SSH da V11. São registros do projeto, não resultados de uma certificação de hardware. Dados privados, credenciais e logs brutos não são publicados.