Обновление BIOS из под Ubuntu 10.10. Весь процесс от начала и до конца.
BIOS (базовая система ввода/вывода), позволяющая операционным системам и оборудованию корректно взаимодействовать друг с другом, присутствует в каждом современном компьютере и располагается в чипе на материнской плате.
Чтобы узнать версию BIOS , выполните в Ubuntu следующую команду:
keiz@ekz:~$ sudo dmidecode -s bios-version
Чтобы посмотреть дату релиза BIOS вашего компьютера , выполните команду:
keiz@ekz:~$ sudo dmidecode -s bios-release-date
Узнаем марку нашей материнской платы :
keiz@ekz:~$ sudo dmidecode —type baseboard
Handle 0x0002, DMI type 2, 8 bytes
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: GA-MA770-UD3
Как видим в моем случаем материнская плата фирмы Gigabyte. Заходим на официальный сайт и смотрим есть ли обновления для моего биоса. Оказывается я давненько не следил за обновлениями: у меня самый первый релиз.
Для обновления версии Биоса из под Операционной системы Ubuntu понадобится следующая утилита: — flashrom.
keiz@ekz:~$ sudo aptitude search flashrom
p flashrom — Identify, read, write, erase, and verify BIOS/ROM/flash chips
keiz@ekz:~$ sudo aptitude install flashrom
Перед записью новой прошивки в БИОС, желательно сохранить старую версию , то есть скопировать прошивку, которая уже прошита в БИОСе, чтобы потом можно было легко восстановить все обратно:
keiz@ekz:~$ mkdir bios
keiz@ekz:~$ cd bios/
keiz@ekz:~/bios$ sudo flashrom -r bios_fa_09_04_2009.bin
Смотрим информация по нашему файлу:
keiz@ekz:~/bios$ file bios_fa_09_04_2009.bin
Скачав последнюю версию Биоса обнаруживаем, что программа предназначена под операционную систему Windows, исправив это воспользуемся пакетом эмуляции wine, он поможет распаковать исполняемый файл.
Где файл MA77UD32.FKd — и есть сама прошивка с официального сайта (на сайте расположены exe-файлы, но это всего лишь SFX-RAR архив с самой прошивкой и программой-флэшером для ДОСа).
Записываем скачанную прошивку в Биос на свой собственный риск:
keiz@ekz:~/bios$ sudo flashrom -w MA77UD32.FKd
flashrom v0.9.2-r1028 on Linux 2.6.35-32-generic (x86_64), built with libpci 3.0.0, GCC 4.4.4, little endian
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop… OK.
Found ITE Super I/O, id 8720
Found chipset «AMD SB700/SB710/SB750», enabling flash write… OK.
This chipset supports the following protocols: LPC,FWH,SPI.
Found chip «Macronix MX25L8005» (1024 KB, SPI) at physical address 0xfff00000.
This flash part has status UNTESTED for operations: ERASE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-Vw, -VE), and mention which mainboard or programmer you tested.
Flash image seems to be a legacy BIOS. Disabling checks.
Writing flash chip… Erasing flash before programming… Erasing flash chip… SUCCESS.
Теперь можно перезагрузиться с новым биосом .
Хм, после перезагрузки отказала мышка (USB), клавиатура (USB), выходом пока почему, так получилось буду разбираться, а пока поставил работать мышь и клавиатуру через переходники PS/2 на usb.
В ходе анализ экрана самотестирования устройств при загрузки и логов системы, причиной не работающих устройств подключенных к USB оказалось, что в БИОСЕ была отключена поддержка.
Включаем поддержку через BIOS:
Перезагружаем компьютер, F2 — Integrated Peripherals — USB Controllers было DISABLED. Включаю :
USB Controllers — Enable
USB Legacy Function — Enable
USB Storage Funtion — Enable
Смотрим версию биоса и дату после обновления:
keiz@ekz:~/bios$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
keiz@ekz:~/bios$
Таким вот образом можно пере прошивать БИОС из под нашей системы Ubuntu. На этом всё. А пока обновлю на предыдущий релиз.
От ekzorchik
Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.
flashrom README¶
flashrom is a utility for detecting, reading, writing, verifying and erasing flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images in-system using a supported mainboard, but it also supports flashing of network cards (NICs), SATA controller cards, and other external devices which can program flash chips.
It supports a wide range of flash chips (most commonly found in SOIC8, DIP8, SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various protocols such as LPC, FWH, parallel flash, or SPI.
Do not use flashrom on laptops (yet)! The embedded controller (EC) present in many laptops might interact badly with any attempts to communicate with the flash chip and may brick your laptop.
Please make a backup of your flash chip before writing to it.
Please see the flashrom(8) manpage Manual page .
Building / installing / packaging¶
flashrom supports building with make and meson.
TLDR, building with meson¶
meson setup builddir meson compile -C builddir meson install -C builddir
For full detailed instructions, follow the information in Building from source
TLDR, building with make¶
For full detailed instructions, follow the information in Building with make
Contact¶
The official flashrom website is:
Available contact methods are