Domov zaujímavé Ako pracovať s flashrom. Flashovanie BIOSu z Linuxu. Rozhranie SPI: historické pozadie

Ako pracovať s flashrom. Flashovanie BIOSu z Linuxu. Rozhranie SPI: historické pozadie

Tento článok pokračuje v téme súvisiacej s hrozbou poškodenia systému BIOS základnej dosky.
dosky s malvérom. V predtým publikovanom článku
a bol
je uvedený príklad programu, ktorý zapisuje na čip BIOS,
ochranné mechanizmy používané výrobcami základných dosiek a dôvody prečo
ktoré sú tieto mechanizmy často neúčinné. Pripomeňme si, že toto
problém nastal pred viac ako 10 rokmi, keď sa BIOS začal používať ako nosič
používajte čipy Flash ROM, ktoré dokážu prepísať obsah bez
fyzického zásahu do počítača. Teda možnosť prevádzky
prepisovanie (aktualizovanie) BIOSu, viedlo k vedľajšiemu efektu – riziku jeho náhodného
alebo úmyselné skresľovanie.

Zdalo by sa, že dnes už bolo na túto tému povedané všetko. Ale čas plynie, objavujú sa
nové typy čipov Flash ROM a rozhrania na ich pripojenie. to
sprevádzaný vznikom nových metód na ochranu systému BIOS pred neoprávneným
skreslenie a, samozrejme, nové zraniteľnosti. V predtým publikovanom článku
odkaz, na ktorý je uvedený na začiatku článku, zvažovaná téma je zverejnená na
príklad platformy s pripojeným čipom SST 49LF004A
rozhranie LPC (Low Pin Count). Dnes ho nahradilo rozhranie SPI
(Sériové periférne rozhranie)
. Pripomeňte si to, aby ste prepísali obsah
Čipy systému BIOS, program musí interagovať s dvoma blokmi registrov:
Registre rozhrania Flash ROM umiestnené v "južnom moste" čipsetu a
registre, ktoré sú súčasťou samotného čipu Flash ROM. Pri presune z
rozhranie LPC na SPI, architektúra týchto dvoch blokov sa výrazne zmenila.
Preto má zmysel zvážiť interakciu programov s čipom BIOS,
ochranné mechanizmy a ich zraniteľnosti vo vzťahu k moderným platformám.
Materiál je vybavený príkladmi jazyka symbolických inštancií. Na experimenty sme použili
Základná doska Gigabyte GA-965P-S3 založená na čipovej sade Intel 965,
popísané v . Médium systému BIOS na tejto doske je
čip SST 25VF080B, popísaný v. Tento čip má kapacitu 8 megabitov
(1 MB) a pripája sa k rozhraniu SPI. Niektoré mikročipy iné
výrobcovia používajúci rovnaké rozhranie sú popísaní v . Popis
Rozhranie SPI je uvedené v . Pri interakcii s ovládačom SPI sme
budete musieť použiť mechanizmy na prístup do konfiguračného priestoru,
popísané v dokumentoch.

Rozhranie SPI: historické pozadie

Ako viete, rýchlosť pamäťového čipu iba na čítanie
(Flash ROM) používaná ako médium BIOS má malý alebo žiadny vplyv na
celkový výkon počítača. Je to spôsobené tým, že pri spustení
základnej dosky sa BIOS prepíše (alebo rozbalí) do operačnej
Tieňová pamäť RAM a pri prístupe do systému BIOS v relácii OS programy pracujú s
RAM, nie s čipom Flash ROM. Preto na rozdiel od
procesor, pamäť, grafický subsystém, ktorého vývoj sprevádza o
rast výkonu, čipy Flash ROM a ich rozhrania sa vyvíjajú
iný smer. Tu sú hlavnými kritériami zníženie nákladov,
spotreba energie a plocha obsadená na základnej doske. Hlavná metóda
dosiahnutie týchto cieľov - zníženie počtu vodičov medzi čipom BIOS
a radič, ktorý je zvyčajne súčasťou „južného mostíka“ čipsetu. Z uhlu pohľadu
spôsob pripojenia čipu BIOS je možné rozlíšiť tri generácie základných dosiek
dosky:

