The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Перепрошивка BIOS в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Перепрошивка BIOS в Linux"  +/
Сообщение от auto_tips (?), 13-Фев-09, 21:02 
Устанавливаем программу для перепрошивки. Загружаем с http://openbios.info/FlashRom) или ставим из Debian-based репозитория:

   apt-get install flashrom

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

   flashrom -r MyBIOS.bin

Где MyBIOS.bin - это имя файла, в который сохранится старая версия прошивки.
После сохранения, можно уже на свой страх и риск записывать скачанную прошивку в БИОС:

   sudo flashrom -w NewBIOS.bin

Где NewBIOS.bin - это имя скачанной прошивки. Также, можно добавить ключ -v чтобы программа проверила
записанную прошивку и еще можно добавить ключ -V чтобы вывод работы был более информативным:

   sudo flashrom -Vvw NewBIOS.bin


На примере была испытана материнская плата GIGABYTE GA-965P-DQ6 rev2.0 с Ubuntu 8.04 GNU/Linux на борту
FlashRom при первом запуске без ключей показал вот такую информацию:

   krik@krik-desktop:~/temp$ sudo flashrom
   [sudo] password for krik:
   Calibrating delay loop... OK.
   No coreboot table found.
   Found chipset "Intel ICH8/ICH8R", enabling flash write... OK.
   Found chip "Macronix MX25L8005" (1024 KB) at physical address  0xfff00000.
   Found chip "Macronix unknown Macronix SPI chip" (0 KB) at physical address 0x0.
   Multiple flash chips were detected: MX25L8005 unknown Macronix SPI chip
   Please specify which chip to use with the -c option."

На материнской плате установлено два чипа BIOS. Один главный, второй - запасной
(в случае повреждения первого, прошивка восстанавливается со второго).
Флэшер нашел оба этих чипа и предложил выбрать, который использовать. Чтобы выбрать чипсет -
надо использовать ключ -c. Для этой материнской платы, чтобы прочитать уже стоящею прошивку БИОСа в файл,
пришлось запустить ее с такими параметрами:

   sudo flashrom -r MyBIOS.bin -c MX25L8005

Где MyBIOS.bin - это файл, куда сохранялась прошивка, а MX25L8005 - выбранный чипсет.
После того, как прошивка была забекапена, можно уже приступать непосредственно к записи новой прошивки.
Перед записью прошивки в БИОС можно проверить, ту ли прошивку вы скачали - достаточно сравнить
размер MyBIOS.bin и 965PDQ6.12K или открыть оба файла в hex-редакторе и сравнить начало и конец. Если все в порядке, приступаем:

   sudo flashrom -Vvw -c MX25L8005 965PDQ6.12K

Где файл 965PDQ6.12K - и есть сама прошивка с официального сайта (на сайте расположены exe-файлы,
но это всего-лишь SFX-RAR архив с самой прошивкой и программой-флэшером для ДОСа).
Теперь можно перезагрузиться с новым биосом.


Настройки NVRAM (CMOS)

В линуксе не только можно прошивать БИОС, но и также сохранять или записывать его текущие настройки,
причем штатными средствами. Нужно всего-лишь подгрузить модуль nvram и считать информацию с устройства /dev/nvram:

   modprobe nvram
   sudo dd if=/dev/nvram of=my_bios_cfg.bin

Где my_bios_cfg.bin - это двоичный файл, куда сохранятся текущие настройки BIOS.
Записать настройки обратно можно тем-же путем, только поменяв if на of и of на if:

   sudo dd of=/dev/nvram if=my_bios_cfg.bin


URL: http://kubuntu.ru/node/3257
Обсуждается: http://www.opennet.dev/tips/info/1945.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. "Перепрошивка BIOS в Linux"  +/
Сообщение от Аноним_One1email (?), 13-Фев-09, 21:02 
MB ASUS M3A78

# flashrom
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.

для openSUSE все это хозяйство в пакете Coreboot_utils

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Перепрошивка BIOS в Linux"  +/
Сообщение от User294 (ok), 14-Фев-09, 15:56 
> WARNING: No chipset found.
> Flash detection will most likely fail.

Ваша фамилия - Мухин.В смысле, вы пролетаете.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Перепрошивка BIOS в Linux"  +/
Сообщение от Filosofemail (?), 15-Фев-09, 00:59 
а насколько часто обновляются эти утилиты?
Как вижу по первому коменту - не за всеми мамками успевают...
Шо таки всё же надёжней из под ДОСа с дискитки? -:(
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Перепрошивка BIOS в Linux"  +/
Сообщение от const86 (ok), 15-Фев-09, 21:26 
Мамки уже научились даже без доса апгрейдиться. Так что и под линукс эта фича не шибко нужна. А для старых всё равно уже никто обновления выпускать не будет ;)
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Перепрошивка BIOS в Linux"  +/
Сообщение от Vertigo (??), 16-Фев-09, 14:09 
Угу... Только даже относительно новые не всегда могут прошивку с usb-флопа, или флэхи взять. А обычных флопов уже и не сыщешь нигде.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Перепрошивка BIOS в Linux"  +/
Сообщение от pavlinuxemail (ok), 17-Фев-09, 18:07 
> sudo dd if=/dev/nvram of=my_bios_cfg.bin
>...
>Записать настройки обратно можно тем-же путем, только поменяв if на of и of на if:

Меняю if на of
sudo dd of=/dev/nvram if=my_bios_cfg.bin
и оf на if
sudo dd if=/dev/nvram of=my_bios_cfg.bin


Тупичок! :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Перепрошивка BIOS в Linux"  +/
Сообщение от User294 (??), 17-Фев-09, 18:58 
>Шо таки всё же надёжней из под ДОСа с дискитки? -:(

Если чипсет и флеха опознались - не вижу проблем.А если не опознались то вы хрен чего туда этой утилией запишете при обычном юзеже (стоит напомнить что шаловливые ручки в таких вопросах - с форсированием чего попало без знания дела бывают чреваты).

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Перепрошивка BIOS в Linux"  +/
Сообщение от none (??), 21-Фев-09, 03:24 
эх, если бы только форсированием одним..
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Перепрошивка BIOS в Linux"  +/
Сообщение от bsd2008email (?), 06-Май-09, 14:48 
А файлы .bio(интеловские прошивки) ктонибудь пробовал заливать? у меня выдается ошибка

Error: Image size doesn't match

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Перепрошивка BIOS в Linux"  +/
Сообщение от seppiusemail (?), 21-Июн-09, 19:15 
# ./flashrom
flashrom v0.9.0-r615
No coreboot table found.
Found chipset "Intel ICH10R", enabling flash write... OK.
Calibrating delay loop... OK.
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.

Однако висит в supported http://www.coreboot.org/Flashrom

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Перепрошивка BIOS в Linux"  +/
Сообщение от Денисemail (??), 28-Дек-12, 11:15 
В статье не освещен случай, если flashrom просит указать --programmer...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Перепрошивка BIOS в Linux"  +/
Сообщение от Димасemail (??), 29-Дек-19, 19:32 
В статье не освещен случай, если flashrom просит указать --programmer... Это верно. Полдня голову ломал. В итоге наткнулся на другом сайте на коментарий и с одной команды "sudo flashrom --programmer internal -w '/home/fobos/Загрузки/Giga/9gcms2l.f7'" (путь хранения версии биос материнки /home/fobos/Загрузки/Giga/9gcms2l.f7') перепрошил биос материнки Gigabyte 945gcm-s2l
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру