Installing Suse from the network

Here is a mini howto install a Suse ( SLES 9 ) distro on a machine which does not have a cdrom player, but a nic with etherboot.
In this example, I will detail how I installed my laptop with Etherboot on a tg3 nic from my desktop running Fedora core 3.

  1. Get the iso images from Suse and store them into /home/iso
  2. mount the iso images :
    cd /var/www/html
    mkdir -p sles9/sles9-i386/CD1 sles9/core9-i386/CD{1,2,3,4,5}
    mount -t iso9660 -o loop,ro /home/iso/SLES9-i386-RC5-CD1.iso /var/www/html/sles9/sles9-i386/CD1
    mount -t iso9660 -o loop,ro /home/iso/SLES9-i386-RC5-CD2.iso /var/www/html/sles9/core9-i386/CD1
    mount -t iso9660 -o loop,ro /home/iso/SLES9-i386-RC5-CD3.iso /var/www/html/sles9/core9-i386/CD2
    mount -t iso9660 -o loop,ro /home/iso/SLES9-i386-RC5-CD4.iso /var/www/html/sles9/core9-i386/CD3
    mount -t iso9660 -o loop,ro /home/iso/SLES9-i386-RC5-CD5.iso /var/www/html/sles9/core9-i386/CD4
    mount -t iso9660 -o loop,ro /home/iso/SLES9-i386-RC5-CD6.iso /var/www/html/sles9/core9-i386/CD5
  3. Configure the network install
    ln -s sles9-i386/CD1/boot
    ln -s sles9-i386/CD1/content
    ln -s sles9-i386/CD1/control.xml
    ln -s sles9-i386/CD1/media.1
    mkdir yast
    printf "/sles9-i386/CD1\t/sles9-i386/CD1\n" > yast/order
    printf "/core9-i386/CD1\t/core9-i386/CD1\n" >> yast/order
    printf "/core9-i386/CD2\t/core9-i386/CD2\n" >> yast/order
    printf "/core9-i386/CD3\t/core9-i386/CD3\n" >> yast/order
    printf "/core9-i386/CD4\t/core9-i386/CD4\n" >> yast/order
    printf "/core9-i386/CD5\t/core9-i386/CD5\n" >> yast/order
    printf "/sles9-i386/CD1\n" > yast/instorder
    printf "/core9-i386/CD1\n" >> yast/instorder
    printf "/core9-i386/CD2\n" >> yast/instorder
    printf "/core9-i386/CD3\n" >> yast/instorder
    printf "/core9-i386/CD4\n" >> yast/instorder
    printf "/core9-i386/CD5\n" >> yast/instorder
  4. Start the http server if necessary
    service httpd start
  5. create the boot image
    mkdir /tftpboot/sles9
    mkelfImage --output=/tftpboot/slesl9/sles9.ebi --kernel=boot/loader/linux --initrd=boot/loader/initrd --append='textmode=1 insmod=tg3'
  6. update the dhcp server configuration. here is a sample :
    ddns-update-style interim;
    subnet 192.168.0.0 netmask 255.255.255.0 {
        option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
        host rhel {
            hardware ethernet xx:xx:xx:xx:xx:xx;
            fixed-address 192.168.0.2;
            filename "sles9/sles9.ebi";
        }
    }
  7. restart the dhcpd server
    service dhcpd restart
  8. Boot the target machine, choose etherboot from grub
  9. The machine is now booting on the image it got from the network
  10. When asked to check the CD is inserted, select "Back"
  11. Choose "Network install" and "http"

And now it is just like a normal install !