看着周围,谷歌search,但无法find类似的问题。 似乎大多数人想要一个可启动的USB拇指棒,并将其转换成PXE启动映像。 我实际上需要走相反的方向,也就是从PXE启动文件创build一个可引导的USB拇指棒。
我有用于磁盘映像的PXE服务器。 我的networking中的某些设备无法进行PXE引导,因为1)PXE已被其子网中的其他设备使用,或者2)其networking适配器不支持PXE。 我唯一的select是抓取任何文件正在使用PXE启动设备,并尝试制作一个可启动的USB拇指驱动器。
我可以访问使用PXELinux的PXE服务器。 以下是PXELinux正在使用的“默认”文件中的内容。
default imaging prompt 0 noescape 1 label imaging kernel kernel/bzImage append initrd=kernel/init.gz root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=10.10.10.5 storage=10.10.10.211:/imaging/images/ driversstorage=10.10.10.211:/imaging/drivers/ imaging_server=10.10.10.211:20444 symmetric_key=KsqRwghBK+l/LGQ83kOp3Gl8Xos9mrTItQ69MJabgAv5DqcKakVCwNpE4QJ+A9zzDoSAhdREIVK4lkUZP67XXg loglevel=4a
我主要是一个Windows / Mac的家伙,但可以在Linux中解决,并在terminal运行命令行舒适。 我几乎不知道Linux启动过程,也不知道如何制作可启动的USB U盘。 我从上面的PXELinuxconfiguration文件中得知,需要使用bzImage和init.gz文件来PXE启动客户端设备。 有没有办法使用这两个文件和从PXELinuxconfiguration信息来创build一个可启动的USB拇指棒?
谢谢
你不能轻易做到这一点; 即使你设法创build一个加载内核和initrd的可引导USB,initrd参数仍然需要networking资源。 从你的例子
append initrd=kernel/init.gz root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=10.10.10.5 storage=10.10.10.211:/imaging/images/ driversstorage=10.10.10.211:/imaging/drivers/ imaging_server=10.10.10.211:20444 symmetric_key=KsqRwghBK+l/LGQ83kOp3Gl8Xos9mrTItQ69MJabgAv5DqcKakVCwNpE4QJ+A9zzDoSAhdREIVK4lkUZP67XXg loglevel=4a
init.gz以参数ip=dhcp告诉引导执行程序通过DHCP获取其IP,然后加载storage=10.10.10.211:/imaging/images/告诉引导执行程序,其余引导/安装组件存储在networking位置等
正如你所看到的,试图做你想做的事,需要编辑你的initrd参数(Distro依赖),并删除所有的networking引用; 不是一个可以通过jar头工具做的小事。