Aggiornamento del BIOS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page BIOS Update and the translation is 74% complete.
Outdated translations are marked like this.

Questo articolo descrive come applicare un aggiornamento del BIOS su un sistema Gentoo.

I fabbricanti di hardware spesso forniscono degli aggiornamenti per il BIOS e per gli altri tipi di firmware. Installare (spesso indicato come "flash") gli aggiornamenti a volte non è facile sui sistemi GNU/Linux. Questo occasionalmente richiede qualche lavoro extra.

Attenzione
Se l'hardware è operativo spesso non c'è bisogno di aggiornare il BIOS. Se qualcosa va storto possono essere causati danni permanenti al BIOS o al firmware che possono far terminare la garanzia hardware. Procedere con cautela!
Nota
The most prominent and widely used system has historically been the x86-based IBM PC compatible computer and its BIOS, which is why system firmware is sometimes called a BIOS even when it is not an IBM PC compatible BIOS, such as the AlphaBIOS of the DEC Alpha architecture or the OpenBIOS, an implementation of Open Firmware (IEEE-1275). EFI/UEFI, the successor of the PC BIOS, is also often called "(U)EFI-BIOS". Hence, the term "BIOS update" often refers to a system firmware update that is not really a PC BIOS.

This article focuses on the PC BIOS and early versions of its successor EFI/UEFI. On x86 (U)EFI System Class 1 and Class 2 have a BIOS compatible mode called "Legacy BIOS" or "CSM" (short for Compatiblity Support Module), which makes the UEFI behave like a PC BIOS. UEFI System Class 3, the standard since around 2020, no longer has a CSM.

On other firmwares the process of updating the system firmware may have similarities, but can also be completely different.

Ottenere informazioni sul firmware

Per prima cosa trovare il produttore e il modello della scheda madre. Verificare il manuale utente relativo al sistema. Molte delle cose necessarie possono essere trovate nel manuale utente.

Il pacchetto sys-apps/dmidecode può essere utilizzato per richiamare le informazioni aggiuntive sul sistema hardware. dmidecode controlla le tabelle DMI della scheda madre, al fine di fornire informazioni dettagliate sui componenti del firmware e dell'hardware.

root #dmidecode -t bios -t baseboard

Come ultima cosa, se è possibile l'accesso fisico alla scheda madre, l'informazione richiesta può essere trovata direttamente nella scheda madre stessa.

Attenzione
L'accesso alla scheda madre di un computer può causare la perdita della garanzia!

Dopo aver cercato l'aggiornamento per il firmware, procedere allo scaricamento del pacchetto necessario per aggiornare l'hardware. È normale per un produttore fornire il pacchetto dell'aggiornamento del firmware nel formato .zip, .exe o .iso.

user $unzip 7235v1A.zip
Archive:  7235v1A.zip
   creating: 7235v1A/
inflating: 7235v1A/7235v1x.txt
inflating: 7235v1A/AWFL865.EXE
inflating: 7235v1A/How to flash the BIOS.DOC
inflating: 7235v1A/W7235IMS.1A0

Opzioni BIOS

Molti BIOS hanno un'opzione per leggere la nuova immagine binaria da una supporto di memoria o da un disco interno. Entrare nelle impostazioni del BIOS e vedere le opzioni. Se il BIOS non supporta ciò, continuare con la prossima sezione.

Avvio da CD

Spesso i produttori forniscono una immagine CD-ROM da scaricare come supporto di avvio. Il file dovrebbe avere estensione .iso e dovrebbe essere opportunamente scritto su un CD-R(W) vuoto. Uno degli strumenti per fare questo è cdrecord:

root #cdrecord BOOT-CD.iso
Nota
cdrecord è provvisto di due pacchetti. Sceglierne uno fra i seguenti: app-cdr/cdrtools e app-cdr/cdrkit.

Scegliere dal menu di avvio del BIOS l'avvio da CD e seguire le istruzioni del sito web del produttore o del manuale dell'utente.

