LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   PXE boot CD/DVD ISO images... (https://www.linuxquestions.org/questions/linux-general-1/pxe-boot-cd-dvd-iso-images-597172/)

BillyGalbreath 11-04-2007 11:13 PM

PXE boot CD/DVD ISO images...
 
I don't know what forum to put this in, so I chose "General". Please move if there is a better spot for it. ;)

Anyways, I just setup a PXE server earlier today and it's working great (I followed this howto on Debian Administration). So far I have Debian Etch & Lenny both working over PXE. However, I could not help notice that I was forced to download the netboot files from the debian mirrors. I already have the CD/DVD ISO images for Debian and I would like to use those if at all possible.

Another reason I want to use regular ISO images is because of the fact that I have ISO images of all the main Windows versions (OEM - for when I reinstall Windows on my customer's computer - I'm a computer repairman) and I would love it if I could PXE boot these ISO's over the network.

Some of my customer's dont have CDROM drives, so it requires me to open the box and temporarily install a CD/DVD drive. Other times I find the my CD/DVDs have either become scratched or lost, so I end up having to burn more - which takes time and money.

I have searched endlessly on google and various Linux related websites and it seems a lot of people are wanting to know how to do this very thing, but very few people are giving answers. And at that, the answers are always either "it's not possible" for a number of reasons (mostly that cdrom iso's communicate directly with the hardware, which is not possible over PXE) or the person vaguely gives a rundown on what it takes do make it happen, but doesn't actually tell how to do it or what it takes. It's getting frustrating to see this type of responses, especially in the open source world.

But anyways - I am sure there is some way I can boot my ISO's over PXE - if not directly, then some round about way. I'm not afraid to get my hands dirty to make this PXE server how I want it, no matter how complex things may get. ;)

Does anyone know anything at all? Please - help me out here!

Thanks! :D

bigrigdriver 11-05-2007 03:35 PM

If I understand you correctly, you want PXE to boot a cd/dvd iso image from the hard drive.

Recently, my CD/DVD combo drive gave up the ghost. So I was forced to translate the last two years pondering this issue into action. I succeeded in getting the OpenSUSE 10.3 dvd iso to boot from the hard drive, via grub. You may be able to adapt the instructions to PXE.

The method requires that each iso you want to boot from hard drive must be in it's own partition. For your server, that means making a small cd or dvd sized partition for each iso. Mount the iso and copy the contents to a partition in which it will be the sole occupant. I used grub to boot the iso; you may be able to adapt the instructions to work with PXE.

You can read the full text of my response to a user's question here (post #3):
http://www.linuxquestions.org/questi...out-cd-592527/

Just substitute your own partition numbers and distro names into the instructions.

Hope this works for you, or at least gives you insight into how to make PXE work for you.

BillyGalbreath 11-05-2007 09:50 PM

So far you are the first person to respond to me (from 4 different forums and countless people in chat/im), so thanks! :D

As for mounting the ISO files and creating partitions and such, the ISO files would be on the PXE server itself. I'm not exactly sure about your post, whether to create these partitions/mount son the server or client.. But here's the scenario I am looking for:

PCE Server (192.168.1.123):
/usr/var/tftpboot/ is the tftp directory containing pxelinux.0 and all CD/DVD ISO files that I have.

Client (dhcp):
When the client does a netboot it gets a dhcp response from my SmoothWall router, which also hands down the PXE server info (IP,files,tftp directory).

The client then hops on the network, and makes a tftp connection to the PXE server and downloads the needed files to get my menu to post. This menu contains a list of all the ISO files I have on the PXE server available to boot from.

Once the client chooses an ISO to boot from, I go blank. This is where I seem to not know what I am doing exactly. From what I read, PXE supports downloading the floppy image(s) (linux & initrd.gz) and booting those up - they are very small files, so the download to the client goes unnoticed. Now, if I were to somehow get it to download the ISO files, this could take some time as most ISOs are 700mb or 4.7gb. So thats a fall point. But, even if I was able to get the ISO files to download to the client, then what? The client isn't going to know how to handle the ISO images... this is where your post comes into play in my head (but I still need some clarifications). If I mount the ISO images on the PXE server (as loopback devices) or even extract the contents of them into their own partitions, then I can have PXE load up parts (if not all) of this - but what parts should I download to the client - just linux & initrd.gz? What about the packages on the cd/dvd? Or what about a Windows Install CD? This is where I become really lost again.

In the end, I want to have the least amount of work - as in, I want to plug ethernet into the client, do a netboot, choose an OS (Windows XP for example), and have its installation start up automatically, just as if I had booted form the CD/DVD.

Don't get me wrong - I'm willing to go the distance to get this PXE server to work, but when its all setup I want it to work with ease. If in the end its more work than its worth, I'll just stick with the Cd/DVD mediums and the occassional reburning... I'm trying to make my job easier in the end by speeding things up - wouldn't make much sense to do the opposite ;)

Anyways - to make a long story short (too late), could you clarify/elaborate your post for me?

Thanks!

[edit]Also, just wnated to clarify - my PXE server works flawlessly with the Debian netboot files (linux & initrd.gz) as mentioned in the link in my first post. It's just a matter of getting regular ISOs to work now.[/edit]

bigrigdriver 11-06-2007 07:25 AM

It's been done and documented!

Setting Up A PXE Install Server For Multiple Linux Distributions With Ubuntu Edgy Eft

http://www.howtoforge.com/ubuntu_pxe_install_server

There are 9 pages of instructions (links to the remaining 8 pages at the bottom of the first page).

As you can see, this user used Ubuntu, but you should be able to adapt the instruction to work with Debian (since Debian is included in the list of isos made available to boot in this example).

I've only found one document refering to MS windows install via PXE but I didn't copy the link. Sorry. You should be able to find it: I pointed my browser at www.google.com/linux, and searched for 'pxe'. The one page in re windows is in the first 3 or 4 pages of google returns.

Person_1873 12-08-2007 09:09 AM

on what "bigrigdriver" was saying before, you can boot grub via PXE, you can also boot using grub via nfs. hence if you were to PXE boot the system to load grub and have the partitions holding the iso's shared over nfs then you could theoretically boot any of those iso's using grub post PXE via nfs!!!

by geez i think he's got it

BillyGalbreath 12-08-2007 05:14 PM

Quote:

Originally Posted by Person_1873 (Post 2984023)
on what "bigrigdriver" was saying before, you can boot grub via PXE, you can also boot using grub via nfs. hence if you were to PXE boot the system to load grub and have the partitions holding the iso's shared over nfs then you could theoretically boot any of those iso's using grub post PXE via nfs!!!

by geez i think he's got it

Holy crap! I absolutely love your explanation so much more! Now I know what to look for and where to look! Thanks a million! :D

Person_1873 12-11-2007 05:15 AM

i aim to please, i'm trying to do similar myself but don't know which files to boot out of isolinux, i'm lost myself

noisome 12-28-2007 10:49 AM

Hey all! Did you get this to work? I've been looking into this too, but going totally the wrong way with ISO booting.

If you got it, can you post your configuration and everything is total detail please! :)