1) Na doskách využívajúcich zbernicu ISA boli nainštalované čipy s pevným obvodom
pamäťové zariadenia so samostatnými adresnými, dátovými a riadiacimi linkami. o
to pre každý bit adresy a dáta, ako aj pre každý riadiaci signál
(čítanie, písanie) si vyžadovalo vlastný drôt, alebo skôr vytlačený vodič na doske.

2) S príchodom čipsetov Intel 810, 815, založených na architektúre „hub“,
autobus ISA je minulosťou. Množstvo zariadení základnej dosky, ku ktorým bolo predtým pripojené
ISA (radič diskety, porty COM a LPT, čip BIOS), "presunutý" do
rozhranie Low Pin Count alebo LPC, ktorého názov sa prekladá ako „malý
počet signálov". Adresné, dátové a riadiace signály v tomto rozhraní
sa prenášajú cez päť liniek (nepočítajúc resetovacie signály, taktovanie a linky
napájanie), v režime časového multiplexovania. Použité čipy systému BIOS
na takýchto platformách, niekedy označovaných ako Firmware Hub alebo FWH. Príklad programu
vymazanie a zápis čipu BIOS, uvedené v predtým publikovanom článku
Pre takéto platformy je určený „Breaking BIOS ROMs N1 and N2“.

3) Počnúc čipovou sadou Intel 945 je ovládač súčasťou „južného mosta“
špecializovaná sériová zbernica Serial Peripheral Interface alebo SPI,
pomocou prenosu dát čítania a zápisu, ako aj riadenia a stavu
informácie cez jednobitový sériový kanál. To umožnilo použiť
8-kolíkový balík pre čip BIOS. Tento článok je venovaný úvahe
práve takéto platformy.

Upozorňujeme, že rozhranie LPC podporujú aj moderné čipsety a
Návrhár základnej dosky môže použiť na pripojenie čipu BIOS
LPC aj SPI. Rozsah rozhrania SPI nie je obmedzený
základné dosky počítačov. Pozorný čitateľ si to možno všimol
že v dôsledku prechodu na sériový dátový formát každý z opísaných
rozhrania používajú viac hodinových cyklov na vykonávanie operácií čítania a zápisu,
ako jeho predchodca, ktorý je plný poklesu výkonu. Ale toto nie
dochádza, keďže táto okolnosť je kompenzovaná zvýšením frekvencie a
optimalizácia dátových formátov. Zbernica ISA pracuje na frekvencii 5-8MHz, LPC pri
33 MHz, SPI pri 33-50 MHz.

Architektúra čipu SPI Flash ROM

Čipy SPI Flash, konkrétne SST25VF080B, využívajú tri signály
príjem a prenos dát. SCK (Serial Clock) - vstup pre taktovanie
prenášané alebo prijímané dáta. SI (Serial Input) - vstup pre prenos
údaje z ovládača do mikroobvodu, adresa sa prenáša bit po bite pozdĺž tohto riadku,
dáta na zápis a kódy príkazov na ovládanie mikroobvodu. SO (sériový výstup) -
výstup na prenos dát z mikroobvodu do regulátora, bit po bite pozdĺž tejto čiary
prenášajú sa čitateľné údaje, ako aj informácie o stave mikroobvodu.
Ovládač riadi čip pomocou príkazov, ktoré spúšťajú operácie
čítanie a zápis dát, mazanie, čítanie ID čipov, čítanie a
záznamy stavového registra atď.

Účel každého z ôsmich kontaktov mikroobvodu, popis všetkých príkazov a
Pozrite si aj ďalšie podrobnosti.

Architektúra regulátora SPI

SPI radič obsiahnutý v Intel ICH8 Southbridge obsahuje viac
20 riadiacich a stavových registrov. Registre sú adresované v pamäťovom priestore s
pomocou technológie I/O mapovania pamäte, o ktorej sme hovorili vyššie
publikovaný článok "Zariadenia na podporu systému. Výskumné práce
N". Popis všetkých registrov a príkazov SPI regulátora je mimo rozsah
tohto článku zvážime hlavné rozdiely medzi softvérovým modelom rozhrania SPI a
jeho predchodca - rozhranie LPC so zameraním na registre,
používa sa pri vykonávaní základných operácií – čítanie identifikátorov, zápis a
vymazanie Flash ROM.

