/lib/firmware/intel-ucode/ -K v programe iucode_tool by to mala riešiť, ja som postupoval ručne.)dpkg-reconfigure intel-microcode update-grub Staršie verzie firmvérov boli dodávané ako zdrojové (.dat) súbory, pre ne je potrebné použiť -td namiesto -tb.
Díky za doplnění, nemám k dispozici žádný počítač, kde by Intel dodával novější firmware než Debian. Týká se to opravdu jen těch nejnovějších procesorů, u kterých se aktualizace objevují častěji než u starších kousků.
Hlavně by byl potřeba starší debian. Dle (v článku zmíněné) url
https://downloadcenter.intel.com/search?keyword=Linux*+Processor+Microcode+Data+File
je poslední verze 20170511, a ta se dle snapshots.debian.org dostala do stable 26.5. (resp objevila se v prislusnych Packages.gz), Backportova verze (jessie) se objevila 29.5.
Poustup s doplnenim od Marka funguje i v Ubuntu (16.04 LTS). Mam ntb s i5-6200 (Skylake s hyperthreadingem), a po aplikaci posledniho microcode ze stranek Intelu mam verzi 0xba, coz by mela byt opravena verze dle zpravicky. Neni to dual boot, do biosu jsem nemusel.
Nieje mi celkom jasné či sa maju updatovať iba postihnute CPU alebo všetky.
Na mojom Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz ktorý nieje Skylake ani Kaby Lake
to vyzerá takto:
journalctl -b -k | grep "microcode"
jún 26 14:36:28 sparky kernel: microcode: microcode updated early to revision 0x22, date = 2017-01-27
jún 26 14:36:28 sparky kernel: microcode: sig=0x306c3, pf=0x2, revision=0x22
jún 26 14:36:28 sparky kernel: microcode: Microcode Update Driver: v2.2.
Zmíněná chyba v HT se týká jen nejnovějších generací, ale mít nejnovější mikrokód není nikdy na škodu. Může opravovat jiné chyby nebo třeba přinést optimalizace. Je to stejné jako s jinými typy firmware.
Zkusil jsem to na Ubuntu 17.10. Nainstaloval jsem intel-microcode a rebootoval. Procesor je
model name : Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
Před rebootem:
$ dmesg |grep -i micro
[ 2.727922] microcode: sig=0x306c3, pf=0x2, revision=0x12
[ 2.756236] microcode: Microcode Update Driver: v2.2.
Po rebootu
[ 0.000000] microcode: microcode updated early to revision 0x22, date = 2017-01-27
[ 2.711904] microcode: sig=0x306c3, pf=0x2, revision=0x22
[ 2.740105] microcode: Microcode Update Driver: v2.2.
Ono mikrokód je zaujímavá vec a často je treba mať najnovší,... Problém je, že istý čas uAMd išiel robiť len do zapnutia cache, čo robil BIOS a dne s robí EFI, lebo BIOS už hádam nie je v ničom novom..
Ryzen dostane nový mikrokód s širší podporou pamětí
9. 5. 2017
Pokud jste si k procesoru Ryzen pořídili nějaké rychlejší paměti, ale na vyšších taktech neběhají stabilně, pak by vás mohlo zajímat, že do pár dnů může být situace vyřešena…
72pin SIMM paměti
Už na přelomu března a dubna AMD avizovala, že pracuje na řešení kompatibility. Vysoko taktované moduly některých výrobců nefungují stabilně v deskách některých značek. Nyní společnost Gigabyte potvrdila, že tyto úpravy budou součástí AGESA mikrokódu 1.0.0.6, který bude k dispozici v průběhu května. Distribuovaný bude prostřednictvím BIOSů pro základní desky.
http://diit.cz/clanek/mikrokod-pro-ryzen-rozsiri-podporu-pameti
nejsem si teda jisty, jestli moznost updatoval bios/microcode cpu z _normalne_ beziciho OS je spravna cesta...
Aktualizace mikrokódu za běhu není problém, výrobce s tím počítá. Potíž bude s aktualizací nastavení čipsetu, to nejspíše půjde jen při úvodní inicializaci (tj. je potřeba použít novější BIOS/UEFI pro danou základní desku).
Protoze ti ho stejne dobre muze zmenit nejakej cerv. Na starsich deskach proto bylo treba pred aktualizaci biosu propojit trebas piny, takze jakejkoli cervik se proste nechytal. Dneska si tam muze kdokoli flashnout cokoli.
Dík za článek. Používám spokojeně Ubuntu 14.04 LTS podporovanou do dubna 2019. Tam mi nabízí intel-microcode ve verzi 2.20140624-t-1ubuntu2. To vypadá jako docela fousatý.
Intelí microcode pro můj CPU (Ivy Bridge) vypadá nejmladší z 20150121.
https://downloadcenter.intel.com/product/64896/Intel-Core-i5-3320M-Processor-3M-Cache-up-to-3-30-GHz-
Mám se snažit updatnout bez Ubuntu? Pokud ano, jak? Poradí někdo?
A má někdo zkušenost s updatem BIOSu Dell Latitude? Jde to z Linuxu?
Díky!
Update BIOSu se dělá z BIOSu :-). Nahraješ soubor na flešku a ve správnou chvíli mu ji tam daš. Doba speciálních updaterů na disketách je naštěstí dávno za námi.
System ROM se většinou instaluje z OS. Některé serverové platformy jdou dokonce dál, a tak je možné použít nástroj pro vzdálenou správu, např. iLO. Díky bohu za ty dary :D
Vacsina novych BIOSov si vie aktualizaciu sam stiahnut z internetu. Zial na moj aktualizacie vydali asi 2x a od vtedy uz na to kaslu :)
u msi je to komplikovanejsi, sice taky potrebujes vlezt do biosu a mit pripojenej flashdisk se souborem toho novyho biosu, ale hacek, spis obri kotva je v tom ze tohle msi nikde na webu nema. tam ma jen exac pro win kterej ti to na ten disk rozbali, ale jenom pod win, musi to bejt spusteny z ty flash a musi to bejt na tom pc s tou deskou ktera se ma flashovat. nejede to pod wine, nejde to z toho vyextrahovat 7zipem ani nicim jinym, na jinym pc se to ukonci s hlaskou ze to neni ta spravna deska. proste milion klacku pod nohy aby si to binarku nemoh nikdo vyextrahovat a ulozit a treba nedejboze pouzit. takze msi bios pod linuxem si aktulizujete jedine po dosinstalovani windows do dualbootu. pritom pro moji desku tam stary biosy jeste byly jako rozbaleny binarky, ale posledni byl 6.0, dal uz jenom exace ze kterych to nejde vylamat. posledni verze je zatim 6.5. jo jinak po extrakci to jeste zobrazi dialog a kdyz se da souhlas, komp se automaticky restartuje, ale do biosu se stejne musi vlezt rucne a aktualizaci spustit rucne. kdyz se odpovi ne, tak to tu vyextrahovanou binarku zase smaze. pekne vychcany.
Bych byl co nejpřísnější aby se nedal upravit základní kód biosu škodlivým virem bez vědomí uživatele. A klidně i HW jumper.
A dá se říct, že updatem BIOSu Dell noťasu si zavleču i update mikrokódu? Nevšiml jsem si podobné poznámky nikde. Dík.
Jednou z funkcií EFI ( resp. v minulosti BIOS-u) je zaviesť aktuálny mikrokód. Dosť nové EFI zavedie dosť nový mikrokód
To nevím. Já ti zkusil a dostal jsem novější μcode (zůstalo sig a pf, povýšilo se revision z 0x80 na 0x5e), ale nelze to zobecňovat.
Ale ten navod je len o sformatovani flashky a stiahnuti updatu z internetu na tu flashku, ktoru si nahra BIOS sam :)
Ovšem ne na všechny.
Můj 6230s nemá bios pro Hughsův fwupdmgr.
Ale BIOS byl vydán 23.5.2017 a nedá se to udělat z linuxu.
Na starších Dell strojoch (serveroch a Latitude/Precision notebookoch) ide BIOS updatovať z Linuxu. Priamo v mainline kerneli je modul dell_rbu.ko, viď /sbin/modinfo dell_rbu
Updatovalo sa to tak, že sa stiahla EXE binárka nového BIOSu a rozbalila sa (bol to iba samorozbaliteľný archív s BIOSom a aplikáciu na flashovanie pre Windows). Potom sa rozbalený súbor poslal do programu dellBiosUpdate (súčasť smbios-utils), ktorý ho nahral do kernelu a po reboote to bolo.
Pre nové Dell stroje sa už ale dodávajú EXE binárky, ktoré nejde rozpakovať a teda nie je ako sa dostať k imagu, ktorý by sa dal do dell_rbu.ko
Zajimave, ale vypada to, ze BIOS pro Dell Latitude E6530 je "MS-DOS executable" a unzip si s nim neporadi. Takze predpokladam se musi pres FreeDOS na USB disku.
Spíš to vypadá, že to je nějaká hybridní binárka, která jede ve Windows a DOS. Jsou v ní i názvy systémových DLL:
kernel32.dll
kernel32.dll
NTDLL.DLL
Advapi32.dll
USER32.dll
GDI32.dll
ADVAPI32.dll
KERNEL32.dll
A třeba tenhle řetězec: This application is only supported on Windows 2K, Windows XP, and in true DOS.
Ja teda svoju vetu poopravím na:
"Dell dováva nové BIOS-y v EXE binárkach, ktoré už nejde rozpakovať."
Tie staršie BIOS EXE-áče mali ešte nejaký prepínač a keď sa s ním spustili pod wine, tak iba rozbalili potrebný BIOS image súbor na disk. Bol to súbor s koncovkou .hdr.
A čo si pamätám, tak EXE súbor Dell BIOS-u bol dlhšie hybridný, išiel spustiť z Dell DOS-u (DOS, v ktorom bežali diagnostické Dell nástroje), MS-DOS-u aj Windows XP/7.
stejne to ted dela i msi, binarka je zabalena v exe a neda se to z toho dostat. funguje to jen na windows na ty desce a jenom pri spusteni z flashdisku. a kdyz na konci nedas agree a yes tak ji to zase smaze, v opacnym pripade restartuje pc ale do biosu musis stejne vlezt manualne a update spustit manualne. pod wine to vyhodi chybu stejne jako kdyz se to spusti na jinym pc s windows. takze jedina moznost byl nahodit dualboot s win. pritom dva roky stara verze biosu jeste byla normalne ta binarka v zipu a slo to rozbalit a zapsat na flash kdekoliv. ale to jim asi prislo malo cool a bezpecny pro lamy.
Takovouto exe binárku lze spustit i z BIOSu – nahraju ji na vhodnou partition (FAT32), při bootu stisknu F12 a vyberu soubor. Nevím, jak to přesně funguje, možná BIOS najde metadata a data na známé pozici, možná má BIOS v sobě image DOSu (FreeDOSu?), nevím. Ostatně v /boot/efi/EFI/dell/bios/recovery/bios_cur.rcv je taky exe.
Opravdu je takto jednoduche nahrat novy mikrokod procesoru ? Prijde mi to jako pomerne velka bezpecnostni dira.
Zlatý časy 80386 a 80486. Update EPROMKY šlo pouze přes programátor EPROMek :-)
Americká armáda 386 používá dodnes.
Otázkou je proč, obávám se, že kvůli možná vyšší bezpečnosti to nebude.
Je v případě nutnosti, procesor na dálku úplně vyřadit, když je plný přístup k podprocesoru přes TCP ?
Součástí mikrokódu je elektronický podpis, který si procesor kontroluje. Nelze nahrát tedy jen tak cokoliv, do procesoru lze nahrát pouze oficiální mikrokód od výrobce. Nikdo to zatím nehacknul, klíč neutekl a kolizi hašovací funkce taky nikdo zatím nevyužil (to by asi šlo u starších CPU).
Cenu za zbytečné použití programu cat pro tento týden vyhrává
...
...
...
Petr Krčmář.
Tip 1: "grep processor /proc/cpuinfo" udělá totéž a rychleji.
Tip 2: cat je od slova conCATenate, má tedy význam hlavně tam, kde více souborů chcete poslat na jeden výstup, třeba do jedné roury.
-Yenya
Použití příkazu cat v tomto případě není zbytečné, zlepšuje to čitelnost zápisu. (I když, uznávám, jak pro koho.) Jinak, příkaz cat je na většině dnešních systémů integrovaný příkaz shellu, tedy žádný program se nespouští. Rozdíl v rychlosti je v tomto případě naprosto irelevantní.
Tak jestli jde o pořadí zapsaných věcí, tak v shellu jde i toto:
< /proc/cpuinfo grep processor
-Yenya
Dobre tomu rozumiem - ten firmware sa nahrá do CPU, alebo sa to nahráva do kernelu ako kvázi ovládač? Lebo pozerám na zahraničným weboch a tam sa to vysvetluje tak, že CPU obsahuje malú "pamäť ROM", ktorá je rezervovaná priamo pre budúce errata a tam by sa mal nahrávať softvér, ktorý errata odstráni - voľakedy sa to robilo ako patch do jadra operačného systému. Takže teraz som načisto stratil dôveru v CPU od AMD, Intel a žiaľ aj ARM možno ešte nejaký ten MIPS alebo niečo od VIA - backdoory priamo v železe to je nočná mora každého IT-čkára. Stratiť nad hardvérom kontrolu! Inými slovami naše počítač môžu byť ovládané odkiaľkoľvek, pozmenené log súbory, presmerovanie trafficu. Zlaté INtel Pentium 120 Mhz - to bol počítač toto tu je už len deravý terminál s backdoormi priamo v hardweri nič viac.
Mám i7-6700, takže jsem aktualizoval z 0xa6 na 0xba.
Jediná chybka byla v kernelu nenatažený modul cpuid:
# /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
/usr/sbin/iucode_tool: cpuid kernel driver unavailable, cannot scan system processor signatures
# modprobe cpuid
# /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
/usr/sbin/iucode_tool: system has processor(s) with signature 0x000506e3
selected microcodes:
001: sig 0x000506e3, pf mask 0x36, 2017-04-09, rev 0x00ba, size 98304
# dmesg |grep microco
[ 0.000000] microcode: CPU0 microcode updated early to revision 0xba, date = 2017-04-09
[ 0.093905] microcode: CPU1 microcode updated early to revision 0xba, date = 2017-04-09
[ 0.099235] microcode: CPU2 microcode updated early to revision 0xba, date = 2017-04-09
[ 0.104506] microcode: CPU3 microcode updated early to revision 0xba, date = 2017-04-09
Díky za článek.
ahoj, jestli to chápu dobře, tohle nahradí intelí microcode jenom na běžící systém. v BIOSu k žádné výměně nedojde, takže dual boot do windows pojede zase z biosovýho microcode a jenom ten linux kde se to nainstaluje bude v cajku?
klasický starý /etc/init.d/microcode_ctl se spouští až v userspace, tedy až kernel všechno inicializoval a předal řízení initu
oproti tomu microcode v intird (early) se upgraduje na začátku kernelu, což by mělo pomoct pokud microcode opravuje něco na co je možné narazit ještě v kernelu
Normální cesta byla vždy upgrade BIOSu / UEFI, cokoliv jiného je jen na chvíli a v podstatě spíš hot-fix.
UEFI editorem lze microcode normálně vložit mezi moduly a pak to flashnout.
fedora robi aktualizaciu mikrokodu automaticky, netreba sa o nic starat
https://mojefedora.cz/jak-na-aktualizaci-mikrokodu-ve-fedore/