The OpenNET Project / Index page

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

Перепрошивка BIOS в Linux
Устанавливаем программу для перепрошивки. Загружаем с
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
 
13.02.2009 , Автор: stylliaga , Источник: http://kubuntu.ru/node/3257...
Ключи: linux, bios, flash
Раздел:    Корень / Администратору / Система / Поддержка аппаратного обеспечения

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним_One1 (?), 21:02, 13/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    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

     
  • 1.2, User294 (ok), 15:56, 14/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > WARNING: No chipset found.
    > Flash detection will most likely fail.

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

     
  • 1.3, Filosof (?), 00:59, 15/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а насколько часто обновляются эти утилиты?
    Как вижу по первому коменту - не за всеми мамками успевают...
    Шо таки всё же надёжней из под ДОСа с дискитки? -:(
     
     
  • 2.4, const86 (ok), 21:26, 15/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Мамки уже научились даже без доса апгрейдиться. Так что и под линукс эта фича не шибко нужна. А для старых всё равно уже никто обновления выпускать не будет ;)
     
     
  • 3.5, Vertigo (??), 14:09, 16/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Угу... Только даже относительно новые не всегда могут прошивку с usb-флопа, или флэхи взять. А обычных флопов уже и не сыщешь нигде.
     
  • 2.9, User294 (??), 18:58, 17/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Шо таки всё же надёжней из под ДОСа с дискитки? -:(

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

     
     
  • 3.10, none (??), 03:24, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    эх, если бы только форсированием одним..
     

  • 1.8, pavlinux (ok), 18:07, 17/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > 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


    Тупичок! :)

     
  • 1.11, bsd2008 (?), 14:48, 06/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А файлы .bio(интеловские прошивки) ктонибудь пробовал заливать? у меня выдается ошибка

    Error: Image size doesn't match

     
  • 1.12, seppius (?), 19:15, 21/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    # ./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

     
  • 1.13, Денис (??), 11:15, 28/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В статье не освещен случай, если flashrom просит указать --programmer...
     
  • 1.14, Димас (??), 19:32, 29/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В статье не освещен случай, если flashrom просит указать --programmer... Это верно. Полдня голову ломал. В итоге наткнулся на другом сайте на коментарий и с одной команды "sudo flashrom --programmer internal -w '/home/fobos/Загрузки/Giga/9gcms2l.f7'" (путь хранения версии биос материнки /home/fobos/Загрузки/Giga/9gcms2l.f7') перепрошил биос материнки Gigabyte 945gcm-s2l
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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