Or at least, what have any of you tried to get this to work so we don't duplicate in our attempts too. Whoever figures this out and posts it gets mad pats for a very very long time.



Thanks a ton!

Noisome

Person_1873 12-29-2007 11:36 PM

ok i've done it except without PXE, i did it by creating a HDD partition 1GB in size format to ext3 extracted the ISO to that partition, created a GRUB boot floppy and essentially coppied the kernel instructions out of isolinux.cfg, translating them into GRUB instructions, booted the floppy, chose the OS to boot, booted installed n bobs ur uncle i was running ubuntu 7.10

valuequest 11-07-2008 11:08 PM

Hmmm...
 
http://kleeschulte.blogspot.com/2008...image-and.html

danny_skj 03-01-2009 09:02 AM

http://www.ultimatedeployment.org/

Can even boot PE windows iso files :)

Bjarty 06-17-2009 03:08 PM

Has anyone ever managed to do this? I've been searching for this a week now, im getting crazy.
The point is that the PXE client is suppose to chose what OS to install. Say i choose XP, than i want my iso on my pxe server to be booted just like a cdrom.
Is there a way?

Person_1873 06-20-2009 01:44 AM

you need to have your system PXE boot a GRUB bootloader or equivalent to give you the selection, your ISO files are not maintained as ISO's however, you have to extract the ISO's to an individual folder and set your bootloader that you've pre-configured to boot over nfs (no not NTFS, NFS stands for "networked file system") to load the extracted ISO's and boot the system

Bjarty 06-24-2009 11:09 AM

Can you please give an example on how and what files the pxegrub should load then.

LABEL 1
MENU LABEL XP Install
root /winxp
KERNEL /winxp/bootfont.bin
makeactive
savedefault

or something like that.

danny_skj 06-28-2009 09:33 AM

pxe booting iso files...
 
