Atualizando o BIOS pelo Linux

Atualizando o BIOS pelo Linux
O BIOS é alvo de muita gente, principalmente para a atualização. Segundo Morimoto, em seu tutorial sobre placas-mãe (https://www.hardware.com.br/tutoriais/placa-mae-componentes-formatos/bios.html), diz:

“O BIOS contém todo o software básico, necessário para inicializar a placa mãe, checar os dispositivos instalados e carregar o sistema operacional, o que pode ser feito a partir do HD, CD-ROM, pendrive, ou qualquer outra mídia disponível. O BIOS inclui também o Setup, o software que permite configurar as diversas opções oferecidas pela placa. O processador é programado para sempre procurar e executar o BIOS sempre que o micro é ligado, processando-o da mesma forma que outro software qualquer. É por isso que a placa mãe não funciona “sozinha”, você precisa sempre ter instalado o processador e pentes de memória para conseguir acessar o Setup. :)”

Muitas vezes, aquele bug chato de não reconhecer um hardware, ou segundo ainda o Carlos, que “tinha um problema estranho com a placa de rede, que parava de funcionar aleatoriamente depois de algumas horas de uso contínuo, e foi solucionado com a atualização do BIOS”, ou até mesmo muita gente que, como eu, acaba atualizando o BIOS pela última versão sempre por “esporte”.

Normalmente, todos os manuais de placas-mãe ou readmes localizados na Internet ou na página de suporte contém somente os passos para a formatação e criação do disquete de boot no Windows, obviamente com programas “.exe”. É difícil, para quem tem somente Linux, achar um programa que faça isso em específico.

Por isso, pesquisei e encontrei uma solução prática e eficaz. Vamos lá.

