Прошивка биос в линукс

Обновление 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

Установка утилиты для обновления bios.

Перед записью новой прошивки в БИОС, желательно сохранить старую версию , то есть скопировать прошивку, которая уже прошита в БИОСе, чтобы потом можно было легко восстановить все обратно:

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.

Читайте также:  Linux creating user with password

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.

Спасительные переходники на PS/2.

В ходе анализ экрана самотестирования устройств при загрузки и логов системы, причиной не работающих устройств подключенных к USB оказалось, что в БИОСЕ была отключена поддержка.

Включаем поддержку через BIOS:

Перезагружаем компьютер, F2Integrated PeripheralsUSB 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, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.

Источник

Обновление UEFI/BIOS в Linux

Не секрет, что производители материнских плат и ноутбуков не всегда дают возможность пользователям Linux обновить UEFI/BIOS прошивку так же ненавязчиво, как это делают пользователи Windows. Тем не менее для HP EliteBook 840G1, которым я пользуюсь, сделать это немногим сложнее.

Читайте также:  Запустить openvpn server linux

Для этого дела понадобятся следующие артефакты:

FAT32 ESP

Ноутбуки линейки HP EliteBook содержат 3 режима загрузки. Узнать какой из режимов выбран можно в настройках UEFI/BIOS → System Configuration → Boot Mode . Данный раздел следует читать, если только выбран последний, бескомпромиссный режим UEFI , в остальных случаях можно проскочить.

  • Legacy
  • UEFI Hybrid with compatibility support module (CSM)
  • UEFI Native without CSM

Если вы внимательно читали топик про Linux kernel EFI Boot Stub, то вы наверняка знаете, что и как нужно сделать, для того, чтобы создать дисковый раздел. Можно использовать gdisk , parted или KDE Disk Partition для создания ESP раздела. Вот так выглядит уже готовый раздел.

Рекомендуется ESP раздел монтировать в /boot/efi , а не просто в /boot , для того чтобы можно было хранить образы ядра Linux и файлы загрузчика ОС на штатных линуксовых ФС, вместо того, чтобы все держать в FAT32 EFI System Partition.

(4:549)$ grep efi /etc/fstab /dev/sda4 /boot/efi vfat rw,users,noauto 0 2

Мы уже знаем, что UEFI/BIOS будет искать \EFI\BOOT\bootx64.efi , для чего абсолютный путь к файлу должен быть /boot/efi/EFI/Boot/Bootx64.efi , иначе все пропало и UEFI/BIOS не найдет загрузчик ОС! Обновлению системной прошивки это не помешает, но для чего же тогда нужна прошивка, если нельзя загрузить операционную систему? Очень немаловажно, что по-умолчанию GRUB-2 не копирует необходимый файл и поэтому bootx64.efi надо скопировать вручную.

(4:569) sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/Boot/Bootx64.efi

Подготовка

Берем свежую прошивку с сайта HP, выбираем Linux в выпадающем списке ОС, затем BIOS, скачиваем… и обнаруживаем исполняемый файл для Windows — sp64081.exe . Нет, глаза нас не подвели.

(4:520)$ file sp64081.exe sp64081.exe: PE32 executable (GUI) Intel 80386, for MS Windows

Опытные пользователи бывают готовы к подобным сюрпризам, для чего держат Windows VM либо пользуются не-эмулятором WINE или и то и другое вместе, бо случаи бывают разные. Для распаковки файла возможностей WINE вполне достаточно. Запускаем:

Программа завершает работу с бестактной ошибкой, напоминая лишний раз о том, что нам подсунули не то, что мы ожидали.

Однако, это не должно никого волновать, так как файлы распакованы верно а сверх этого ничего и не требовалось.

