BIOS Update/sv

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

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.

Warning
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.
Note
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.

Warning
Å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
Note
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ö

Note
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:

KERNEL Aktivera stöd för loopback device
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
Note
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

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.

Warning
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
Note
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:

FILE /boot/grub/grub.confExample grub.conf entry
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

Note
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.

References