Para minha placa Foxconn, fui à página de downloads da mesma, pesquisei minha placa-mãe e baixei o BIOS para ela. Normalmente vem num arquivo .zip. Você deverá baixar a atualização preferencialmente direto na página Web da fabricante de sua placa-mãe. Veja o exemplo do Carlos Morimoto, que acessou “a área de download do site da Asus (http://support.asus.com/download/) e, no menu de busca por atualizações, selecionei as opções “Motherboard > Socket 754 > K8N4-E SE > BIOS”, chegando ao arquivo:”


Extraia o arquivo numa pasta separada. Agora, vamos para a parte direta da dica. Entre no site http://www.bootdisk.com/bootdisk.htm e baixe o DRDFLASH, um DOS preparado para atualização de BIOS, na versão independente de sistema operacional, ou faça o download pelo link:

https://www.hardware.com.br/arquivos/drdflash.zip

Ou pelo terminal:

$ wget https://www.hardware.com.br/arquivos/drdflash.zip

E faça a extração, com o comando:

$ unzip drdflash.zip

No KDE ou GNOME, clique com o botão direito para extrair:

4
Entre no diretório. Veja que há dois arquivos (excluindo os de texto), o DRDFLASH.IMG e o FIRM.COM. Este segundo será desnecessário, pois se trata de um programa independente para gravação em disquete, e como utilizaremos outro método, deixemos ele de lado:

gnome3
Depois disso, pressione F4 para abrir um terminal, ou abra um outro qualquer dirigindo-se à pasta onde estão os arquivos.

Primeiramente vamos formatar o disquete no terminal, criando em seguida o sistema de arquivos DOS. Se a formatação falhar, repita o comando até não obter mais erros:

# fdformat /dev/fd0

A seguir, vamos deixar o disquete inicializável, colocando nele a imagem já preparada para atualização de BIOS, com um MS-DOS bem enxuto. Para isso, rode o comando:

# dd if=DRDFLASH.IMG of=/dev/fd0 bs=1440k count=1

Onde:

if= “Input File”, o arquivo que vai gerar o disco de boot, no caso, o DRDFLASH.IMG
of= “Output file”, o dispositivo do seu drive.
bs= Quantos bytes serão gravados.
count= Número de blocos.

Espere a gravação, que pode ser lenta. Logo após, extraia também o arquivo com o software do BIOS atualizado, e simplesmente mova os arquivos extraídos a partir do pacote ZIP que você baixou no site da fabricante da placa-mãe para dentro do disquete pelo próprio gerenciador de arquivos (você também pode usar o mount /dev/fd0 para montar o drive, e o cp para copiar ou mv para mover – veja exemplo logo abaixo, na seção “Sem disquete”). Eles são provavelmente dois: um com extensão .BIN, que é o BIOS propriamente dito, e um .EXE, programa que se encarregará de fazer a atualização. O disquete ficará mais ou menos assim:

mg-3a47829f
Desmonte o disquete, clicando com o botão direito em seu ícone no Konqueror ou Nautilus e mandando desmontar, ou pelo comando umount /dev/fd0. E o disquete está finalmente pronto.

Sem disquete – pelo HD ou CD

Já que nem todo mundo tem um drive de disquete ou um disquete propriamente dito em casa, também há uma boa dica de como atualizar diretamente pelo HD, sem precisar de CD, disquete ou pen drive. Escrevi estes procedimentos baseado em vários tutoriais disponíveis que encontrei na Web, e testei com sucesso com o Award BIOS. Mas vale lembrar que há um risco do utilitário travar usando este método (do HD).

Então vamos lá. De posse do arquivo DRDFLASH.IMG que vem dentro do arquivo ZIP que baixamos no início da dica, abra o terminal dentro da pasta que o contém, e como root rode:

# mkdir /media/temp
# mount -t vfat DRDFLASH.IMG /media/temp -o loop

Assim, a imagem será montada em /media/temp. Agora precisamos jogar lá dentro os dois arquivos para atualização do BIOS: o AWDFLASH.EXE e o 58BF1P33.BIN, que vieram empacotados em um arquivo ZIP que extraí anteriormente. Faça o processo graficamente ou pelo terminal:

# gunzip 58BF1P33_Rls.zip
# cd 58BF1P33_Rls
# cp -f 58BF1P33.BIN AWDFLASH.EXE /media/temp

Agora feche a imagem, com o:

# umount /media/temp

Entre novamente na pasta onde está o arquivo DRDFLASH.IMG. Copie-o para a pasta /boot:

# cp DRDFLASH.IMG /boot

E também copie o Memdisk do Syslinux, necessário para a inicalização. No Debian Lenny, com um “locate memdisk“, encontrei-o em “/usr/lib/syslinux/memdisk“. No OpenSuse, por exemplo, o arquivo está em “/usr/share/syslinux/memdisk“.

# cp /usr/lib/syslinux/memdisk /boot

Agora abra o arquivo /boot/grub/menu.list, como root e com seu editor favorito, e adicione as seguintes linhas ao final do arquivo, não alterando nenhuma outra entrada:

title BIOS update
root (hd0,0)
kernel /boot/memdisk
initrd /boot/DRDFLASH.IMG

Não se esquecendo de alterar o “root (hd0,0)” com sua respectiva partição. Pronto, basta reiniciar o sistema, e escolher o “BIOS Update” no menuido Grub, prosseguindo com a atualização.

Caso queira gravar em um CD, e inicializar por ele, basta gerar uma imagem ISO a partir da imagem de disquete:

$ genisoimage -b DRDFLASH.IMG -o bootcd.iso DRDFLASH.IMG

E gravar a imagem ISO:

$ wodim -v bootcd.iso

A seguir finalmente, dar o boot a partir do CD. Dê boot com ele, não esquecendo de configurar seu BIOS para inicializar por ele prioritariamente.

Inicializando o computador através do disquete, HD (Grub) ou CD, faça a atualização, a partir do terminal DOS que aparecerá na sua tela, relembrando os velhos tempos que os “homens eram homens“. Os passos em diante variam de acordo com as placas-mãe, podendo ver mais detalhes nos readmes que acompanham os BIOS. Na minha, que possui AwardBIOS, bastei rodar o comando AWDFLASH.EXE 58BF1P33.BIN. Para saber o nome do arquivo .bin, basta dar o comando dir, como de praxe 🙂

Siga o passo-a-passo e tudo estará pronto. Não se esqueça de por o nome OLD ou outro quando ele pedir para gravar o backup.

Caso queira descobrir como atualizar a partir de um pendrive, ou a pelo Windows, veja um excelente artigo de ‘Marcos FRM’ em: https://www.hardware.com.br/comunidade/atualizacao-faq/239131/

Bom, é isso. Divirta-se 🙂

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X