[ipxe-devel] iPXE and booting ISOs over the network

Geert Stappers stappers at stappers.nl
Sun Jun 14 11:25:13 UTC 2020


On Fri, Jun 12, 2020 at 09:09:37PM +0200, Geert Stappers wrote:
> On Fri, Jun 12, 2020 at 07:06:16PM +0200, Christian Nilsson wrote:
> > On Fri, 12 Jun 2020 at 16:49, IT1 Stuart Blake Tener, USNR wrote:
> > >  ... what choices I have in implementing iPXE to boot ISO files
> > > directly (I have read several postings that were 6 to 10 years old in this
> > > area but no code was really given just oh I did this, I did that).
> > > ...
> > >
> > > I'd like to setup a server (as a virtual machine for portability, but
> > > would be fine starting as a physical server to decrease complication) with
> > > a singular purpose of providing iPXE/PXE booting services on my home lab
> > > network. I'd like to be able to have a directory or that into which I can
> > > plop an ISO file and then have some sort of menu generated on the fly that
> > > notices all ISOs in that directory and offers a menu that is presented
> > > whence someone boots iPXE/PXE via the network. I'd also like to have a
> > > sub-menu of permanent ISO choices with descriptions that can be selected
> > > from as well. It is my understanding that iPXE/PXE can do this quite
> > > easily, but then I was given a ton of reasons on the IRC why it would not
> > > work so I gave up in frustration trying to sort "IRC wheat from IRC chaff".
> > >
> > > My thought is to create a private 192.168.100.0/24 network in this
> > > environment I propose, and for the server to have TFTP, DNS, and whatever
> > > else is requisite installed there within. I think I'd like to use Debian to
> > > do it, but am open to whatever distribution people think will make this
> > > most easiest.
> > >
> > >
> > In the iPXE forum FAQ you have the "answer" to ISO - it is still a valid
> > answer! (the way PCBIOS INT calls work won't be changed, and EFI has
> > similar issues in this regards, so there is no reason to think that a 10
> > year old answer is invalid)
> > https://forum.ipxe.org/showthread.php?tid=5948&pid=19101#pid19101
> > See the part about: I'm using memdisk or sanboot to boot an ISO and bootup
> > fails
> > 
> > It boils down to: booting ISO might work if what is on the ISO does not
> > start it's own OS (that is keep using the BIOS for all access and iPXE
> > stays active)
> > But as soon as you have some other driver that takes control of the NIC
> > (actually before that but it's an easy way to understand when things happen)
> > There is no longer any way to access the disk (ISO) and it usually fails.
> > (There is a few exceptions where this does work, but not many)
> > So due to the fact that the "boot a ISO over PXE" will fail in most cases,
> > it is better to pursue an approach that is known to work.
> > 
> > Just to be clear,
> > first start with getting the iPXE demo boot to work the way you want,

Please do read that as a strong advice.


> > people will be happy to help you with that!

Please do read that as an offer from a community[2].


> > Then feel free to try out booting ISOs, you might be lucky that it works,
> > but please remember that those are special cases.
> > (it is more likely that you will see isolinux or grub work fine, but when
> > Linux kernel boots it will fail to find the live system, since "there won't
> > be" any ISO that it can be found from)
> 
> In https://discourse.ubuntu.com/t/netbooting-the-live-server-installer/14510
> do I read something that I'm now sharing here.  What I understand from it:
> * Have a "special" .iso    [0]
> * Netboot
> * Linux boot parameters for  ramdisk and url=http://server/path/the.iso
> 
> The interresting line
>  APPEND root=/dev/ram0 ramdisk_size=1500000 ip=dhcp \
>  url=http://cdimage.ubuntu.com/ubuntu-server/daily-live/current/focal-live-server-amd64.iso 
> 
> 
> I hope it will bring "network booters" and "ISO booters" closer ...
> 
> 
> Regards
> Geert Stappers
> 
> Footnote
> [0] How special "special" is, is indeed the question

The "special" part is in additional content in the initrd.
Those extras are provided by "casper". And "casper" is
a "Initramfs-tools hook".

So far my research for now. Parking here[1] these links

 https://git.launchpad.net/casper/tree/scripts/casper
 http://manpages.ubuntu.com/manpages/focal/man7/casper.7.html

for later ...


Regards
Geert Stappers

Footnote
[1] Here this mailinglist which includes my mailarchive,
    your local mailarchive and our mailarchive
    at https://lists.ipxe.org/pipermail/ipxe-devel/
[2] We all benefit from a healthy community
-- 
Silence is hard to parse


More information about the ipxe-devel mailing list