Мне было интересно, можно ли создать загрузочный образ PXE из прошивки утилиты dos. Для некоторых особенностей программа обновления прошивки обычно устанавливается на флешка. У меня есть все плоские файлы. Должен ли я быть в порядке, просто сбросив плоские файлы на мой сервер tftpboot, а затем просто добавив нужные биты для pxemenu, или этот процесс немного сложнее?
Я нашел FreeDOS, но они не предоставляют изображение большего размера, чем 1,44 МБ, что является проблемой, потому что размер одной прошивки составляет 5 МБ. Я попытался создать изображение большего размера используя эти шаги но безуспешно, поскольку каждый раз, когда я загружаюсь в образ, он не отображает обычное меню FreeDOS (он только распечатывает FreeDOS и не дает командной строки).
РЕДАКТИРОВАТЬ: мне удалось запустить ром с образа FreeDOS из Вот но, конечно, при запуске ПЗУ он говорит, что ПЗУ поврежден, потому что на самом деле там нет всего ПЗУ, а есть только частично из-за того, что на изображении есть только 1,44 МБ пространства. Чтобы еще больше усложнить ситуацию, ПЗУ будет запускаться только при запущенных himem.exe и emm386.exe (они запускаются при выборе второго варианта в FreeDOS).
EDIT2: я наконец-то заставил USB-накопитель работать после добавления плоских файлов на карту и COMMAND.COM с пользовательского USB-накопителя freedos, который я нашел. По-прежнему копируя файлы на образ USB и пытаясь загрузиться с PXE, он отказывается загружаться.
Вы можете увидеть пошаговое руководство здесь: http://www.smop.co.uk/mediawiki/index.php/PXE_booting_floppy_images
Или попробуйте найти «загрузочный ISO через PXE», «загрузить DOS через PXE» и т. Д.
Следующее проверено и работает.
Все, что вам нужно, это Полная FreeDOS ISO, недавний Linux LiveCD, установленный Linux и Виртуальная машина.
Тогда вот что я сделал:
dd if=/dev/sda of=/tmp/freedos.img
(замените / dev / sda правильным именем устройства виртуального жесткого диска)/tmp/freedos.img
на реальный компьютер (SCP, SMB, FTP или что-то еще).syslinux
пакет. Это проще, чем компилировать собственные двоичные файлы или загружать откуда-то предварительно скомпилированные изображения. memdisk
двоичный файл в файловой системе. Мой был в /usr/lib/syslinux/memdisk
.memdisk
и freedos.img
на tftp-сервер вашей среды PXE и настройте его с помощью следующей записи конфигурации..
label freedos
menu label FreeDOS flash environment
kernel memdisk
append initrd=freedos.img harddisk
Загрузитесь через PXE и наслаждайтесь FreeDOS по сети.
В качестве упражнения для читателя попробуйте iPXE которая является прошивкой PXE с открытым исходным кодом. С его помощью вы можете пропустить всю ерунду tftp / PXE и вместо этого загрузиться через HTTP! В этом случае вы можете загрузиться из загрузчика iPXE и ввести следующие команды:
dhcp
imgfetch http://192.168.1.1/freedos.img
chain http://192.168.1.1/memdisk harddisk
dhcp
дает вам любой IP-адрес вашего DHCP-сервера только для связи с 192.168.1.1 или любым другим (внутренним) веб-сервером. Вместо этого вы также можете установить статический IP-адрес. Другие команды загружают и устанавливают загрузчик и образ диска по HTTP, а затем загружают образ. Впечатляет.
Ты можешь использовать мемдиск для создания образов загрузочных дисков (например, с дискеты или жесткого диска) или образов iso. Например, вот моя конфигурация PXE для загрузки DBAN.
label dban
menu label Wipe hard drive
kernel memdisk
append initrd=dban/dban.img floppy
Этого достаточно для работы с инструментами обновления некоторых производителей. Однако похоже, что обновление прошивки распространяется не в виде образа, а в виде нескольких файлов.
AUTOEXEC.BAT CONFIG.SYS HPQUSB.exe O37_0323.ROM AFU0323.BAT AFUDOS.exe ID.exe
Я бы попытался использовать утилиту HPQUSB.exe для подготовки USB-ключа, сделать образ USB-ключа, а затем загрузить этот образ с помощью memdisk.