atray
07-13-2005, 03:26 PM
I would like to create a PXE booting image from an El Torito image extracted from a CD-ROM.
Is this possible?
If so where should I begin?
Thanks,
Is this possible?
If so where should I begin?
Thanks,
|
Click to See Complete Forum and Search --> : PXE and El Torito atray 07-13-2005, 03:26 PM I would like to create a PXE booting image from an El Torito image extracted from a CD-ROM. Is this possible? If so where should I begin? Thanks, voidinit 07-15-2005, 05:23 AM I would like to create a PXE booting image from an El Torito image extracted from a CD-ROM. Is this possible? There is a big "it depends" attached to this answer. If the El Torito boot image extracted from the CD-ROM contains a kernel and an initrd that happens to be a usable root filesystem, then the answer is "yes it's easy". However, if the El Torito image contains an initrd that houses a temporary filesystem for loading kernel modules needed at bootime, but wasn't designed for actual "up and running" scenarios then you have a lot more work do to. If so where should I begin? Thanks, You should start with syslinux's PXEBOOT (http://syslinux.zytor.com/pxe.php) site and read all you can there. The basic idea goes something like this: In your dhcpd.conf file you specify your pxeboot server and the filename the PXE client should load. group { next-server 192.168.0.2; filename "pxelinux.0"; host currenthost { hardware ethernet 00:D0:B7:E5:C0:EE; fixed-address 192.168.0.10; } The preceeding example tells dhcpd that the host who broadcasts it's MAC as 00:D0:B7:E5:C0:EE should get an address of 192.168.0.10, and it should look to 192.160.0.2:tftp for the boot file pxelinux.0. The boot file pxelinux.0 is supplied by syslinux. Next you create a directory, say /tftpboot, and copy pxelinux.0 into it. Then you create a subdir /tftpboot called pxelinux.cfg. So you now have : /tftpboot -/pxelinux.cfg/ -pxelinux.0 In the pxelinux.cfg subdir you create a file called default, and in that file you put something like: LABEL linux KERNEL vmlinuz APPEND initrd=initrd.img ro root=/dev/ram0 Then you copy your extracted initrd and vmlinuz (kernel) into tftpboot. Next you need to start tftpd because the next-server directive in dhcp will tell the PXE client to connect to said server via tftp. If you are running tftpd standalone, then the ideal command would be in.tftpd -l -s /tftpboot. That will tell the server to run in listen mode and chroot to /tftpdboot as it's base filesystem. That way filename "pxelinux.0" would actually be /tftpboot/pxelinux.0. If you are running tftpd from inetd/xinetd, then edit the appropriate config files so that tftpd is starting with the -s /tftpboot option. Finally PXE boot your host. The PXE code on the NIC's option ROM will pull a dhcp address, the DHCP server will pass along the 192.168.0.2 and pxelinux.0 options. The PXE client will download pxelinux.0 via TFTP and use that to bootstrap. The pxelinux.0 code will find out what tftp server it came from and attempt to download it's config "pxelinux.cfg/default" from that tftp server. Once it has it's config, it will pull down it's kernel and initrd. When the kernel has booted it will mount /dev/ram0 as root because that's what the root=/dev/ram0 parameter told it to do. As you can see there are many factors that determine if your El Torito boot image will service under PXE. Usually it will not because the rest of the CD-ROM would then have to be mounted under NFS or similar, and the initrd that is serving as your root filesystem may depend on the cdrom being present and mountable. atray 07-15-2005, 05:04 PM Thanks for all the info. I have actually been able to get an entirely separate PXE boot server from the vendor and am now able to just use their image. justlinux.com
Copyright Internet.com Inc. All Rights Reserved. |