Ambiente FreeDOS

Nota
Vi è un'utilità di avvio in modalità FreeDOS su SystemRescueCD che funziona bene per fare ciò e farà risparmiare molto tempo, permettendo ai lettori di saltare questa sezione. Vere la nota alla fine della sezione Usare SystemRescueCD per l'avvio in modalità FreeDOS per dettagli.

FreeDOS può essere utilizzato per eseguire l'utilità di aggiornamento del BIOS basato su DOS. Dev'essere creata un'immagine FreeDOS "standard" cheinclude i necessari strumenti BIOS. Una volta che tale immagine è stata creata, è sufficiente avviarla tramite uno dei metodi mostrati sotto.

Scaricare FreeDOS e i suoi strumenti:

  • FreeDOS - Scaricare il file fdboot.img.
  • Settore di avvio FreeDOS - Scaricare il file sys-freedos-linux.zip.
  • Il programma DOS-Flash e il nuovo BIOS dal sito internet del produttore.

Creare una immagine FreeDOS personalizzata

Per prima cosa, scaricare il software richiesto ed abilitare il dispositivo di loopback nel kernel:

KERNEL abilitare il dispositivo di loopback
Device Drivers  --->
    [*] Block devices  --->
        <M>   Loopback device support

Se il modulo non è stato caricato, utilizzare modprobe per caricarlo:

root #modprobe loop

Installare il software necessario:

root #emerge --ask dev-lang/nasm app-arch/unzip sys-fs/dosfstools

Creare un file immagine di ~20MB utilizzando il comando dd. Il nome deve essere freedos.img quando si sostituisce quello sul SystemRescueCD:

root #dd if=/dev/null of=freedos.img bs=1024 seek=20480

Scrivere un file system nell'immagine:

root #mkfs.fat freedos.img

Scrivere un boot sector (settore di avvio) nel file di immagine:

root #unzip sys-freedos-linux.zip && ./sys-freedos.pl --disk=freedos.img

Ora copiare i file FreeDOS nella nuova immagine.

Creare un punto di montaggio:

root #mkdir -p /mnt/freedos /mnt/freedos_new

Montare l'immagine originale:

root #mount -o loop fdboot.img /mnt/freedos

Montare la nuova immagine:

root #mount -o loop freedos.img /mnt/freedos_new

Copiare i file di sistema FreeDOS nella nuova immagine:

root #cp -ar /mnt/freedos/* /mnt/freedos_new/

Ora copiare il programma flash e il nuovo BIOS nel file immagine:

root #cp -ar FLASH-PROGRAM BIOS-UPDATE /mnt/freedos_new

Smontare entrambe le immagini:

root #umount /mnt/freedos_new /mnt/freedos
Nota
DOS può solo visualizzare nomi fino ad una lunghezza di 8 caratteri. È una buona idea rinominare i file che hanno un nome più lungo di tale limite.

Utilizzare SystemRescueCD per avviare FreeDOS

SystemRescueCD viene fornito con una versione di FreeDOS. Questa versione può sostituire l'immagine originale e creare una scheda di memoria avviabile che contiene i programmi necessari per aggiornare il firmware.

Scaricare SystemRescueCD e preparare LiveUSB

Creare una scheda di memoria avviabile

Utilizzare il metodo di default per creare il supporto di avvio SystemRescueCD, lo script usb_inst.sh provvederà a guidare nell'installazione.

Attenzione
Questo cancellerà ogni dato nel supporto di memoria! Assicurarsi che ogni dato sia stato salvato prima di utilizzare il supporto di memoria per questo compito!

Creare la cartella in /mnt:

root #mkdir /mnt/SysRescueCD

Montare l'immagine CD:

root #mount -o loop systemrescuecd-x86-VERSION.iso /mnt/SysRescueCD

Avviare lo script di installazione:

root #/mnt/SysRescueCD/usb_inst.sh

Smontare l'immagine CD:

root #umount /mnt/SysRescueCD
Nota
Se si vuole semplicemente aggiornare il proprio BIOS, non è necessario armeggiare con l'immagine FreeDOS su SystemRescueCD. Dopo aver creato la scheda avviabile SystemRescueCD come descritto sopra, montare la chiavetta USB su una directory. Copiare l'aggiornamento del BIOS lì. Finito! Avviare la chiavetta USB e scegliere DOS tools --> FREEDOS dal menù di avvio di SystemRescueCD. Il nome del file di aggiornamento del BIOS troncato da DOS si troverà nella directory A:. Se non lo si vede, provare in C:. Questo non dovrebbe danneggiare l'istanza di SystemRescueCD sulla chiavetta USB, ma se succede, basta ricrearla una volta finito.

Sostituire l'immagine FreeDOS

È tempo di sostituire l'immagine originale FreeDOS nel dispositivo di memoria SystemRescueCD.

Montare il dispositivo di memoria SystemRescueCD (/dev/sdX1 che deve essere sostituito dal nome del dispositivo di memoria):

root #mount /dev/sdX1 /mnt/SysRescueCD

Sostituire il file freedos.img:

root #cp freedos.img /mnt/SysRescueCD/bootdisk/

Smontare la scheda di memoria SystemRescueCD:

root #umount /mnt/SysRescueCD

Avviare l'immagine FreeDOS direttamente da GRUB

Per avviare FreeDOS senza nessun media esterno utilizzare lo strumento memdisk dal syslinux per consentire a grub (o un altro bootloader) di avviare l'immagine FreeDOS direttamente.

root #emerge --ask sys-boot/syslinux

Montare la partizione /boot (se necessario):

root #mount /boot

Copiare il binario memdisk e la nuova immagine FreeDOS su /boot:

root #cp /usr/share/syslinux/memdisk /boot
root #cp freedos.img /boot

Editare il file /boot/grub/grub.conf e aggiungere una voce per FreeDOS:

FILE /boot/grub/grub.confEsempio voce per grub.conf
title FreeDOS (BIOS update)
kernel /boot/memdisk floppy
initrd /boot/freedos.img

Aggiornamento BIOS

Riavviare e scegliere l'avvio da scheda USB "oppure" dalla nuova voce di grub. Quando si utilizza SystemRescueCD, nella riga comando di GRUB digitare:

freedos

Questo dovrebbe avviare la nuova immagine FreeDOS. Il prompt del DOS dovrebbe comparire:

C:\>_

Ora iniziare l'aggiornamento del BIOS seguendo le istruzioni del costruttore. Qualche comando utile in DOS:

cd <dir>
Passare alla directory..
dir
Elencare i files nella directory corrente.
type [drive][path]filename
Visualizzare il contenuto di un file.

Flashrom

Qualche scheda madre può supportare il flashing (attraverso il pacchetto sys-apps/flashrom) direttamente dal sistema. In questo caso il solo componente necessario è l'immagine del BIOS. Prima di continuare questo percorso, dare un'occhiata alla lista dell'hardware supportato.

Se l'hardware è supportato, verificare la nuova immagine del BIOS:

root #flashrom -v W7235IMS.1A0

Se tutto quanto è verificato, allora flasharlo:

root #flashrom -vw W7235IMS.1A0

UEFI Firmware Capsule

Nota
Since EFI/UEFI is the successor of the PC BIOS on x86, the same tools as for BIOS updates were often used on early (U)EFI systems.

For modern UEFI, firmware updates can be upgraded using UEFI Capsules (introduced with UEFI 2.0[1]). This method is available on Linux and Windows.[2] Vendors have to provide firmware updates for the use with Linux, which they do via the Linux Vendor Firmware Service (LVFS).[3]

Refer to fwupd for further details.

Vedere anche

  • BIOS — the standard firmware of IBM-PC-compatible computers until it was phased out in 2020.
  • Bootable DOS USB stick — describes how to prepare a bootable USB stick which loads DOS using tools available in Gentoo.

References