Hi all, I've searched the depths of the resources on the internet; however I'm having trouble deploying a pxeboot solution via pxelinux. So far what I have successfully implemented in my infrastructure is a successful pxeboot setup for FreeBSD ( without the use of pxelinux ). I'd ultimately like to have a solution that will allow me to choose a network install of various Unix-like operating systems including FreeBSD, RHAT8, Fedora Core 4, etc; hence the pxelinux route. Support for KickStarting linux is clearly the easy part; I just need this to chainload pxeboot and proceed with my existing setup. Here's what I have from dhcpd.conf so far, subnet x.x.x.x netmask 255.255.255.0 { range x.x.x.x x.x.x.x ; ##For PXE BSD 4.11 get it from pxe1 next-server x.x.x.x ; option root-path "x.x.x.x:/usr/local/export/pxe"; filename "pxelinux.cfg"; } My tftp directory: [root at pxe]# ls -F boot/ grub/ mfsroot pxelinux.0 freebsd/ kernel.gz* pxeboot pxelinux.bin@ freebsd.0 menu.lst pxeboot.0 pxelinux.cfg and most importantly, my pxelinux.cfg which is where I believe my troubles are, default freebsd label freebsd kernel pxeboot.0 append ramdisk_size=100000 network load_ramdisk=1 prompt_ramdisk=0 initrd=pxeboot vga=788 root=/dev/ram Everything is okay on the DHCP end, as I mentioned prior, that I can pxeboot without pxelinux, I just can't chainload the pxeboot or load a kernel. Any help at all would be GREATLY appreciated as this isn't a setup with a lot of documentation out there. -- Steve Finkelstein stevefink at gmail.com
On 11/27/05, Steve Finkelstein <stevefink at gmail.com> wrote:> Hi all, > > I've searched the depths of the resources on the internet; however > I'm having trouble deploying a pxeboot solution via pxelinux. So far > what I have successfully implemented in my infrastructure is a > successful pxeboot setup for FreeBSD ( without the use of pxelinux ).This is the normal way that is supposed to work, so it works normally.> I'd ultimately like to have a solution that will allow me to choose a > network install of various Unix-like operating systems including > FreeBSD, RHAT8, Fedora Core 4, etc; hence the pxelinux route.Yes, having a menu with installation options is nice.> Support for KickStarting linux is clearly the easy part; I just need > this to chainload pxeboot and proceed with my existing setup. Here's > what I have from dhcpd.conf so far,[...]> > default freebsd > label freebsd > kernel pxeboot.0 > append ramdisk_size=100000 network load_ramdisk=1 prompt_ramdisk=0 > initrd=pxeboot vga=788 root=/dev/ramThis is not going to work because pxeboot is the freebsd's equivalent of pxelinux, it's just gets loaded by a PXE compabible card and then takes over the boot, in your case loads the boot/loader.rc configuration file , in pxelinux case it loads a pxelinux.cfg/default (as a last resort). So pxeboot is not a valid 'kernel' image that pxelinux can boot.> Everything is okay on the DHCP end, as I mentioned prior, that I can > pxeboot without pxelinux, I just can't chainload the pxeboot or load a > kernel. >The only way to chainload pxeboot is to make a new PXE net-boot and instruct the dhcp server to load pxeboot instead of pxelinux. Here is my workaround: get the etherboot package from www.etherboot.org, it has PXE support for some time. Make a an etherboot *.zlilo image for several cards that you know that you must support (hopefully you won't have any that etherboot does not support). This is done by 'make bin/card1--card2--card3--cardx--..--.zlilo', and it's 2 '-') from etherboot's 'src' dir. Get the file you obtained, rename it to 'etherboot.zli' and move it to your tftp directory. ( alternatively, you can do 'make bin/undi.zlilo' and add 'append keeppxe' in you pxelinux.cfg/ file so it just re-uses the network stack already loaded by pxelinux and no need for a supported driver in this case; this did not work for me when I tested, so I cannot comment on that). The in the pxelinux.cfg/ file add another entry ('freebsd') which loads etherboot.zli as a kernel. All you have to do now is to instruct dhcp to load a different boot file when etherboot will make a new PXE boot. <snip> class "Etherboot" { # Catch all etherboot requests in this class match if substring(option vendor-class-identifier,0,9)="Etherboot"; # Send the ETHERBOOT VCI so that it knows option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff; # this should be you FreeBSD root dir, required by the boot loader. option root-path "x.x.x.x:/usr/local/export/pxe"; filename "pxeboot"; } </snip> -- mitu
hpa was correct, I was successfully able to chainload pxeboot with pxelinux after some tweaking to my tftp/dhcp server configurations. Now after all the triumph, I get a blue screen of death once I kickstart Linux after /sbin/loader comes into place... here's my pxelinux.cfg/default if anyone has any suggestions; PROMPT 1 DEFAULT freebsd TIMEOUT 500 label freebsd kernel pxeboot.0 label redhat8 kernel redhat8/vmlinuz append ks=nfs:192.168.0.8:/exports/kickstart/kickstart-rh8-72G.cfg initrd=redhat8/initrd.img lang=en devfs=nomount ramdisk_size=9216 ksdevice=eth0 On 11/27/05, Steve Finkelstein <stevefink at gmail.com> wrote:> I saw someone enlist the options in a prior thread; thought it might > be a way to 'trick' pxelinux into emulating a FreeBSD bootstrap. If > you have any suggestions to chain the pxeboot loader, that would be > great. Thanks again. > > S. > > On 11/27/05, H. Peter Anvin <hpa at zytor.com> wrote: > > Cristi Mitrana wrote: > > > > > >>default freebsd > > >>label freebsd > > >> kernel pxeboot.0 > > >> append ramdisk_size=100000 network load_ramdisk=1 prompt_ramdisk=0 > > >> initrd=pxeboot vga=788 root=/dev/ram > > > > > > > > > This is not going to work because pxeboot is the freebsd's equivalent > > > of pxelinux, > > > it's just gets loaded by a PXE compabible card and then takes over the boot, > > > in your case loads the boot/loader.rc configuration file , in pxelinux > > > case it loads a pxelinux.cfg/default (as a last resort). So pxeboot is > > > not a valid 'kernel' image that pxelinux can boot. > > > > > > > That's not true; PXELINUX can chain-load another PXE NBP. However, the > > options that he's been listing after it are Linux options and make no sense. > > > > -hpa > > > > _______________________________________________ > > SYSLINUX mailing list > > Submissions to SYSLINUX at zytor.com > > Unsubscribe or set options at: > > http://www.zytor.com/mailman/listinfo/syslinux > > Please do not send private replies to mailing list traffic. > > > > > > > -- > Steve Finkelstein > stevefink at gmail.com >-- Steve Finkelstein stevefink at gmail.com