(4:529)$ ls -Rl sp64081/ sp64081/: итого 18188 drwxr-xr-x 1 root root 356 июл 30 10:52 BIOSUpdate -rw-r--r-- 1 root root 2950466 мар 4 2013 BIOSUpdateEFI.7z -rwxr-xr-x 1 root root 4838072 авг 7 2013 HPBIOSUPDREC.exe -rw-r--r-- 1 root root 883 июл 30 10:52 HPBIOSUPDREC.log -rwxr-xr-x 1 root root 2353368 сен 18 2013 HpqPswd.exe -rwxr-xr-x 1 root root 77824 фев 22 2012 Installer.exe -rw-r--r-- 1 root root 8388608 окт 9 2013 L71_0104.bin -rw-r--r-- 1 root root 1543 окт 24 2013 WSSP64081.rtf sp64081/BIOSUpdate: итого 2368 -rw-r--r-- 1 root root 259072 ноя 5 2012 CryptRSA32.efi -rw-r--r-- 1 root root 443904 ноя 5 2012 CryptRSA.efi -rw-r--r-- 1 root root 820784 июл 8 2013 HpBiosUpdate32.efi -rw-r--r-- 1 root root 256 июл 8 2013 HpBiosUpdate32.s09 -rw-r--r-- 1 root root 256 июл 8 2013 HpBiosUpdate32.s12 -rw-r--r-- 1 root root 256 июл 8 2013 HpBiosUpdate32.sig -rw-r--r-- 1 root root 16384 июл 9 2013 HpBiosUpdate.dll -rw-r--r-- 1 root root 850512 июл 8 2013 HpBiosUpdate.efi -rw-r--r-- 1 root root 256 июл 8 2013 HpBiosUpdate.s09 -rw-r--r-- 1 root root 256 июл 8 2013 HpBiosUpdate.s12 -rw-r--r-- 1 root root 256 июл 8 2013 HpBiosUpdate.sig

Из этого списка нам понадобятся только 3 файла: L71_0137.bin , HpBiosUpdate.efi и HpBiosUpdate.s12 и теперь внимание: скопировать файлы нужно точно в указанные места.

(4:534)$ ls -lR /boot/efi/EFI/HP/ /boot/efi/EFI/HP/: итого 8 drwxr-xr-x 3 root root 4096 сен 22 2015 BIOS drwxr-xr-x 2 root root 4096 июл 21 22:23 BIOSUpdate /boot/efi/EFI/HP/BIOS: итого 4 drwxr-xr-x 2 root root 4096 июл 21 22:05 New /boot/efi/EFI/HP/BIOS/New: итого 8192 -rwxr-xr-x 1 root root 8388608 май 23 13:57 L71_0137.bin /boot/efi/EFI/HP/BIOSUpdate: итого 840 -rwxr-xr-x 1 root root 850512 июл 8 2013 HpBiosUpdate.efi -rwxr-xr-x 1 root root 3916 июл 21 22:23 HpBiosUpdate.log -rwxr-xr-x 1 root root 256 июл 8 2013 HpBiosUpdate.s12 1291/7720MB

Чтобы попасть в меню настройки UEFI/BIOS надо после включения нажать клавишу Esc или F10 а далее File → Update System BIOS .

Читайте также:  Ctrl d linux сигнал

После выбора Accept , процесс обновления стартует без прочих реверансов. Видимо зная цену своим аккумуляторам, производители обновляют прошивку только при включенном электрическом питании компьютера. 2-3 минуты, и процесс благополучно завершен.

UPDATE: По итогам здравых идей в комментариях необходимы некоторые дополнения.

  • Можно скопировать те же самые 3 файла на USB флешку, в прописанных путях и используя её обновить прошивку. Разметка файловой системы должна быть FAT32 ESP.
  • Можно обновиться из File → Update System BIOS напрямую по интернету, если подключен сетевой кабель. Обновление не будет работать через WiFi соединение.
  • Вместо WINE для распаковки архива достаточно использовать 7z e sp64081.exe .

Источник

Оцените статью
Adblock
detector