BIOS Update/sv
Den här artikeln beskriver hur man uppdaterar sin BIOS på ett Gentoo-system.
Hårdvarutillverkare brukar förse en med uppdateringar för BIOS och andra typer av inbyggd programvara.
Om hårdvaran fungerar som den ska, brukar det inte finnas skäl att uppdatera BIOS:en. Skulle någonting gå fel kan det orsaka permanent skada på BIOS:en och andra inbyggda programvaror, vilket kan upphöra garantin på hårdvaran.
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.Samla in information om inbyggd programvara
Först och främst, hitta moderkortets tillverkare och modell. Se användarmanualen som följde med den. Majoriteten av den nödvändiga informationen kan hittas däri.
sys-apps/dmidecode-paketet kan användas för att hämta ytterligare information om systemets hårdvara. dmidecode kollar upp moderkortets DMI-tabell för att ge mer grundligare detaljer gällande inbyggd programvara och hårdvarukomponenter.
root #
dmidecode -t bios -t baseboard
Slutligen, om du har fysisk tillgång till moderkortet, kan den nödvändiga informationen hittas direkt på själva moderkortet.
Åtkomst till moderkortet på en dator kan upphöra dess garanti!
Efter att ha letat efter tillverkarens uppdateringar, fortsätt att ladda ner paketen nödvändiga för att uppdatera hårdvaran. Ofta förvarar tillverkaren uppdateringarna i .zip-, .exe- eller .iso-formaten.
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
BIOS alternativ
Många BIOS:ar har möjligheten att läsa den nya binära filen från ett externt minne eller diskett. Gå in i BIOS-inställningarna och leta efter alternativet. Om din BIOS inte stödjer detta, fortsätt till nästa avsnitt.
Boot-CD
Tillverkare erbjuder ofta CD-ROM-bilder att nedladdas i form av boot-medium. Filen borde ha filformatet .iso som ska brännas till en tom CD-R(W). Ett verktyg som tillåter detta är cdrecord:
root #
cdrecord BOOT-CD.iso
cdrecord tillhandahålls av två paket. Välj en av de följande: app-cdr/cdrtools och app-cdr/cdrkit.
Välj att starta från CD-skiva i menyn från BIOS-inställningarna och följ instruktionerna från tillverkarens webbsida eller användarmanualen.
FreeDOS miljö
Där finns en lämplig FreeDOS boot i SystemRescueCD som fungerar väl i sådana här fall och sparar mycket ansträngning, användaren kan således hoppa över denna delen. Se noteringen i slutet av "Använd SystemRescueCD för att starta FreeDOS" avsnittet för detaljer.
FreeDOS kan användas för att köra DOS-baserade BIOS-uppdateringsverktyg. En "skräddarsydd" FreeDOS-bild som innehåller de nödvändiga BIOS-verktyg måste skapas. Efter att den skräddarsydda bilden har genererats, starta från bilden genom en av metoderna nedan.
Ladda ner FreeDOS och verktyg:
- FreeDOS - ladda ner fdboot.img-filen.
- FreeDOS bootsector - ladda ner sys-freedos-linux.zip-filen.
- DOS-flash programmet och ny BIOS på tillverkarens webbsida.
Skapa en skräddarsydd FreeDOS-bild
Ladda först ner nödvändig mjukvara och aktivera stöd för loopback device i kärnan:
Device Drivers --->
[*] Block devices --->
<M> Loopback device support
Om modulen inte har laddats in, använd modprobe för att göra det.
root #
modprobe loop
Installera nödvändig programvara:
root #
emerge --ask dev-lang/nasm app-arch/unzip sys-fs/dosfstools
Skapa en bildfil på ungefär 20 MB med hjälp av dd-kommandot. Namnet måste vara freedos.img när man ersätter den på SystemRescueCD.
root #
dd if=/dev/null of=freedos.img bs=1024 seek=20480
Skapa ett filsystem på bilden:
root #
mkfs.fat freedos.img
Skriv dit en boot-sektor på filen:
root #
unzip sys-freedos-linux.zip && ./sys-freedos.pl --disk=freedos.img
Kopiera nu över FreeDOS-filen till den nya bilden.
Skapa monteringspunkterna:
root #
mkdir -p /mnt/freedos /mnt/freedos_new
Montera den ursprungliga bilden:
root #
mount -o loop fdboot.img /mnt/freedos
Montera den nya bilden:
root #
mount -o loop freedos.img /mnt/freedos_new
Kopiera över FreeDOS systemfiler till den nya bilden:
root #
cp -ar /mnt/freedos/* /mnt/freedos_new/
Kopiera nu flash-programmet och den nya BIOS:en till bildfilen:
root #
cp -ar FLASH-PROGRAM BIOS-UPDATE /mnt/freedos_new
Avmontera båda bilder:
root #
umount /mnt/freedos_new /mnt/freedos
DOS kan endast visa namn upp till åtta karaktärer långa. Det är en god idé att döpa om filer som sträcker sig längre än denna gräns.
Använd SystemRescueCD för att starta FreeDOS
SystemRescueCD kommer med en version av FreeDOS. Den här versionen kan ersätta den ursprungliga bilden och skapa ett uppstartbart USB-minne som innehåller de nödvändiga programmen för att flash:a den inbyggda programvaran.
Ladda ner SystemRescueCD och förberedd LiveUSB
- SystemRescueCD - ladda ner den vanliga ISO-filen.
Skapa ett startbart USB-minne
Use the default method to create the SystemRescue boot medium, the script usb_inst.sh will provide guidance through the installation.
This will delete any data on the memory stick! Be sure all data has been properly backed up before using the memory stick for this task!
Create the folder in /mnt:
root #
mkdir /mnt/SysRescue
Mount the CD image:
root #
mount -o loop systemrescue-x86-VERSION.iso /mnt/SysRescue
Start the installation script:
root #
/mnt/SysRescue/usb_inst.sh
Unmount the CD image:
root #
umount /mnt/SysRescue
If you simply wish to update your BIOS, there is no need to tinker with the FreeDOS image on SystemRescue. After creating the bootable SystemRescue stick as described above mount the USB stick to a directory. Copy the BIOS update there. You are done! Boot on the USB stick and choose DOS tools ---> FREEDOS from the SystemRescue startup menu. You will find the DOS truncated name of your BIOS update file in the A: directory. If you don't see it try C:. I don't believe this harms the SystemRescue instance on the USB stick, but if it does it is easy enough to recreate when you are done.
Replace the FreeDOS image
It is time to replace the original FreeDOS image on the SystemRescue memory stick.
Mount the SystemRescue memory stick (/dev/sdX1 needs to be replaced by the device name of the memory stick):
root #
mount /dev/sdX1 /mnt/SysRescue
Replace the freedos.img file:
root #
cp freedos.img /mnt/SysRescue/bootdisk/
Unmount the SystemRescue memory stick:
root #
umount /mnt/SysRescue
Booting the FreeDOS image from GRUB directly
To boot FreeDOS without any external media use the memdisk tool from syslinux to allow grub (or another bootloader) to boot the FreeDOS image directly.
root #
emerge --ask sys-boot/syslinux
Mount the /boot partition (if needed):
root #
mount /boot
Copy the memdisk binary and the newly built FreeDOS image to /boot:
root #
cp /usr/share/syslinux/memdisk /boot
root #
cp freedos.img /boot
Edit /boot/grub/grub.conf and add an entry for FreeDOS:
title FreeDOS (BIOS update)
kernel /boot/memdisk floppy
initrd /boot/freedos.img
BIOS update
Restart and choose to boot from the USB memory stick or the new grub entry. When using SystemRescue, in the GRUB command line type:
freedos
This should boot into the new FreeDOS image. The DOS prompt should appear:
C:\>
_
Now start the BIOS update by following the manufacturers instructions. Some useful commands in DOS:
- cd <dir>
- Change to the directory.
- dir
- List the files in the current directory.
- type [drive][path]filename
- Display the contents of a file.
Flashrom
Some motherboards can support flashing (via the sys-apps/flashrom package) directly from the system. In this case the only needed component is the BIOS image. Before continuing this path, first check the list of supported hardware.
If the hardware is supported, verify the new BIOS image:
root #
flashrom -v W7235IMS.1A0
If everything checks out, then flash it:
root #
flashrom -vw W7235IMS.1A0
UEFI Firmware Capsule
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.
See also
- 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.