Pripomeňme si, že fyzický prístup k čipu BIOS (nezamieňať s oblasťou
Shadow RAM) sa implementuje cez okno susediace s horným okrajom
rozsah 0-4GB. V rámci radu bude k dispozícii napríklad 1 MB Flash ROM
FFF00000h-FFFFFFFFh. Na platformách využívajúcich rozhrania ISA a LPC cez to
rovnaký rozsah, pri vykonávaní operácií vymazania a zápisu sa vykoná prenos
príkazy a zapisovanie údajov pre čip Flash ROM, ako aj ich čítanie
postavenie. Platforma využívajúca rozhranie SPI diskutovaná v tomto článku je
tiež podporuje čítanie obsahu čipu BIOS v špecifikovanom rozsahu,
ale na prenos riadiacich a stavových informácií počas nahrávania a vymazávania
Flash ROM, používa sa iný spôsob prístupu. Informácie pre spustenie cyklu
SPI zbernica (adresa a dáta) sa zapisuje do špeciálnych registrov SPI regulátora
(Flash Address a Flash Data), potom do registra Software Sequencing
Flash Control dostane príkaz na vykonanie cyklu prístupu k Flash ROM
(čítať alebo písať). Potom prostredníctvom registra Software Sequencing Flash Status
môžete určiť okamih dokončenia operácie a skontrolovať chyby.
Dáta načítané z Flash ROM sú v registri Flash Data.

Na platformách s rozhraniami ISA a LPC sa prenos príkazov uskutočňoval pomocou
priamy zápis bajtu príkazového kódu do rozsahu adries Flash ROM. Rozhranie SPI
využíva nepriamy spôsob prenosu príkazov cez 8-bajtový register
Menu operačného kódu. Každý z bajtov tohto registra ukladá kód jednej z inštrukcií pre
Správa Flash ROM (zápis, mazanie, čítanie identifikátora atď.). Pre
spustiť požadovanú operáciu, program musí poslať číslo bajtu (od 0 do 7),
ktorý obsahuje kód pre túto operáciu. Toto číslo sa prenáša v 3-bitovom poli COP.
(Cycle Opcode Ukazovateľ), ktorý je súčasťou 32-bitového kódu zapísaného do
Softvérové ​​sekvenovanie Flash Control register na spustenie príkazu na vykonanie.
Blok registra OpCode Menu zvyčajne inicializuje BIOS pri štarte platformy.
Umiestnenie bajtov operačného kódu v 8-bajtovom bloku závisí od implementácie systému BIOS.
a môže byť ľubovoľné, takže program musí skenovať tento blok a
určiť číslo, pod ktorým sa v ňom nachádza požadovaný príkaz. Toto číslo a
sa použije pri vypĺňaní poľa COP.

Zvážte použitie funkcie Software Sequencing Flash Status a
Podrobnosti nájdete v softvérovom sekvenčnom ovládaní blesku. Zaregistrujte Flash sekvencovania softvéru
Stav je široký 8 bitov a je umiestnený s posunom 90h vzhľadom k
základnú adresu ovládača SPI (SPIBAR+90h). Zaregistrujte Flash sekvencovania softvéru
Ovládanie má šírku 24 bitov a je umiestnené s posunom 91h. o
pri programovaní regulátora je pohodlné pristupovať k dvom označeným registrom jedným
32-bitová operácia čítania alebo zápisu na adrese 90h. V tomto prípade bity 0-7
zodpovedajú registru Software Sequencing Flash Status a bity 8-31 zodpovedajú
Softvérové ​​sekvenčné ovládanie Flash. Tento spôsob prístupu sa používa v
príklady assembleru priložené k článku. Zvážte priradenie bitov v
ako je očíslované vyššie.

bit 0(SPI Cycle In Progress) – používa sa na určenie momentu
ukončenie prevádzky na autobuse SPI. "0" znamená, že zbernica SPI je voľná a program
môže začať ďalší cyklus. „1“ znamená, že zbernica SPI je zaneprázdnená a beží
transakcie. Bit nastavený a vyčistený hardvérom, k dispozícii iba pre
čítanie.

Bit 1(Rezervované) - nepoužité.

Bit 2(Cycle Done Status) – hardvérovo nastavené na „1“, keď
dokončenie transakcie na zbernici SPI. Na resetovanie musí program zapísať „1“.
daný kúsok.

