Я много лет использовал Unix и GNU/Linux, и говорил об операторах командной строки вслух чертовски много, и я никогда не слышал, что любой говорит "минус". На самом деле мы даже обычно не говорим "тире". Если я буду говорить с кем-то, и контекст ясен, то я буду просто говорить буквы опции; использование Вашего примера
rm -rf /
был бы объявлен "прибытием ими наклонная черта эффективности прибытия". Конечно, это не что-то, что я обычно говорю кому-то, как сделать, таким образом, это было бы больше похоже
rm -rf *
объявленное "прибытие их звезда эффективности прибытия". Иногда я говорю что тире, как
sudo yum -y update
Я сказал бы "soo тире конфетки теста почему обновление".
Каждое устройство с обновляемым встроенным микропрограммным обеспечением, вероятно, будет иметь свои собственные методы для того, чтобы сделать это. Материнские платы в особенности являются известно несовместимыми в этом отношении.
Относительно жестких дисков, снова, это - собственный вопрос. Seagate обеспечивает liveCDs и загрузки Windows для выполнения микропрограммных обновлений, но не инструментов Linux или Unix.
Можно создать загружаемые образы для ThinkPad обновления BIOS, которые могут быть загружены от GRUB.
Иначе Вы просто оказываетесь перед необходимостью согласовывать с производителем для инструментов.
С другой стороны, если Вы работаете с микроконтроллерами, можно часто программировать их с довольно универсальными инструментами, хотя все еще на ограниченной основе (например, микросхемы Atmel могут обычно программироваться с avrdude
).
Мой маленький опыт состоит в том, что я использовал Flashrom для обновления моего Intel Motherboard BIOS, и он хорошо работал. В целом это походит на действительно хороший инструмент.
Используя DOS обновляют дискету, загруженную с GRUB, как упомянуто перед работами для большинства аппаратных средств. В некоторых случаях можно найти собственные инструменты. Dell даже готовит репозитории, который интегрирует с дистрибутивом упаковочную систему:
http://linux.dell.com/wiki/index.php/Repository/firmware
К сожалению, большинство обновлений требует, чтобы перезагрузка машины завершилась.
grub-pc
установленный на Ubuntu)syslinux-common
и Ваш memdisk будет находиться в /usr/lib/syslinux/memdisk
sudo -s
mkdir -p /mnt/floppy
mount -o loop -t msdos fdboot.img /mnt/floppy
cp -via FLASH.EXE BIOS.IMG /mnt/floppy/
(FLASH.EXE
и BIOS.IMG
примеры),umount /mnt/floppy
linux16 (hd
. Теперь нажмите вкладку. Список жестких дисков покажут.linux16 (hd0,
, например./usr/lib/syslinux
смонтирован на в Вашей установке Linux.linux16 (hd0,msdos3)/usr/lib/syslinux/memdisk
. Нажмите Enter.fdboot.img
, но с командой initrd16
вместо linux16
. Вы закончите со строкой как это: initrd16 (hd0,msdos3)/home/janus/fdboot.img
. Нажмите Enter.boot
и нажмите Enter.FLASH.EXE
. Нажмите Enter.Если существует недостаточно пространства на изображении, используйте наименьшее изображение от chtaube.eu. Распакуйте изображение и отфильтруйте его хотя xxd
. Теперь поиск 55aa. Это должно быть в 0x1fe
. Можно смонтировать изображение с offset=$((0x200))
как дополнительный флаг монтирования. Остерегайтесь этого $(())
синтаксис является определенным для Bash, но будет также работать в Zsh.
С другой стороны, см. https://www.fladi.at/posts/large-freedos-boot-image/
msdos
предварительно ожидаемый? Я попытаюсь ответить на Ваш вопрос, если Вы отправите его.Дайте мне знать.
– Janus Troelsen
06.02.2013, 01:29
для видео Seagate 3 ТБ (ST3000VX000-9YW1):
sg_write_buffer -v -m 5 -I <FW file> <dev>
Попытка:
hdparm --fwdownload
(И БЫТЬ ОЧЕНЬ ОСТОРОЖНЫМ!)
Однако будьте осторожны!
Я успешно прошил диск Seagate Barracuda 7200.12 ST31000528AS (1 ТБ SATA) следующим методом: (Используйте на свой страх и риск! )
PH-CC49.ima
from .iso filedd if=./PH-CC49.ima of=/dev/sdX bs=512k
Вот и все! Ни Windows, ни громоздких компакт-дисков, ни редактирования Grub, ни FreeDos, ни неиспользуемых Windows .exe (пробовал, но не получилось с непонятным сообщением об ошибке)
Кредит идет на источник: http://ubuntuaddicted.blogspot.ca/2014/10/seagate-firmware-flash-using-usb.html (нашла его, найдя PH-CC49.ima)
.. Вы можете использовать flashrom для обновления BIOS материнской платы.
Пример (Abit KN9 Ultra):
Плата представляет собой плату AMD Athlon 64, сокет AM2, набор микросхем Nvidia, выпущенную в 2006 году. Она имеет заменяемый флеш-чип емкостью 256 КБ. BIOS имеет маркировку «Award», которая, по всей видимости, является торговой маркой Phoenix.
Flashrom поддерживает этот набор микросхем и эту микросхему флэш-памяти.
Поддержка может быть протестирована с помощью такой команды:
# flashrom --programmer internal
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP55".
Enabling flash write... OK.
Enabling full flash access for board "abit KN9 Ultra"... OK.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) mapped at physical address 0x00000000fff80000.
Имеет смысл сначала сделать резервную копию текущего содержимого флеш-чипа:
# flashrom --programmer internal -c Pm49FL004 -r backup.bin
Затем его можно сравнить с файлом ванильного образа от поставщика (используя, например, xxd
и vimdiff
).
Ожидаются некоторые различия, потому что некоторые BIOS также хранят дополнительную информацию (например, DMI) и конфигурацию (например, MAC-адреса) во флэш-памяти. То же самое и с Abit KN9 Ultra. Данные DMI хранятся в первых 1872 байтах и легко повторно генерируются BIOS во время загрузки. MAC-адреса хранятся по смещению 0x74E30.
Файлы прошивки производителя упакованы в zip-архив, содержащий awdflash.exe
и файл BIN
, например M520A_23.BIN
. В этом примере bin-файл содержит образ BIOS как есть, т. Е. Он может быть записан непосредственно во флеш-чип с помощью команды вида:
# flashrom --programmer internal -c Pm49FL004 -w M520A_23.BIN
Calibrating delay loop... OK.
Found chipset "NVIDIA MCP55".
Enabling flash write... OK.
Enabling full flash access for board "abit KN9 Ultra"... OK.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) mapped at physical address 0x00000000fff80000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
В зависимости от обновления может потребоваться очистить CMOS для следующей перезагрузки - иначе BIOS может не запуститься. На этой плате CMOS можно очистить с помощью перемычки. Также возможна очистка с помощью программного обеспечения (например, через CmosPwd ).
Для сохранения уникальных MAC-адресов по умолчанию, новый образ производителя может быть исправлен перед прошивкой, например:
dd if=backup.bin of=mac.bin bs=1 count=16 skip=$(echo 16 i 74E30 p | dc)
dd if=mac.bin of=M520A_23_with_mac.bin bs=1 seek=$(echo 16 i 74E30 p | dc) \
conv=notrunc
Ловушки:
Для моего seagate ST2000NM0024-1HT174 я сделал так: загрузил микропрограмму с seagate и сохранил ее в USB-ключе. перезагрузил мой компьютер с живым usb (или dvd) linux mint mate 17.3. и разархивировал всю утилиту seagate прямо на рабочий стол. скопировал команду прошивки на рабочий стол, затем переименовал команду seaflashlin_33_054 в более простую форму seaflashlin После открытия терминала и написания:
mint@mint ~ $ sudo su (enter in Superuser live mint)
mint mint # cd Desktop
mint Desktop # ./seaflashlin
bash: ./seaflashlin: Permission denied
(Ошибка! Я действительно меняю файл разрешений )
mint Desktop # ls -l
total 69284
drwxr-xr-x 5 mint mint 120 Nov 3 11:14 EntCap-Makara-SATA-SN05
-rw-r--r-- 1 mint mint 68386705 Nov 2 19:36 EntCap-Makara-SATA-SN05.zip
-rw-r--r-- 1 mint mint 2032640 Sep 10 2015 MakaraEntCapSATA-STD-512E-SN05.LOD
-rw-r--r-- 1 mint mint 312 Dec 17 2015 MK-SN05.CFS
-rw-r--r-- 1 mint mint 369127 Sep 11 2015 READMEFIRST-EnterpriseCapacity3.5-Makara-SATA firmware update.pdf
-rw-r--r-- 1 mint mint 104280 Oct 26 2015 seaflashlin
-rw-r--r-- 1 mint mint 31848 Oct 26 2015 seaflashlin.046.txt
-rwxr-xr-x 1 mint mint 7874 Nov 3 11:13 ubiquity.desktop
mint Desktop # chmod ugo+rxw *
mint Desktop # ls -l
total 69284
drwxrwxrwx 5 mint mint 120 Nov 3 11:14 EntCap-Makara-SATA-SN05
-rwxrwxrwx 1 mint mint 68386705 Nov 2 19:36 EntCap-Makara-SATA-SN05.zip
-rwxrwxrwx 1 mint mint 2032640 Sep 10 2015 MakaraEntCapSATA-STD-512E-SN05.LOD
-rwxrwxrwx 1 mint mint 312 Dec 17 2015 MK-SN05.CFS
-rwxrwxrwx 1 mint mint 369127 Sep 11 2015 READMEFIRST-EnterpriseCapacity3.5-Makara-SATA firmware update.pdf
-rwxrwxrwx 1 mint mint 104280 Oct 26 2015 seaflashlin
-rwxrwxrwx 1 mint mint 31848 Oct 26 2015 seaflashlin.046.txt
-rwxrwxrwx 1 mint mint 7874 Nov 3 11:13 ubiquity.desktop
mint Desktop # ./seaflashlin
usage:
seaflashlin_i386 {-m <model_number> -f <fw_file> | -c <cfs_file>} [-d <sg_device>]
seaflashlin_i386 -f <fw_file> -d <sg_device>
Options:
-i PRINT IDENT INFO
-v PRINT VERSION AND EXIT (overrides all other arguments)
-l SHOW LICENSE
-o TIMEOUT VALUE (seconds)
-x TEST CFS FILE
Modes supported:
-e DEFERRED SIZE (ATA ONLY)
-s SEGMENT SIZE (1 segment = 512 bytes)
-p FORCE ATA PASSTHROUGH
-w FORCE WRITE BUFFER CMD
-u NON-SEGMENTED
e.g:
seaflashlin_i386 -s 64 -f test.lod -d /dev/sg0
returns:
0 No error found
1 Fatal error in command line options
2 FW Download Failed
3 Invalid device
mint Desktop # ./seaflashlin -i
================================================================================
Seagate Firmware Download Utility v0.4.6 Build Date: Oct 26 2015
Copyright (c) 2014 Seagate Technology LLC, All Rights Reserved
Thu Nov 3 11:20:52 2016
================================================================================
ATA /dev/sg0 MN: ST2000NM0024-1HT174 SN: Z4H010XY FW: SN02
PIONEER /dev/sg1 MN: DVD-RW DVR-221 SN: FW: 1.00
PIONEER /dev/sg2 MN: DVD-RW DVR-221 SN: FW: 1.00
SanDisk /dev/sg3 MN: Cruzer Micro SN: FW: 8.02
(это подтверждает, что моя прошивка имеет версию SN02, а HD находится в / dev / sg0)
Теперь я могу прошить BIOS с помощью: (xxx.LOD = прошивка жесткого диска)
mint Desktop # ./seaflashlin -f MakaraEntCapSATA-STD-512E-SN05.LOD -d /dev/sg0
================================================================================
Seagate Firmware Download Utility v0.4.6 Build Date: Oct 26 2015
Copyright (c) 2014 Seagate Technology LLC, All Rights Reserved
Thu Nov 3 11:26:21 2016
================================================================================
Flashing microcode file MakaraEntCapSATA-STD-512E-SN05.LOD to /dev/sg0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : !
Microcode Download to /dev/sg0 SUCCESSFUL
mint Desktop # ./seaflashlin -i
================================================================================
Seagate Firmware Download Utility v0.4.6 Build Date: Oct 26 2015
Copyright (c) 2014 Seagate Technology LLC, All Rights Reserved
Thu Nov 3 11:26:45 2016
================================================================================
ATA /dev/sg0 MN: ST2000NM0024-1HT174 SN: Z4H010XY FW: SN05
PIONEER /dev/sg1 MN: DVD-RW DVR-221 SN: FW: 1.00
PIONEER /dev/sg2 MN: DVD-RW DVR-221 SN: FW: 1.00
SanDisk /dev/sg3 MN: Cruzer Micro SN: FW: 8.02
, подтверждающих, что BIOS заменяется с SN02 на SN05
Очень опасно, используйте это на свой страх и риск!
Удачи!
Хотя это не было доступно, когда был задан этот вопрос, теперь можно обновить прошивку через проект fwupd
, когда эта прошивка предоставляется в виде «капсульного» файла, который, по-видимому, является стандартом, используемым при выполнении обновлений, опосредованных EFI (при следующей перезагрузке)
Процесс сводится к поиску устройства, которое вы собираетесь обновить, в списке, отображаемом на:
sudo fwupdate -l
Затем указание сохранить файл CAP в нужном месте для установки при следующей загрузке через:
sudo fwupdate -a {<my-device-uuid-here>}./<my-capfile_name>.cap
Хотя в этом ответе нет возможности вдаваться во все подробности, дополнительную информацию можно найти по адресу: