Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Linux Aggiornamento del BIOS con linux

Aggiornamento del BIOS con linux

E-mail Stampa PDF

In questo articolo mostreremo come fare l'aggiornamento del BIOS con dei file in formato DOS. Questo perché molti produttori di schede madri offrono solo delle applicazioni per DOS e Windows per poter fare questo aggiornamento.

In questo specifico esempio l'aggiornamento viene fatto per una scheda Asus con un sistema operativo Linux Ubuntu, ma un procedimento simile può essere applicato a una scheda di qualsiasi marca.

Dato che è più facile e veloce installare una partizione con DOS che un sistema operativo windows scaricheremo i file per DOS.

Prima di tutto consiglio di creare una directory dove scaricare i vari file:

$ mkdir updatebios
$ cd updatebios/

Ora scaricare il file per l'aggiornamento, in questo caso dal sito della Asus:

$ wget "http://europe.asrock.com/downloadsite/bios/775/ConRoe865PE(1.70).zip"
$ unzip ConRoe865PE\(1.70\).zip
Archive:  ConRoe865PE(1.70).zip
inflating: CR865PE1.70             
inflating: ASRflash.exe
$ rm ConRoe865PE\(1.70\).zip

Ora nella cartella avrò i due file uno è l'applicazione DOS che servirà a copiare l'altro file nella memoria dove risiede il BIOS.

Ora creiamo l'ambiente DOS dove lavorerà l'applicazione, per fare ciò scaricheremo l'immagine del sistema operativo Dos6.22.img:

$ wget http://www.allbootdisks.com/downloads/Disks/MS-DOS_Boot_Disk_Download47/Diskette%20Images/Dos6.22.img

Ora montiamo il file immagine Dos6.22.img su una director:

sudo mount -t vfat -o loop,rw,umask=000 Dos6.22.img /media/temp

Ora dato che il file immagine è di piccole dimensioni eliminiamo un po di file che non ci servono per fare spazio ai due file che servono per il bios. Quelli che sono necessari sono:

AUTOEXEC.BAT
COMMAND.COM
CONFIG.SYS
KERNEL.SYS
sys.com

In alternativa potete scaricare il file FDOEM.144.gz. Che va decompresso:

gunzip FDOEM.144.gz

a questo punto abbiamo un file immagine FDOEM.144 che va montato allo stesso modo di come avremo montato il primo.

sudo mount -t vfat -o loop,rw,umask=000 FDOEM.144 /media/temp

In entrambi i casi ora copiamo i due file nella directory temporanea che corrisponde al file immagine:

$ sudo cp ASRflash.exe /media/temp/
$ sudo cp CR865PE1.70 /media/temp/

Ora che abbiamo aggiunto i file al file immagine, smontiamo il loro filesystem spostiamo l'immagine  FDOEM.144 oppure Dos6.22.img nella directory di avvio:

$ sudo umount /media/temp
$ sudo rm /media/temp
$ sudo cp FDOEM.144 /boot/biosupdate.img

Verificate se avete installato syslinux, e in caso negativo installatelo:

$ sudo apt-get install syslinux

copiare il memdisk nella directory di boot:

sudo cp /usr/lib/syslinux/memdisk /boot/

ed ora modificare il menù di avvio se usate il vecchio grub basta aggiungere queste righe al file "/boot/grub/menu.lst":

title       BIOS update
kernel      /boot/memdisk
initrd      /boot/biosupdate.img

se avete grub2 il file di configurazione è diventato "/boot/grub/grub.cfg", ma le personalizzazioni le potrete aggiungere al file "/etc/grub.d/40_custom" oppure, se non siete pratici di grub2 create un altro file contenente uno script, il quale genererà le istruzioni necessarie:

$ sudo nano /etc/grub.d/50_memdisk

dove inserire le seguenti righe:

#!/bin/sh

set -e

#path where you put the image file
IMAGES=/boot/
. /usr/lib/grub/grub-mkconfig_lib
if test -e /boot/memdisk ; then
MEMDISKPATH=$( make_system_path_relative_to_its_root "/boot/memdisk" )
echo "Found memdisk: $MEMDISKPATH" >&2
find $IMAGES -name "*.img" | sort |
while read image ; do
IMAGEPATH=$( make_system_path_relative_to_its_root "$image" )
echo "Found floppy image: $IMAGEPATH" >&2
cat << EOF
menuentry "Bootable floppy: $(basename $IMAGEPATH | sed s/.img//)" {
EOF
prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
cat << EOF
linux16 $MEMDISKPATH bigraw
initrd16 $IMAGEPATH
}
EOF
done
fi

Impostare i permessi sul file

$ sudo chmod 755 /etc/grub.d/50_memdisk

Ora rigenerate grub2 per aggiornare il menù di avvio.

$ sudo update-grub2

A questo punto riavviate e scegliete la nuova voce nel menù di avvio.

Ricordate che nel caso non vi apparisse il menù iniziale, il motivo sta nelle impostazioni del grub2, quindi, dato che non mi voglio dilungare con dettagli sul grub2, ricordate che tenendo premuto il tasto SHIFT al momento dell'avvio il menù dovrebbe comparire.

Una volta che il sistema DOS è partito basterà seguire le istruzioni della guida fornita dalla Asus.

Ultimo aggiornamento ( Martedì 30 Agosto 2011 13:29 )  
Loading

Login