Bit 3(Flash Cycle Error) – hardvérovo nastavené na „1“, ak
Počas transakcie sa vyskytli chyby: ochrana proti zápisu alebo pokus o spustenie
ďalšej transakcie pred dokončením predchádzajúcej. Ak chcete resetovať, program musí
napíšte do tohto bitu "1".

Bit 4(Access Error Log) – hardvérovo nastavené na „1“, ak
miesto pokusu o prístup k čipu BIOS, pričom došlo k porušeniu prístupových práv k uvedenému
rozsahy adries naprogramované v konfiguračných registroch regulátora
SPI.

Bity 5-7

bit 8(Rezervované) - nepoužité. Ako je uvedené vyššie, bity 8-31
príslušného 32-bitového slova zodpovedá bitom 0-23 softvérového registra
Sekvenčné ovládanie blesku.

Bit 9(SPI Cycle Go) - začnite transakciu na SPI. Do tohto bitu napíšte „1“.
spustí realizáciu transakcie, ktorej typ a obsah sú určené
stav bitov 10-31 toho istého registra.

Bit 10(Atomic Cycle Sequence) - pri odosielaní príkazu na realizáciu
transakcie, zápis "1" do tohto bitu zabraňuje rušeniu vonkajších udalostí
procesy, ktoré sa vyskytujú na rozhraní SPI do troch
fázy: prenos príkazu prefixu, prenos hlavného príkazu a dokončenie
vykonanie hlavného príkazu.

Všimnite si, že týmto spôsobom je jedným z mechanizmov ochrany proti
náhodné poškodenie obsahu čipu BIOS. Predpony tzv
príkazy (napríklad Write Enable) musia predchádzať príkazom, ktoré sa menia
obsah čipu (napríklad Write, Erase). Po prijatí príkazového kódu obsahujúceho
"1" v tomto bite, ovládač vykonáva všetky tri fázy v hardvéri, bez
zásah procesora pred dokončením vykonania hlavnej inštrukcie.

Bit 11(Sequence Prefix Opcode Ukazovateľ) - pri použití prefixu
príkazy (keď je bit 10 nastavený na "1", pozri vyššie), tento bit vyberá jeden z dvoch
bajtov, ktoré sa majú odoslať ako príkaz prefix pre čip SPI
blesk. "0" vyberá dolný bajt registra konfigurácie prefixového operačného kódu
Zaregistrujte sa s "1" - senior.

Bit 12-14(Zacykliť ukazovateľ operačného kódu) – Toto bitové pole vyberá jeden z
osem bajtov, ktoré budú prenášané ako hlavný príkaz pre čip
SPI Flash. Špecifikované bajty sú v registri Konfigurácia ponuky operačného kódu
Registrovať.

bit 15(Rezervované) - nepoužité.

Bity 16-21(Data Byte Count) – nastavuje počet dátových bajtov pre
operácie čítania alebo zápisu. Množstvo sa rovná hodnote tohto poľa plus 1.
Napríklad: 000000b=1 bajt, 111111b=64 bajtov.

Bit 22(Dátový cyklus) – Určuje prítomnosť dátových bajtov v príkaze. "0"
znamená, že neexistujú žiadne údaje (napríklad v príkaze na vymazanie), "1" to znamená
údaje sú prítomné (napr. v príkaze stavu čítania sú údaje
obsah registra stavu).

