Hi,
I am going to assume that you have a working dhcp and tftp server, that is already pxe booting something, if not there are many guides on the net to explain how to do these things. I used Debian Lenny with tftpd-hpa, so I will be focusing on these but it should be easy enough to adapt to any other distribution.
You will only need the bt4-final.iso file, mount it and copy the whole contents into a directory called bt4 in your PXE root.
Code:
mount -t iso9660 -o loop bt4-final.iso /mnt
mkdir -p [PXEROOT]/bt4
cp -r /mnt/* [PXEROOT]/bt4/
Look through [PXEROOT]/bt4/boot/grub/menu.lst and decide which one you want to boot, you can boot all of them you will just need to create multiple entries in the next step. I chose the following:
Code:
title Start BackTrack FrameBuffer (1024x768)
kernel /boot/vmlinuz BOOT=casper boot=casper nopersistent rw quiet vga=0x317
initrd /boot/initrd.gz
I am asuming that you have a working PXE boot server already so you should have the file [PXEROOT]/pxelinux.cfg/default, in which case just add the following lines:
Code:
LABEL bt4
KERNEL bt4/boot/vmlinuz
APPEND initrd=bt4/boot/initrd.gz BOOT=casper boot=casper nopersistent rw quiet vga=0x317 netboot=nfs nfsroot=[SERVERIP]:[PXEROOT]/bt4
Here is an example full [PXEROOT]/pxelinux.cfg/default file that only boots bt4:
Code:
TIMEOUT 100
DEFAULT bt4
PROMPT 1
DISPLAY /isolinux.msg
LABEL bt4
KERNEL bt4/boot/vmlinuz
APPEND initrd=bt4/boot/initrd.gz BOOT=casper boot=casper nopersistent rw quiet vga=0x317 netboot=nfs nfsroot=[SERVERIP]:[PXEROOT]/bt4
The main thing to note here is we are only appending 'netboot=nfs nfsroot=[SERVERIP]:[PXEROOT]/bt4' to the original line in the grub configuration. Create the file [PXEROOT]/isolinux.msg and put something like 'type bt4 to boot Backtrack 4 Final' in it.
Now on Debian type the following command to install nfs, if you are using a different distribution google will be able to tell you how to install nfs:
Code:
apt-get install nfs-common nfs-kernel-server portmap
Edit /etc/exports and add the line:
Code:
[PXEROOT]/bt4 [LOCALSUBNET](sync,no_root_squash,ro,no_subtree_check)
You can restrict it to a certain IP but I used the whole subnet for convenience. Lastly type 'exportfs -a' and you should be ready to go! Just boot up a pc, boot from the network card, type bt4 at the prompt and alas bt4 over the network!
Happy Hacking!