On 8/31/06, Andreas Thienemann <andreas@xxxxxxxxx> wrote:
On Thu, 31 Aug 2006, Arthur Pemberton wrote: > Along the path of alternate install methods ... how feasible is it to > say PXE book a remtoe machine, then have the install process start on > it somehow. I am not familiar with the require technologies, but they > seem to already exist. No problem there. We are using PXE to reboot a machine in another datacenter, which is our secondary DNS server. There's a Cyclades TS100 connected to the serial port, onto which we installed a statically linked dnsmasq binary for the dhcp server. It hands the box it's ip address and tells it to get the pxelinux file from our main tftpd in our own datacenter. By changing the pxelinux config file for this machine, we can make it do different things such as booting a rescue system, an installer et al. The configuration is pretty simple: /etc/dnsmasq.conf (only the important part) # The DNS Entry in question, in this case we're only handing out a single # address. Adapt that to your requirements dhcp-range=111.222.333.444,static,255.255.255.224,45m dhcp-host=00:11:22:33:44:55,leelo,111.222.333.444 # Netmask dhcp-option=1,255.255.255.0 # Broadcast dhcp-option=28,111.222.333.255 # Nameserver dhcp-option=6,111.222.333.1 # NTP Server dhcp-option=42,111.222.333.1 # Set the default route dhcp-option=3,111.222.333.1 # Set the mftp option for the PXEClient to 0.0.0.0 as we do not have a # multicast tftp dhcp-option=vendor:PXEClient,1,0.0.0.0 # Set the boot filename and tftpd server name and address # for BOOTP. You will only need this is you want to # boot machines over the network. dhcp-boot=/pxelinux.0,your.tftp.server.name,12.34.56.78 As an alternative, you can use the isc server: /etc/dhcpd.conf allow booting; allow bootp; option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option PXE.discovery-control code 6 = unsigned integer 8; option PXE.discovery-mcast-addr code 7 = ip-address; class "pxeclients" { option PXE.mtftp-ip 0.0.0.0; filename "pxelinux.0"; next-server 12.34.56.78; } # the rest of your network definitions group install { filename "pxelinux.0"; next-server 12.34.56.78; host server { hardware ethernet 00:01:02:03:04:05; } } } That way, the host in question will get instructed, to load the pxe file and boot it via tftp from the next-server ip. There you have to put pxelinux.0 from the syslinux package into your tftproot, /tftpboot and create a config file, e.g. /tftpboot/pxelinux.cfg/default or a more specific /tftpboot/pxelinux.cfg/01-00-01-02-03-04-05: # we want a serial console serial 0 115200 0xab3 # Always prompt prompt 1 # Default bootoption, local for boot from hd or your preferred install # target default install-fc5 # Boot automatically after 30 seconds in tenths of a second timeout 300 label local localboot 0 # Install fc5 via serial console label install-fc5 kernel fc5/vmlinuz append ramdisk_size=16384 load_ramdisk=1 console=tty0 console=ttyS0,115200n8r initrd=fc5/initrd.img network text serial # Install fc5 via vnc label install-fc5-vnc kernel fc5/vmlinuz append ramdisk_size=16384 load_ramdisk=1 initrd=fc5/initrd.img network vnc vncpassword=secret Put the PXE boot files into /tftpboot/fc5 and make your installation tree available via nfs, http, ftp or something similar. And voila, you can install systems remotely without ever having to access their cd drives. The installation task can even be simplified by feeding a kickstart file to the anaconda installer, answering all questions or only things like installation repository location et al. regards, andreas
Seems like something anaconda worthy....put the necessary tech into anaconda, or a secondary 9more rohbust anadona cd) and have it do all that. Sweet. -- To be updated... -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list