Bit 23(SPI SMI # Enable) - povolenie na generovanie požiadavky na prerušenie
Prerušenie správy systému po dokončení transakcie, 0=zakázané,
1=povolené.

Bity 24-26(SPI Cycle Frequency) - nastavuje frekvenciu bitu
synchronizácia pri vykonávaní transakcie na SPI. Používajú sa dve hodnoty
(zvyšok je rezervovaný): 000b=20MHz, 001b=33MHz.

Bity 27-31(Rezervované) - nepoužité.

Všimnite si, že predvyplnenie ôsmich bajtov registra ponuky operačného kódu
Configuration Register a dva bajty registra Prefix Opcode Configuration
Register spustí BIOS pri štarte platformy. Preto pri formovaní bit
polia, ktoré vyberajú kód príkazu a kód predpony, musí program naskenovať
uvedené registre a zistite, pod akým číslom obsahujú kódy požadovaných
operácií. Možnosti výplne sa líšia, dokonca aj medzi základnými doskami
rovnaký model s rôznymi verziami systému BIOS. Niektoré nástroje na prepísanie
Flash zmení obsah špecifikovaných registrov.

Podrobný popis všetkých registrov a príkazov SPI regulátora je uvedený v.
Popis príkazov čipu SPI Flash je uvedený v. Uvedené informácie
vyššie je tiež ilustrovaný príkladmi assembleru pripojenými k článku.

Mechanizmy prístupu Flash ROM a ochrana proti zápisu

Vo všeobecnosti na spustenie operácií vymazávania alebo prepisovania čipu
BIOS, program musí vykonať štyri akcie:

  1. Nakonfigurujte registre "južného mosta" čipovej sady, ktoré riadia umiestnenie
    Čipy systému BIOS v adresnom priestore poskytujú prístup k úplnému
    veľkosť mikročipu.
  2. Zakázať režim ochrany proti zápisu systému BIOS implementovaný pomocou „južného mosta“
    čipset.
  3. Vypnite režim ochrany proti zápisu systému BIOS implementovaný čipom
    Flash ROM.
  4. Pošlite príkaz na vymazanie alebo zápis na čip Flash ROM.

Pozrime sa podrobnejšie na tieto postupy, ochranné mechanizmy, ktoré im bránia
neoprávnené vykonanie a samozrejme aj zraniteľnosť týchto mechanizmov.

Ako je uvedené vyššie, pri vykonávaní operácií zápisu a vymazania softvér
prístup k čipu SPI Flash sa vykonáva prostredníctvom registrov ovládača
SPI, bez použitia rozsahu adries, v ktorom je obraz čipu dostupný
BIOS. Preto prekonfigurujte čipset na prístup k rozsahu FFF00000h-FFFFFFFFh
v tomto príklade sa nevyžaduje.

Na tom istom je postavená aj ochrana proti zápisu implementovaná „južným mostíkom“ Intel ICH8
ako v platformách predchádzajúcich generácií sa líšia iba adresy
registrov. Preto je postup odstránenia tejto ochrany podobný postupu
preskúmané v predchádzajúcich publikáciách. Prístup k čipu BIOS je riadený pomocou
8-bitový register BIOS_CNTL (jeho súradnice v konfiguračnom priestore
Bus=0, Device=1Fh, Function=0, Register=DCh). Bit 0 tohto registra (BIOSWE bit,
BIOS Write Enable) riadi oprávnenie zapisovať na čip BIOS, 0=zakázané,
1=povolené. Bit 1 rovnakého registra (BLE bit, BIOS Lock Enable) poskytuje
zachytenie neoprávneného vypnutia ochrany. Ak je bit BLE = 1, potom pri pokuse
nastavenie BIOSWE=1 bit vygeneruje prerušenie SMI (Správa systému
Prerušenie) s volaním špeciálnej procedúry, ktorá je súčasťou systému BIOS. Navyše, ak
BIOS pri štarte nastaví BLE=1 bit, nie je možné programovo resetovať jeho čipset
umožňuje, režim odpočúvania sa vypne až po hardvérovom resete (do
signál RESET). Podrobnosti v .

Skúsenosti ukázali, že tento mechanizmus „ochrany pred deprotekciou“ zvyčajne nie je
aktivované vývojármi systému BIOS. Všetky základné dosky testované
od autora bit BLE=0, takže na odstránenie ochrany proti zápisu stačí nastaviť bit
BIOSWE=1, táto operácia nebude zachytená.

Čip Intel ICH8 tiež podporuje ochranu obsahu čipu BIOS,
špecifikovaním rozsahov adries chránených proti čítaniu a/alebo zápisu.
Teoreticky je na základe tohto mechanizmu možné realizovať účinnú ochranu,
keďže zákaz je programovo povolený procedúrami BIOS pri štarte platformy a
možno odstrániť iba tvrdým resetom. Ale tento mechanizmus zvyčajne nie je
aktivované vývojármi systému BIOS.

(Pokračovanie nabudúce)

Zdroje informácií


developer.intel.com

1) Špecifikácia rozhrania Intel Low Pin Count (LPC). Revízia 1.1. dokument
Číslo 251289-001.
2) Technický list rodiny čipsetov Intel P965 Express – pre pamäť Intel 82P965
Controller Hub (MCH). Číslo dokumentu: 313053-001.
3) Technický list rodiny Intel I/O Controller Hub 8 (ICH8) – pre Intel 82801HB
Rozbočovače I/O radiča ICH8 a 82801HR ICH8R. Číslo dokumentu: 313056-001.

