sexta-feira, 21 de julho de 2023

Solução para ausência de firmware amdgpu: Possible missing firmware /lib/firmware/amdgpu/*.bin

Estava eu tentando atualizar o Debian e me depaco com esta mensagem no terminal que você pode ver em cor azul:

# dpkg --configure -a

Configurando initramfs-tools (0.142) ...
update-initramfs: deferring update (trigger activated)
Configurando linux-image-6.1.0-10-amd64 (6.1.38-1) ...
/etc/kernel/postinst.d/dkms:
dkms: running auto installation service for kernel 6.1.0-10-amd64.
dkms: autoinstall for kernel: 6.1.0-10-amd64.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.1.0-10-amd64
W: Possible missing firmware /lib/firmware/amdgpu/ip_discovery.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega10_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_11_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_11_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_10_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_10_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/aldebaran_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_imu.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sdma_6_0_3.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/smu_13_0_10.bin for module amdgpu
raspi-firmware: missing /boot/firmware, did you forget to mount it?
run-parts: /etc/initramfs/post-update.d//z50-raspi-firmware exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: erro ao processar o pacote linux-image-6.1.0-10-amd64 (--configure):
 o subprocesso instalado, do pacote linux-image-6.1.0-10-amd64, o script post-installation retornou erro do status de saída 1
dpkg: problemas com dependências impedem a configuração de linux-image-amd64:
 linux-image-amd64 depende de linux-image-6.1.0-10-amd64 (= 6.1.38-1); porém:
  Pacote linux-image-6.1.0-10-amd64 não está configurado ainda.
dpkg: erro ao processar o pacote linux-image-amd64 (--configure):
 problemas de dependência - deixando desconfigurado
A processar 'triggers' para initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.1.0-10-amd64
W: Possible missing firmware /lib/firmware/amdgpu/ip_discovery.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/vega10_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi12_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_11_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_11_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_10_ta.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/psp_13_0_10_sos.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/aldebaran_cap.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_imu.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_rlc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mec.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_me.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_pfp.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_toc.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sdma_6_0_3.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/sienna_cichlid_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/navi10_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_4_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes1.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_3_mes.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_2_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_1_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/gc_11_0_0_mes_2.bin for module amdgpu
W: Possible missing firmware /lib/firmware/amdgpu/smu_13_0_10.bin for module amdgpu
raspi-firmware: missing /boot/firmware, did you forget to mount it?
run-parts: /etc/initramfs/post-update.d//z50-raspi-firmware exited with return code 1
dpkg: erro ao processar o pacote initramfs-tools (--configure):
 o subprocesso instalado, do pacote initramfs-tools, o script post-installation retornou erro do status de saída 1
Erros foram encontrados durante o processamento de:
 linux-image-6.1.0-10-amd64
 linux-image-amd64
 initramfs-tools

 
Solução temporária:
 
Trata-se de um monte de binários que o atualizador testa, se presente, não exibe as mensagens. Se não, apenas gera isso.
 
Criei temporariamente arquivos vazios, para depois procurar os devidos arquivos na internet e repor no devido lugar, ou seja, /lib/firmware/amdgpu/.

sudo touch /lib/firmware/amdgpu/ip_discovery.bin
sudo touch /lib/firmware/amdgpu/vega10_cap.bin
sudo touch /lib/firmware/amdgpu/sienna_cichlid_cap.bin
sudo touch /lib/firmware/amdgpu/navi12_cap.bin
sudo touch /lib/firmware/amdgpu/psp_13_0_11_ta.bin
sudo touch /lib/firmware/amdgpu/psp_13_0_11_toc.bin
sudo touch /lib/firmware/amdgpu/psp_13_0_10_ta.bin
sudo touch /lib/firmware/amdgpu/psp_13_0_10_sos.bin
sudo touch /lib/firmware/amdgpu/aldebaran_cap.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_imu.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_rlc.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_mec.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_me.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_pfp.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_rlc.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_mec.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_me.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_pfp.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_0_toc.bin
sudo touch /lib/firmware/amdgpu/sdma_6_0_3.bin
sudo touch /lib/firmware/amdgpu/sienna_cichlid_mes1.bin
sudo touch /lib/firmware/amdgpu/sienna_cichlid_mes.bin
sudo touch /lib/firmware/amdgpu/navi10_mes.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_mes1.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_mes_2.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_4_mes.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_mes1.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_mes_2.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_3_mes.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_2_mes_2.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_1_mes_2.bin
sudo touch /lib/firmware/amdgpu/gc_11_0_0_mes_2.bin
sudo touch /lib/firmware/amdgpu/smu_13_0_10.bin


Inicialmente, selecione as linhas que apareciam no terminal e depois usei o comando touch para recriar arquivos com os mesmos nomes, isso foi feito só para não mostrar as mensagens no terminal de falta de binários da amdgpu, depois encontrei os mesmos arquivos na internet para poder repor no devido local, e solucionar o problema eficientemente, como é mostrado abaixo em linha de comando.


Solução definitiva:

Após essa solução provisória, podemos tentar aplicar estas linhas de comando baixando do github o linux-firmware e extraindo e transferindo os binários da amdgpu:

sudo apt install git

mkdir ~/Documents >/dev/null 2>&1 

cd ~/Documents && git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

sudo cp ~/Documents/linux-firmware/amdgpu/* /lib/firmware/amdgpu && sudo update-initramfs -k all -u -v

sudo apt update && sudo apt upgrade

rm ~/Documents/linux-firmware -rf

reboot


Alternativa 1:


cd /lib/firmware/amdgpu

sudo wget -r -nd -e robots=no -A '*.bin' --accept-regex '/plain/' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/amdgpu

sudo update-initramfs -k all -u -v

sudo apt update && sudo apt upgrade

reboot


Alternativa 2:

cd /lib/firmware/amdgpu

sudo wget -r -np -nH --cut-dirs=4 --reject "index.html*" https://anduin.linuxfromscratch.org/sources/linux-firmware/amdgpu/

sudo update-initramfs -k all -u -v

sudo apt update && sudo apt upgrade

reboot


Fonte:

https://www.reddit.com/r/pop_os/comments/rl2k7b/missing_firmware_for_amd_gpu/

https://askubuntu.com/questions/1455525/how-can-i-solve-possible-missing-firmware-error

https://anduin.linuxfromscratch.org/sources/linux-firmware/amdgpu/

Nenhum comentário:

Postar um comentário