- Обновление BIOS из под Ubuntu 10.10. Весь процесс от начала и до конца.
- Обновление BIOS/UEFI Lenovo Thinkpad в Linux
- Обновить BIOS в Lenovo Thinkpad
- Скачать правильную прошивку
- Перепаковка загрузочного образа
- Загрузка образа на “флэшку”
- Загрузка с “флэшки”
- Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Re: Прошивка BIOS из Linux’а
- Обновление UEFI/BIOS в Linux
- FAT32 ESP
- Подготовка
Обновление BIOS из под Ubuntu 10.10. Весь процесс от начала и до конца.
BIOS (базовая система ввода/вывода), позволяющая операционным системам и оборудованию корректно взаимодействовать друг с другом, присутствует в каждом современном компьютере и располагается в чипе на материнской плате.
Чтобы узнать версию BIOS , выполните в Ubuntu следующую команду:
$ sudo dmidecode -s bios-version
FA
Чтобы посмотреть дату релиза BIOS вашего компьютера , выполните команду:
$ sudo dmidecode -s bios-release-date
04/09/2009
Узнаем марку нашей материнской платы :
$ sudo dmidecode —type baseboard
SMBIOS 2.4 present.
Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: GA-MA770-UD3
Как видим в моем случаем материнская плата фирмы Gigabyte. Заходим на официальный сайт и смотрим есть ли обновления для моего биоса. Оказывается я давненько не следил за обновлениями: у меня самый первый релиз.
Для обновления версии Биоса из под Операционной системы Ubuntu понадобится следующая утилита: — flashrom.
$ sudo aptitude search flashrom
p flashrom — Identify, read, write, erase, and verify BIOS/ROM/flash chips
$ sudo aptitude install flashrom
Перед записью новой прошивки в БИОС, желательно сохранить старую версию , то есть скопировать прошивку, которая уже прошита в БИОСе, чтобы потом можно было легко восстановить все обратно:
/bios$ sudo flashrom -r bios_fa_09_04_2009.bin
Смотрим информация по нашему файлу:
/bios$ file bios_fa_09_04_2009.bin
Скачав последнюю версию Биоса обнаруживаем, что программа предназначена под операционную систему Windows, исправив это воспользуемся пакетом эмуляции wine, он поможет распаковать исполняемый файл.
Где файл MA77UD32.FKd — и есть сама прошивка с официального сайта (на сайте расположены exe-файлы, но это всего лишь SFX-RAR архив с самой прошивкой и программой-флэшером для ДОСа).
Записываем скачанную прошивку в Биос на свой собственный риск:
/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.
No coreboot table found.
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.
Thanks for your help!
Flash image seems to be a legacy BIOS. Disabling checks.
Writing flash chip… Erasing flash before programming… Erasing flash chip… SUCCESS.
Programming flash done.
Verifying flash… VERIFIED.
Теперь можно перезагрузиться с новым биосом .
Хм, после перезагрузки отказала мышка (USB), клавиатура (USB), выходом пока почему, так получилось буду разбираться, а пока поставил работать мышь и клавиатуру через переходники PS/2 на usb.
В ходе анализ экрана самотестирования устройств при загрузки и логов системы, причиной не работающих устройств подключенных к USB оказалось, что в БИОСЕ была отключена поддержка.
Включаем поддержку через BIOS:
Перезагружаем компьютер, F2 — Integrated Peripherals — USB Controllers было DISABLED. Включаю :
USB Controllers — Enable
USB Legacy Function — Enable
USB Storage Funtion — Enable
Смотрим версию биоса и дату после обновления:
/bios$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
Таким вот образом можно пере прошивать БИОС из под нашей системы Ubuntu. На этом всё. А пока обновлю на предыдущий релиз.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Источник
Обновление BIOS/UEFI Lenovo Thinkpad в Linux
15.12.2020
Уже несколько лет являюсь пользователем Lenovo Thinkpad и внезапно узнал, что можно обновлять BIOS 😉
Обычно эту микропрограмму производители обновляют довольно нерегулярно или совсем не делают этого. Каких-то финтифлюшек не приносят и багов особо в них не находят. Поэтому особо и не следил за этой темой.
Если кратко, то весь процесс можно описать в несколько шагов:
Обновить BIOS в Lenovo Thinkpad
- Скачать правильную прошивку к твоей модели устройства в виде ISO
- Перепаковать загрузочный образ
- Загрузить полученный образ диска на USB-диск
- Загрузиться с “флэшки”
- Дождаться обновления (обычно занимает не более 5-10 минут)
Скачать правильную прошивку
На мой взгляд это самый важный шаг из всех последующих, так как при обновлении такого ответственной части устройства потенциально может привести к окирпичиванию.
Самый правильный путь это перейти на официальный сайт support.lenovo.com и найти в поиске раздел по поддержке нужного устройства и из подраздела
Драйверы и Программное обеспечение -> BIOS скачать последний выпуск образа с названием “ BIOS Update (Bootable CD) “.
Перепаковка загрузочного образа
Не помню, когда последний раз пользовался CD на компьютере и тем более создавал загрузочный диск. Очень выручают в этом деле “флэшки” 😉
Для перепаковки ISO в IMG-формат загрузочного диска можно воспользоваться перловым скриптом geteltorio. В зависимостях у него есть инструмент genisoimage. В Ubuntu он установлен по умолчанию, а в других популярных дистрибутивах доступен в официальных репозиториях.А вот скрипт придётся скачать:
После того, как загрузочный образ и скрипт загружены, а genisoimage установлен, для перепаковки требуется выполнить всего одну команду:
Загрузка образа на “флэшку”
Загрузка выполняется с помощью команды dd, а USB-диск можно увидеть командой blkid.
Загрузка с “флэшки”
Оставьте флэшку в ноутбуке и перезагрузитесь. С помощью F12 или Enter вызовите промежуточное меню временного приоритета загрузки и укажите приоритет загрузки с USB-накопителя. И…дождитесь завершения обновления BIOS/UIFI.
Обычно, никаких действий, кроме подтверждения всех предупреждений: что это потенциально опасная процедура, что батарея ноутбука заряжена и тому подобное.
Источник
Прошивка BIOS из Linux’а
Раньше для обновленяи прошивки BIOS необходимо было перезагружаться в Windows или в DOS, теперь же возможно обновлять биос прямо из Linux при помощи утилиты flashrom.
Это универсальная утилита для определения типа, чтения, стирания и записи чипов BIOS (по параллельной, LPC, FWH и SPI технологиям) в различных исполнениях (DIP, PLCC, SOIC). Она может использовать как для прошивки BIOS традиционными проприетарными прошивками так и открытой coreboot, или же для простого резервного копирования существующей микропрограммы BIOS.
Утилита поддерживает множество различных чипов и, если нужного вам среди них не оказалось, то его можно легко добавить.
Re: Прошивка BIOS из Linux’а
>2. И после таких статей вы хотите, чтобы я использовал flashrom?
Да не так все страшно, просто у дяденьки мозгу в черепе тесно и простых путей он не ищет давно, видимо. Вот казалось бы, что проще? Выпаял микросхему, залил образ на программаторе (предварительно СТЕРЕВ содержимое микросхемы! ), воткнул ее обратно. Но нет, мы простых путей не ищем, пришлось покупать новую мамку, городить гирлянды из реле, хреначить блок питания и только после этого мать работает. Это называется гланды через жопу автогеном.
Re: Прошивка BIOS из Linux’а
> Слушай, завязывай со своими стремными ассоциациями. а то хрен сломать, отломается.
Re: Прошивка BIOS из Linux’а
>у меня на материнке nForce 520 оно выдает
>Calibrating delay loop. OK.
>No coreboot table found.
>WARNING: No chipset found. Flash detection will most likely fail.
>No EEPROM/flash device found.
>If you know which flash chip you have, and if this version of flashrom
>supports a similar flash chip, you can try to force read your chip. Run:
>flashrom -f -r -c similar_supported_flash_chip filename
>Note: flashrom can never write when the flash chip isn’t found automatically.
>HighwayStar ** (*) (23.01.2009 11:13:35)
я у себя потестил
# ./flashrom
Calibrating delay loop. OK.
No coreboot table found.
Found chipset «Intel ICH2», enabling flash write. tried to set 0x4e to 0x3 on Intel ICH2 failed (WARNING ONLY)
FAILED!
No EEPROM/flash device found.
If you know which flash chip you have, and if this version of flashrom
supports a similar flash chip, you can try to force read your chip.
Run:
flashrom -f -r -c similar_supported_flash_chip filename
ну и там потом глянул что на материнке было. нашёлся какойто N82802AB8
и сделал ./flashrom -L
отыскался мой интель 82802AB
а дальше сделал
flashrom -f -r -c 82802AB biosbackup.bin
ну и всё, считалось кажется:
# ./flashrom -f -r -c 82802AB biosbackup3.bin
Calibrating delay loop. OK.
No coreboot table found.
Found chipset «Intel ICH2», enabling flash write. tried to set 0x4e to 0x3 on Intel ICH2 failed (WARNING ONLY)
FAILED!
No EEPROM/flash device found.
Force read (-f -r -c) requested, forcing chip probe success:
Found chip «Intel 82802AB» (512 KB) at physical address 0xfff80000.
Force reading flash. done.
Re: Прошивка BIOS из Linux’а
> а теперь у мам есть встроенные возможности для прошивки бивоса.
ага, только попробуй прошиться через эти «встроенные возможности» без дискеты, а например с usb-stick.
Re: Прошивка BIOS из Linux’а
мой случай кстати. флоппи нету совсем
только usb, card-reader вместо флоппи стоит
хотя мне кажется могли бы и через биос флешку посматривать.. флоппи же просматривают
Re: Прошивка BIOS из Linux’а
> хотя мне кажется могли бы и через биос флешку посматривать.. флоппи же просматривают
Для этого придется поддержать работу с USB, а это намного-намного сложнее работы со стандартным контроллером флопповода. Экономят на программистах 🙂
Re: Прошивка BIOS из Linux’а
и нафиг? есть же FreeDOS+Uniflash!
Re: Прошивка BIOS из Linux’а
но грузиться то оно с USB же грузится ) хотя загрузиться и просмотреть ФС на устройстве несколько разные вещи .. не представляю насколько там сложнее получится )
флоппи вымирают, так что придется производителям думать, обидно что думают в сторону afuWIN
Re: Прошивка BIOS из Linux’а
> хотя мне кажется могли бы и через биос флешку посматривать.. флоппи же просматривают
у меня на обоих ноутах бивис умеет с флешки образ брать для перепрошивки. да о чем говорить, это даже еееПЦ 701 умеет.
Re: Прошивка BIOS из Linux’а
А что вот с этим делать?
—flashrom -r biosbackup.bin Calibrating delay loop. OK. No coreboot table found. Found chipset «Intel ICH4/ICH4-L», enabling flash write. OK. Found chip «Winbond W49V002FA» (256 KB) at physical address 0xfffc0000. === This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE Please email a report to flashrom@coreboot.org if any of the above operations work correctly for you with this flash part. Please include the full output from the program, including chipset found. Thank you for your help! === Reading flash. done.—
Re: Прошивка BIOS из Linux’а
Кхе-кхе. у них, даже, http://www.coreboot.org/ASUS_P2B-F ещё не полностью работоспособен. для современных чипов интел, видимо, придётся ждать ещё лет 5.
Re: Прошивка BIOS из Linux’а
Не не не, сами экспериментами занимайтесь — я по старинке через DOS/Win.
Запоротая кривыми руками программистов мать — это страшно.
Re: Прошивка BIOS из Linux’а
Прошиваюсь регулярно с FDD, всем доволен, ЧЯНТД?
Источник
Обновление UEFI/BIOS в Linux
Не секрет, что производители материнских плат и ноутбуков не всегда дают возможность пользователям Linux обновить UEFI/BIOS прошивку так же ненавязчиво, как это делают пользователи Windows. Тем не менее для HP EliteBook 840G1, которым я пользуюсь, сделать это немногим сложнее.
Для этого дела понадобятся следующие артефакты:
- FAT32 EFI System Partition (ESP)
- WINE
- Переменный электрический ток
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.
Мы уже знаем, что UEFI/BIOS будет искать \EFI\BOOT\bootx64.efi , для чего абсолютный путь к файлу должен быть /boot/efi/EFI/Boot/Bootx64.efi , иначе все пропало и UEFI/BIOS не найдет загрузчик ОС! Обновлению системной прошивки это не помешает, но для чего же тогда нужна прошивка, если нельзя загрузить операционную систему? Очень немаловажно, что по-умолчанию GRUB-2 не копирует необходимый файл и поэтому bootx64.efi надо скопировать вручную.
Подготовка
Берем свежую прошивку с сайта HP, выбираем Linux в выпадающем списке ОС, затем BIOS, скачиваем… и обнаруживаем исполняемый файл для Windows — sp64081.exe . Нет, глаза нас не подвели.
Опытные пользователи бывают готовы к подобным сюрпризам, для чего держат Windows VM либо пользуются не-эмулятором WINE или и то и другое вместе, бо случаи бывают разные. Для распаковки файла возможностей WINE вполне достаточно. Запускаем:
Программа завершает работу с бестактной ошибкой, напоминая лишний раз о том, что нам подсунули не то, что мы ожидали.
Однако, это не должно никого волновать, так как файлы распакованы верно а сверх этого ничего и не требовалось.
Из этого списка нам понадобятся только 3 файла: L71_0137.bin , HpBiosUpdate.efi и HpBiosUpdate.s12 и теперь внимание: скопировать файлы нужно точно в указанные места.
Чтобы попасть в меню настройки UEFI/BIOS надо после включения нажать клавишу Esc или F10 а далее File → Update System BIOS .
После выбора Accept , процесс обновления стартует без прочих реверансов. Видимо зная цену своим аккумуляторам, производители обновляют прошивку только при включенном электрическом питании компьютера. 2-3 минуты, и процесс благополучно завершен.
UPDATE: По итогам здравых идей в комментариях необходимы некоторые дополнения.
- Можно скопировать те же самые 3 файла на USB флешку, в прописанных путях и используя её обновить прошивку. Разметка файловой системы должна быть FAT32 ESP.
- Можно обновиться из File → Update System BIOS напрямую по интернету, если подключен сетевой кабель. Обновление не будет работать через WiFi соединение.
- Вместо WINE для распаковки архива достаточно использовать 7z e sp64081.exe .
Источник