SoHo - CD for server flash upgrade

Процедура

$ unzip boot98se.exe
Archive:  boot98se.exe
warning [boot98se.exe]:  105508 extra bytes at beginning or within zipfile
  (attempting to process anyway)
file #1:  bad zipfile offset (local header sig):  211016
  (attempting to re-compensate)
  inflating: boot98se.IMA
  • Получаем свой образ:
$ mv boot98se.IMA boot98se.img
  • Вставляем загрузочную USB-флэшку в USB-порт компьютера
  • Конфигурируем виртуальную машину:
    • направляем floppy на образ загрузочной дискеты
    • направляем USB на вставленную флэшку
  • Загружаем виртуальную машину Windows XP
  • Устанавливаем и запускаем HP USB Format Tool'
  • Выбираем файловую систему FAT и установку загрузчика с использованием A:. (Нельзя выбирать FAT32: иначе parted откажется уменьшить размер партиции до 32Mb)
  • На флэшку будет установлен MBR и одна активная партиция.
  • Отключаем флэшку от Windows.
  • Находим устройство флэшки в Linux. Предположим, это /dev/sdd.
  • Уменьшаем партицию /dev/sdd1 до 32MB:
$ parted /dev/sdd
GNU Parted 1.8.6
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resize 1
Start?  [32.3kB]?
End?  [128MB]? 33MB
(parted) quit                                                            
Information: Don't forget to update /etc/fstab, if necessary.
  • Монтируем флэшку и переписываем на нее нужные файлы:
$ cd /tmp
$ mkdir fw
$ mkdir disk
$ mkdir flash
$ ... unzip firmware_files.zip --> fw/ ...
$ mount -o loop -t vfat boot98se.img disk
$ mount /dev/sdd1 flash
$ ... copy files ...
$ umount flash
$ umount disk
  • Сбрасываем полный образ флэшки (включая partition table и MBR) в файл:
$ dd if=/dev/sdd of=flash_sdd.img bs=1m count=34
  • Создаем образ загрузочного CD:
$ genisoimage -r -b flash_sdd.img -hard-disk-boot -c boot.cat -o boot_iso.iso flash_sdd.img
  • Тестируем загрузочный CD в ВМ и прошиваем образ.

Ссылки

 

Attachments

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
To prevent automated spam submissions leave this field empty.