4

I have a server which hosts mirrors for FreeBSD, CentOS and Scientific Linux. It includes .iso files.

Is it possible to use pxelinux to boot this ISO over the network? Must I use gPXE or iPXE instead?

I have seen some indication that this is possible, but I'm not sure that I trust that forum post, as I have not gotten this to work.

I have the following configuration:

LABEL freebsd-install-net
  MENU LABEL Netboot FreeBSD-8.2-RELEASE-amd64-disc1.iso
  KERNEL memdisk
  APPEND iso raw initrd=http://192.168.1.100/freebsd82-disc1.iso

But pxelinux tells me the following:

Loading memdisk....
Could not find ramdisk image: http://192.168.1.100/freebsd82-disc1.iso
2
  • I think the problem you'll run into is that even if you boot the ISO over the network, most ISOs expect to have their ISOs available and mounted locally so they can access them once booted. This doesn't really work with a net boot with a lot of ISOs. There may be some hope, though; a program called grub4dos may help. See syslinux.org/wiki/index.php/Boot_an_Iso_image – eewanco Feb 2 '15 at 14:46
  • 1
    Old Q but still worth some clarifications. pxelinux does not support http on it's own so using iPXEs support for http would speed up the fetch greatly. But as mentioned even if you can get the ISO in to memory and have the kernel be booted from the in memory ISO the kernel (once booted) don't know how to access the memory where the ISO was stored, and it might as well be overwritten with other data. There is iSCSI which can work but still requires support from userspace, So the general recommendation is to not try to boot ISO but use other methods instead to load the full OS. – NiKiZe Dec 27 '17 at 19:40
1

g/iPXE will definitely do it, over TFTP (slow) or HTTP (at least twice as fast as TFTP in my own experiments).

From my notes (so i'm not 100% that it will work, but it should):

KERNEL ipxe.lkrn dhcp && chain http://1.0.0.1/pmagic_http.php

and then the contents of pmagic_tftp.php, residing on a http server on 1.0.0.1:

#!ipxe

kernel pmagic/bzImage edd=off load_ramdisk=1 prompt_ramdisk=0 rw loglevel=9 max_loop=16

initrd pmagic/initrd.img 
boot

I'll post later the exact details, gotta finish working :(

1
  • 2
    Well - that is not booting an ISO-image. That is booting a kernel and initrd by a indirect call to a http-URL. But for this there has to be http support in PXE. So is there a statement where you can chainload an ISO via http? – Nils Feb 16 '12 at 16:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.