Eu tinha um Nvidia Shield que usava pra rodar o Kodi, pra reproduzir arquivos de mídia pela rede local. Esse gadget era espetacular; rodava mídia 4k sem engasgar, tinha umas features legais de upscaling, funcionava com todas aquelas tecnologias da Dolby que eu ainda não sei pra que servem.
Recentemente, um raio caiu na minha casa e fritou o Shield, e de repente eu fiquei sem ter como assistir minhas coisas.
Em algum momento eu posso comprar uma nova box, ou tentar alguma coisa nova pro mesmo propósito, mas não quero gastar dinheiro agora, especialmente porque essas caixinhas são muito caras aqui no Brasil por causa do frete e dos impostos.
Como muitos de vocês, eu também tenho algumas placas Raspberry Pi esquecidas na minha gaveta de tranqueiras. A última que comprei, há muitos e muitos anos atrás, é uma Raspberry Pi 3 Model B, que usei uma vez como executor de cron jobs (tipo pra rodar playbooks do Ansible), e decidi usá-la pra substituir o Shield. Ela não é capaz de fazer streaming de mídia 4k, não consegue fazer decode por hardware de HEVC ou outros formatos mais modernos, mas é melhor que nada.
O Pi Ainda Funcionava?
Depois de plugar, ela bootou, mas estava rodando uma versão antiga do Raspbian (baseada no Buster). Então fiz upgrade manual do sistema pro Bullseye e depois pro Trixie.
Eu deveria ter instalado uma versão limpa, mas perdi meu adaptador de cartão SD, então não tinha como plugar o cartão SD no meu computador pra fazer uma instalação limpa.
Tudo parecia ter ido bem, mas depois de bootar no Trixie, recebi um erro sobre uma chave de assinatura faltando. De resto, tudo parecia funcionar apesar do erro, mas quando tentei instalar o Kodi com sudo apt install kodi, a instalação falhou por causa de dependências não satisfeitas, então tive que consertar se quisesse assistir minhas coisas.
Tentei pesquisar no Google mas a solução não apareceu tão fácil (qual chave tá faltando? Onde encontrar? Como configurar?), então decidi abrir o Claude Code e deixar ele consertar pra mim. Dei a minha chave SSH, o comando SSH pra ele conectar no Raspberry Pi, e pedi pra ele consertar minhas merdas.
O Experimento
Primeiro, pedi pro Claude Code resolver o problema da chave de assinatura no apt e instalar o Kodi, o que ele conseguiu fazer de primeira em alguns minutos (fiz os prompts em inglês):
I have a raspberry pi hosted in my local network, at the address pi.local. You can ssh into it with the following command:
ssh pi@pi.localThis pi was updated from Debian 11 to 12, and then from 12 to 13, but I think something went wrong with the the last upgrade, as commands such as
sudo apt updateshow missing key errors. Not sure how to fix those.What I ultimately want is to install Kodi, but the command
sudo apt install kodifails due to unmet dependencies.I want you to fix this installation so we could install kodi.
Então pedi pra ele iniciar o Kodi automaticamente quando o Pi fosse ligado, o que ele, de novo, implementou corretamente de primeira. Ele até reiniciou o Pi pra garantir que o serviço iniciou após o boot, verificando o status do serviço Systemd. Bacana.
Now update the pi installation so that kodi starts up automatically once the system is powered up.
Depois que o Kodi iniciou, a resolução estava toda zoada, em vez da resolução Full HD esperada. De novo, ele fez algumas alterações no /boot/config.txt, e depois de algumas tentativas, o problema foi resolvido.
The next issue is that I cannot seem to configure kodi to run at full HD resolution (1920x1080); the maximum I could get was to 1024x768. How can I configure kodi to run at the maximum output resolution?
Isso foi o que ele adicionou (não me pergunte o que significa, afinal eu só tava no clima):
|
|
Aí percebi que o dphys-swapfile.service estava falhando, e pedi pra ele consertar, e ele de boa reconfigurou o swapfile, reiniciou o serviço, e tudo ficou certo.
Okay, got image back. Let’s leave it like this for now.
Now I found one of the systemd services to report as failed during boot, the dphys-swapfile.service. Can you fix it as well?
Agora, o fuso horário está incorreto. Como configura isso mesmo? Não lembro, mas aparentemente ele sabia; verificou que o daemon NTP estava rodando, perguntou qual fuso horário correto configurar, e configurou quando eu dei a informação que ele precisava.
The clock is incorrect on my raspberry pi. Configure it to fetch correct date and time from the internet.
O Que Não Funcionou
Eu não conseguia usar o controle remoto da TV pra navegar pelos menus do Kodi. Lembro que isso chegou a funcionar em algum momento, então pedi pro Claude Code consertar isso também.
Cara, foi aqui que as coisas ficaram loucas. Ele entrou num loop de reboot, mudando coisas aleatórias no /boot/config.txt pra ver se funcionava, e eventualmente zoou tudo que ele tinha consertado antes. Às vezes bootava numa tela preta, às vezes com a resolução errada, às vezes o som parava de funcionar. Cada enxadada um defunto.
Aí eu eventualmente pedi pra ele parar e reverter pra configuração que funcionava antes, o que pra minha surpresa ele fez, então não precisei começar do zero de novo.
Por enquanto, acabei usando um app de iPhone como controle remoto. Posso tentar consertar isso em algum momento.
Conclusão
Eu não recomendo fazer vibe-patching em servidores dessa forma sem um backup adequado primeiro, a menos que você esteja fazendo só por diversão como eu.
Ou se você simplesmente não tá nem aí.