Elektronické dokumenty dostupné na stránke
www.superflash.com alebo
ssti.com.

4) 1Mbit SPI Serial Flash SST25VF010 Data Sheet. číslo dokumentu:
S71233-01-000.
5) 8 Mbit SPI Serial Flash SST25VF080B Data Sheet. číslo dokumentu:
S71296-01-000.

Elektronické dokumenty dostupné na stránke
winbond.com.tw.

6) W25X10A, W25X20A, W25X40A, W25X80A 1M-bit, 2M-bit, 4M-bit a 8M-bit
Sériová flash pamäť so 4KB sektormi a duálnym výstupom SPI Data Sheet.

Elektronické dokumenty dostupné na stránke
macronix.com.

7) MX25L802 8M-bit CMOS Serial Flash EEPROM Data Sheet.

Elektronické dokumenty dostupné na stránke
datakey.com.

8) Špecifikácia rozhrania SPI EEPROM. Číslo dielu 223-0017-004 Revízia H.

Elektronické dokumenty dostupné na stránke
vtitechnologies.com.

9) Špecifikácia rozhrania SPI. Technická poznámka 15.

Elektronické dokumenty dostupné na stránke
pcisig.com.

Dokumenty na webovej stránke pcisig.com sú dostupné len členom PCI
Osobitná záujmová skupina. Na vyhľadávanie je možné použiť vyhľadávače
tieto dokumenty sú k dispozícii na bezplatné stiahnutie.
10) Špecifikácia PCI BIOS. revízia 2.1.
11) Špecifikácia miestnej zbernice PCI. revízia 3.0.
12) Špecifikácia architektúry mosta PCI-PCI. Revízia 1.1.

čelili takémuto problému.
náčelník dal notebook, ktorý priniesol zo servisu.
posypať, uhasiť.
Dal som to von - nechce, pretože inštalátor nenájde pevný disk, ktorý je sata.
V službe BIOS nainštalovali ten starý, bez podpory usb, čo značne komplikuje prácu a možnosť manuálneho určenia typu pevného pripojenia.
Nemôžete aktualizovať BIOS cez disk, pretože v systéme DOS z nejakého dôvodu nevidí jednotku.
ale tu sa lieň obliekol a videl všetko (hoci usb stále ignorovali)
notebook Acer Aspire 5110
Prišiel som s nápadom dať cez to lieň a flashovať bios.
prehrabal som sa na internete a narazil na článok.
Myslím, že to bude užitočné.

Cvičte

Na flashovanie systému BIOS v systéme Linux sú potrebné iba dve veci - samotný firmvér systému BIOS a program, ktorý bude flashovať práve tento BIOS. Program je možné stiahnuť v zdrojových kódoch tu: http://openbios.info/FlashRom alebo nainštalovať v distribúciách založených na Debiane (napríklad v Ubuntu) pomocou APT:

#apt-get nainštalovať flashrom

Pred zápisom nového firmvéru do systému BIOS je vhodné uložiť starú verziu, to znamená skopírovať firmvér, ktorý je už v systéme BIOS flashovaný, aby ste neskôr mohli všetko ľahko obnoviť:

#flashrom -r MyBIOS.bin

Kde MyBIOS.bin je názov súboru, do ktorého bude uložená stará verzia firmvéru. Po uložení už môžete na vlastné nebezpečenstvo a riziko zapísať stiahnutý firmvér do systému BIOS:

#sudo flashrom -w NewBIOS.bin

Kde NewBIOS.bin je názov prevzatého firmvéru. Môžete tiež pridať prepínač -v, aby program skontroloval nahraný firmvér, a tiež môžete pridať prepínač -V, aby bol výstup informatívnejší:

#sudo flashrom -Vvw NewBIOS.bin

Ostatné kľúče nájdete pomocou --help

$flashrom --help

