我想知道是否可以从dos实用程序固件中创build一个PXE可启动镜像。 对于某些细节,固件更新程序通常安装在USB记忆棒上 。 我有所有的平面文件。 我应该罚款只是倾销我的tftpboot服务器上的平面文件,然后只是在pxemenujoin适当的位或更多的过程是多less?
我发现FreeDOS,但他们不提供比1.44MB更大的图像,这是一个问题,因为单独的固件ROM是5MB的大小。 我试图用这些步骤创build一个更大的图像,但没有任何成功,因为每次我启动到图像,它不显示通常的FreeDOS菜单(它只打印出FreeDOS,并没有提供命令提示符)。
编辑:我能够从这里运行的FreeDOS图像rom运行,但当然,当运行rom它说,rom已损坏,因为整个rom实际上并没有在那里,只有部分由于只有1.44图像上的MB空间。 为了进一步复杂化,只有在himem.exe和emm386.exe运行时才会运行ROM(它们是通过在FreeDOS上select第二个选项来启动的)。
编辑2:我终于得到的USB棒添加到平板文件的棒和COMMAND.COM从我发现的自定义的freedos USB棒后工作。 仍然将文件复制到USB映像并尝试从PXE启动它拒绝启动。
你可以在这里看到一个一步一步的教程: http : //www.smop.co.uk/mediawiki/index.php/PXE_booting_floppy_images
或尝试search“通过PXE启动ISO”,“通过PXE启动DOS”等。
以下是testing和工作。
您所需要的只是完整的FreeDOS ISO,最新的Linux LiveCD ,安装的Linux和虚拟机 。
那么这就是我所做的:
dd if=/dev/sda of=/tmp/freedos.img创build虚拟硬盘的磁盘映像dd if=/dev/sda of=/tmp/freedos.img (用虚拟硬盘的正确设备名称replace/ dev / sda) /tmp/freedos.img传输到一个真实的机器(SCP,SMB,FTP或其他)。 syslinux软件包。 这比编译自己的二进制文件或从某处下载预编译的图像更容易。 memdisk二进制文件。 我在/usr/lib/syslinux/memdisk 。 memdisk和freedos.img传输到PXE环境的tftp服务器,并使用以下configuration条目对其进行configuration。 。
label freedos menu label FreeDOS flash environment kernel memdisk append initrd=freedos.img harddisk
通过PXE启动并从networking上享受FreeDOS。
作为读者的练习,您应该尝试iPXE ,它是一个开源的PXE固件。 有了它,你可以跳过所有的tftp / PXE垃圾,而是通过HTTP启动! 在这种情况下,您可以从iPXE引导装载程序启动并input以下命令:
dhcp imgfetch http://192.168.1.1/freedos.img chain http://192.168.1.1/memdisk harddisk
dhcp为您提供来自DHCP服务器的任何IP,仅用于与192.168.1.1或任何(内部)Web服务器进行通信。 你也可以设置一个静态的IP地址。 其他命令从HTTP下载并安装引导加载程序和磁盘映像,然后引导映像。 令人印象深刻。
您可以使用memdisk来启动磁盘映像(例如从软盘或硬盘驱动器)或iso映像。 例如,这里是我的启动DBAN的PXEconfiguration。
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启动该映像。