There are different methods for booting the client. The computer can boot from its network interface card (NIC) to receive the boot images via DHCP /TFTP or a suitable kernel as well as an initrd image are loaded from a floppy or a boot-able CD-ROM.
For testing/rescue purposes or because the NIC does not have a PROM or PXE you can build a boot floppy to use with AutoYaST. Using a floppy to initiate an auto-install process is limited due to the size of the data a floppy can hold. However, it is still possible to use floppies when auto-installing a single, disconnected machine.
Floppies can be used to store the control file, especially when using the original SuSE CD-ROMs for a single, disconnected machine. Using the kernel command line, you can specify the location of the control file on the floppy.
Even without specifying any command line options, it is still possible to initiate the
auto-install process by placing a control file on a floppy with a
special, pre-defined file name. (autoinst.xml
) YaST2 will check for
autoinst.xml
upon startup and if it was found it
will switch from interactive to automated installation.
You can use the original SuSE CD-ROMs in combination with other media, i.e. with a floppy to hold the control file or in combination with network where the control file can be located.
It is also possible to create customized CD-ROMs to hold only the package you need in addition to the control file which also can be saved on the CD-ROM. This method requires creation of CD-ROMs every time you wish to change the configuration though.
Booting via PXE requires a DHCP and a TFTP server in your network. The computer will boot then without a physical media like a boot floppy or CDROM.
Here is a small example of a "/srv/tftp/pxelinux.cfg/default" file:
default SLES9 # install SLES9 label SLES9 kernel linux_sles9 append initrd=initrd_sles9 vga=0x0314 install=.... autoyast=... language=de_DE # boot harddisc label hd· LOCALBOOT 0
It's recommended to add the vga=... parameter with a valid value for graphical installations, to trigger an installation with the frame buffer device instead of the vesa driver or ncurses mode.
Here is as a small example my "/etc/dhcp.conf" file:
option domain-name-servers 192.168.66.1; default-lease-time 600; max-lease-time 7200; ddns-update-style none; ddns-updates off; log-facility local7; option grub-menufile code 150 = text; option grub-menufile "(nd)/menu.lst";· subnet 192.168.66.0 netmask 255.255.255.0 { range 192.168.66.100 192.168.66.200; # PXE related stuff ... # # "next-server" defines the tftp server which will· # serve the pxelinux image to the PXE clients. next-server 192.168.66.1; allow booting; allow bootp; option routers 192.168.66.1; # default gateway # # "filename" specifies the pxelinux image on the tftp server· # which will be served to the PXE clients. # The configured tftp server on 192.168.100.1 runs in a· # "change-root jail" to /srv/tftpboot filename "pxelinux.0"; }
A problem you might run into if you do installation via PXE is, that the installation will run into an endless loop, because after the first reboot, the machine is doing PXE boot again and will restart the installation instead of booting from harddisc for the second stage of the installation.
This problem can be solved in different ways. One way is to use a http server to provide the autoyast profile and instead of a static profile, a CGI script on the webserver is run that provides the profile and then changes the TFTP server configuration then for this special host, so that the next PXE boot from that machine will be from harddisc by default.
Another way is to use autoyast to upload a new PXE boot configuration for that host. That is done via autoyast profile like this:
<pxe> <pxe_localboot config:type="boolean">true</pxe_localboot> <pxelinux-config> DEFAULT linux LABEL linux localboot 0 </pxelinux-config> <tftp-server>192.168.66.1</tftp-server> <pxelinux-dir>/pxelinux.cfg</pxelinux-dir> <filename>__MAC__</filename> <!-- since openSUSE 11.2, not SLES11 --> </pxe>
This will upload a new configuration for the actual machine to the tftp server short before the first reboot happens. In most installations the TFTP daemon runs as user "nobody". You have to make sure that that user has write permissions to the "pxelinux.cfg" directory if you use that mechanism. So if your machine got the IP address "192.168.66.195" a file "C0A842C3" will be uploaded and if the machine reboots and will get the same IP address via DHCP again, the new configuration will be used that has the harddisc as a default boot media.
Of course this requires that the machine will get the same IP address again after the reboot and if you want to do another autoinstallation for that machine, you have to remove the file from the TFTP server.
Since openSUSE 11.2 (not SLES11) you can configure the filename too that will be uploaded. If you use the "magic" __MAC__ filename, the filename will be the mac address of your machine like this "01-08-00-27-79-49-ee". A missing filename creates the IP address filename like in the past.