Príklad testoval základnú dosku GIGABYTE GA-965P-DQ6 rev2.0 s Ubuntu 8.04 GNU/Linux na doske

Prečítané: 372

Systém BIOS (Basic Input/Output System), ktorý umožňuje korektnú vzájomnú komunikáciu operačných systémov a hardvéru, je prítomný v každom modernom počítači a je umiestnený na čipe základnej dosky.

Ak chcete skontrolovať verziu systému BIOS, spustite nasledujúci príkaz v Ubuntu:

[chránený e-mailom]:~$ sudo dmidecode -s verzia biosu

Zobrazenie dátumu vydania systému BIOS pre váš počítač, spustite príkaz:

[chránený e-mailom]:~$ sudo dmidecode -s bios-release-date

04/09/2009

Zistite značku našej základnej dosky:

[chránený e-mailom]:~$ sudo dmidecode --type baseboard

Prítomný SMBIOS 2.4.

Rukoväť 0x0002, typ DMI 2, 8 bajtov

Informácie o základnej doske

Výrobca: Gigabyte Technology Co., Ltd.

Meno Produktu: GA-MA770-UD3

Ako vidíte, v mojom prípade základná doska Gigabyte. Ideme na oficiálnu webovú stránku a uvidíme, či existujú aktualizácie pre môj BIOS. Ukázalo sa, že aktualizácie som dlho nesledoval: Mám úplne prvé vydanie.

Ak chcete aktualizovať verziu systému BIOS z operačného systému ubuntu budete potrebovať nasledujúci nástroj: - flashrom.

Príčinou poruchy počítača je často zlyhanie softvéru. Ak takýto softvér ako operačný systém dokáže preinštalovať bežný používateľ, ktorý nemá hlboké znalosti v oblasti IT, potom je jednoducho nemožné flashovať BIOS bez špeciálnych znalostí.

Je dôležité vedieť!Ak sa váš BIOS nenačíta, dôvodom môže byť čokoľvek, až po vypálenú jednotku DVD. Preto by ste nemali blikať bez toho, aby ste zistili príčinu poruchy.

Skratka BIOS znamená Basic Input Output System, čo v doslovnom preklade znamená Basic Input/Output System. Keď zapnete PC, je to práve tento systém, ktorý sa spustí ako prvý, ktorý si vyžiada všetky porty pre pripojené zariadenia a ak sú k počítaču pripojené chybné zariadenia, reakcia BIOSu môže byť veľmi odlišná – od pípania až po zamrznutie alebo reštart. Preto je dôležité zistiť, prečo sa váš počítač nespustí alebo zamrzne počas načítania systému BIOS.

Obrázok 1. - Takto vyzerá čip BIOS na základnej doske

Ak zistíte, že príčina nefunkčnosti PC spočíva práve v tomto čipe, musíte najskôr skontrolovať, ako sa počítač správa pri resetovaní nastavení uložených v CMOS. Ak to chcete urobiť, musíte odpojiť batériu od základnej dosky na 30 sekúnd.

Obrázok 2 – takto vyzerá CMOS batéria.

Ak vyššie uvedené manipulácie nepriniesli žiadny výsledok, potom je čas použiť ťažké delostrelectvo. Totiž urobiť priame blikanie. Dôležité! Všetky nižšie opísané manipulácie sú možné iba vtedy, ak je možné vstúpiť do samotného systému BIOS alebo načítať OS. Prípady, keď je potrebné aktualizovať funkčný BIOS, sú pomerne časté: vývojári, ktorí sa ponáhľajú uviesť nový produkt na trh, často chýbajú chyby v kóde, v dôsledku čoho môžete pozorovať chyby spôsobené systémom BIOS.
Pri blikaní je dôležité uistiť sa, že počítač nie je náhodne vypnutý, odvtedy sa nemôžete obísť bez návštevy servisného strediska. Ak máte notebook, tak okrem nabíjačky sa odporúča pripojiť aj batériu.

Poznámka! V posledných rokoch možno na základných doskách nájsť dva čipy BIOS: jeden je funkčný, druhý slúži na obnovenie pôvodného firmvéru po neúspešnej aktualizácii.