You cant use grub to hook the iso image, when the windows installers kernel is loaded it wont be hooked anymore, however windows 2000/xp/2003 have a pxe bootable kernel included, its used for RIS (remote instalation services) in 2000/2003 server.

Vista and windows 7 have a slightly diffrend system called wds where a compressed harddisk image is loaded over tftp and booted and again the instalation is loaded over smb.

You can make your own ris server with tftpd32 and binl or on linux, http://oss.netfarm.it/guides/pxe.php

Person_1873 07-09-2009 06:43 PM

your grub.conf should look something like this

Code:

LABEL 1
MENU LABEL XP Install
#only include the following line if not using DHCP otherwise exclude the "--address" switch
ifconfig --address=<IP here> --server=<IP of nfs server>
root (nd)
chainloader +1


danny_skj 07-12-2009 11:28 AM

Im gona try again, YOU CANT CHAINLOAD WINDOWS USING GRUB UNLESS ITS CHAINLOADED FROM A REAL BIOS DEVICE.

Take a look at how ppl boot windows of iscsi storage with gPXE.
First you boot up gpxe it will then hook the iscsi drive as a fake bios device drop an address to it in memory (IBFT), and the first part of windows can now boot, at some time the network connection with the iscsi drive have to be handed over to windows native drivers.

Thats done by windows initiating the network card, and a program called a iscsi initiator reads the IBFT of memory connect to the iscsi drive and windows has now fully taken over the connection.

Without IBFT and the initiator windows would at that point crash because when the windows kernel is loaded any "FAKE" bios drives will be ignored and the system will no longer know where to conteniue from.

Its like having a linux system with kernel and initrd and no root filesystem it wont boot.

Person_1873 07-18-2009 08:50 PM

then the only other thing i can think to do is to have the ISO extracted to both a FAT32 and a ext3 partition and somehow on boot after the initial boot has happened tell the XP kernel where to find it's setup files, i'm unfamiliar with kernel32 options so i guess it's off to hit the books for me, i suppose you could modify the boot.ini file for the cd image to specify a different root than the initial boot partition

Person_1873 07-18-2009 09:07 PM

after further investigation, on the XP CD, there is a file called DOSNET.INF EDIT: (/I386/DOSNET.INF), this appears to specify virtual drives, if we could discover the syntax for this, it may be possible to chainload the ntldr on the XP cd and have ntldr do the work of mounting the network filesystem that it can read and thus make t possible using grub to network boot an XP installation

Coburn64 07-18-2009 09:38 PM

There is no need for caps lock.

It's possible to PXE Boot a CD Image, however you're limited to the amount of RAM you have + the required memory for the CD Image apps and/or OS.

Bjarty 07-19-2009 01:30 PM

To load a full CD into RAM, nah. Not all Computers tha comes to my workshop has more than 512 MB Ram.
Where you thinking of using "memdisk" on a cd-rom iso?

Coburn64 07-19-2009 11:26 PM

Possibly. I was also working on some other things at the time of writing that.

Person_1873 08-25-2009 10:56 AM

also remember that not every PC that comes into your workshop is going to have a NIC capable of PXE and thus you will need to install from a disk anyway, i believe that this thread has gone beyond any truly practical usage and is now theoretical speculation

lspiehler 03-18-2010 10:04 AM

Memdisk can do it!
 
The latest version of memdisk is now capable of pxe booting ISO images. I have a video demonstrating two different examples of this @ http://www.youtube.com/watch?v=B8q5NtXbBGA. Memdisk is available in the latest syslinux package @ http://syslinux.zytor.com/wiki/index.php/Download. If you have questions, leave comments on the video. Good luck.

patpatpat 11-01-2010 04:56 PM

it pxe installs Debian from the install ISO

patpatpat 11-01-2010 04:57 PM

it pxe installs Debian from the install ISO
http://www.vercot.com/~serva/howto/DebianPXE1.html

TobiSGD 11-01-2010 05:28 PM

I have done this already for Windows XP, Vista and 7. For Windows XP i used this guide: RIS for Linux and for Vista and 7 this: Installing Windows 7 with a PXE boot server and this for unattended installations: [Unattended] Successful Windows 7 Automated Network Installation.

Person_1873 12-30-2010 06:01 AM

of course the other solution that solves OP's original problem is to create USB drives to install the systems

b8rt 10-07-2013 03:50 PM

Use livecd-tools and cobbler
 
If you have cobbler doing your PXE, its possible to convert live cd iso images to be PXE booted:

https://fedorahosted.org/cobbler/wiki/HowToPxeAnyLiveCd


All times are GMT -5. The time now is 08:40 AM.