Najjednoduchší spôsob aktualizácie firmvéru je priamo z operačného systému. Najprv prejdeme na webovú stránku výrobcu a stiahneme si najnovšiu verziu systému BIOS pre vašu základnú dosku. Na aktualizáciu firmvéru zo systému Windows existujú špeciálne programy, ktoré celý proces zredukujú na jednoduché kliknutie na tlačidlá „ďalšie“. Nasledujúce tri pomocné programy od vývojárov systému BIOS sú univerzálne pre väčšinu základných dosiek: AMI Firmware Update Utility, Award WinFlash Utility a Phoenix WinPhlash Utility.
Aktualizácia systému BIOS v systéme Linux vyžaduje trochu viac úsilia, ale tiež to nie je príliš komplikovaná operácia. Nižšie je uvedený príklad aktualizácie systému BIOS v distribúciách založených na debiane, medzi ktoré patrí Ubuntu, Mint atď. Poznámka! Všetky akcie sa musia vykonávať v mene root.
Firmvér je teda už stiahnutý, teraz by ste si mali nainštalovať program flashrom (http://openbios.info/FlashRom).

#apt-get nainštalovať flashrom

Pred spustením aktualizácie vytvoríme záložnú kópiu existujúceho firmvéru. Ak to chcete urobiť, použite nasledujúci príkaz:

#flashrom -r BIOS_bak.bin

Teraz s pokojom v duši môžete začať šiť, preto zadáme príkaz:

#flashrom -Vvw BIOS_new.bin

Ak bol firmvér pre váš čipset stiahnutý a program bol úspešne dokončený, môžete počítač bezpečne reštartovať.

Ak nie je možné zaviesť operačný systém, mali by ste použiť firmvér z živého CD (voliteľne použite DOS). Potrebujeme k tomu externé zariadenie (flash disk, CD, externý pevný disk, pamäťovú kartu a pod.), na ktorom je napísaný aktualizačný program (z DOSu sa najčastejšie používa Award, Uniflash alebo AMIFlash) a samotný systém live-CD.
Odporúča sa aktualizovať len vtedy, keď je to skutočne nevyhnutné. Normálne fungujúce, ale zastarané blikanie systému BIOS môže spôsobiť, že bude nepoužiteľný. Ak sa tak stane, potom nezúfajte, stále je šanca na záchranu pacienta doma. Aby ste to dosiahli, musíte získať rovnaký čip so známym funkčným firmvérom. Počítač zaťažíme pracovným mikroobvodom a zviažeme ho závitmi. Po úplnom načítaní operačného systému opatrne vyberte pracovný mikruh, vložte "mŕtvy" a skúste znova preflashovať.

Nástroj konzoly na identifikáciu, čítanie, zápis, kontrolu a vymazanie pamäťových čipov Flash.

Hlavným účelom je flashovanie systému BIOS atď., a preto je v zozname programovacích zariadení veľa veľmi špecifických. Podporované sú však aj bežné programátory / adaptéry:

  • ft2232_spi,
  • serprog,
  • buspirate_spi,
  • rayer_spi,
  • pony_spi

Adaptéry rayer a pony sú pripojené k portu LPT, takže v modernej realite je ich použitie ťažké.

SerProg

serprog nie je špecifický adaptér, ale protokol na interakciu s adaptérom cez rozhranie UART (alebo cez emuláciu UART na USB).

Pre tento protokol existujú rôzne implementácie adaptérov, ktoré vyžadujú minimálnu väzbu pre mikrokontrolér. Rýchlo som prototypoval SerProg STM32VCP pomocou vopred zostaveného devboardu na stm32f103rbt6 s káblovým USB:

buspirate

Ak máte po ruke BusPirate (ako ja), môžete ho použiť, ale toto je zlá možnosť, pretože BusPirate je veľmi, veľmi pomalý. Takže celý cyklus zápisu (prečítanie starého firmvéru, vymazanie pamäte, zápis nového, overenie) SPI Flash na 16Mb mi trval viac ako 20 minút.

Príklad čítania obsahu pamäťového čipu:

/usr/sbin/flashrom -p buspirate_spi:dev=/dev/ttyACM0,spispeed=1M
-r backup_firmware.bin

Adaptéry založené na FT2232

FT2232 by mala byť dobrá voľba, ale ja ju nemám. Podporované sú rôzne JTAG adaptéry.

Nové na stránke

>

Najpopulárnejší