I’ve recently been using autoyast quite a bit to automate builds of new SUSE this is nice and easy if the machine network boots, you just use pxelinux but if the machine does not support PXE booting you have to boot from the mini boot.iso included with SUSE and then manually type in the install= and autoyast= kernel parameters.

To save time and the hassle of doing this I have built a custom SUSE 9.2 mini boot.iso with a new grub option which includes all of the information necessary. Below is the steps involved:

  1. get the mini boot iso from a SUSE mirror, the filename I grabbed was /pub/suse/i386/9.2/iso/SUSE-Linux-9.2-mini-installation.iso
  2. mount the iso: ```

mount -t iso9660 -o loop SUSE-Linux-9.2-mini-installation.iso /mnt/tmp

  3. copy the contents to a temporary directory and set them to be writeable: 
# mkdir /tmp/boot-iso
# cp -av /mnt/tmp/* /tmp/boot-iso/
# chmod -R 700 /tmp/boot-iso/*
  1. edit the boot loader config in boot/loader/isolinux.cfg. I added the following as the second option: ``` label cmlinux kernel linux append initrd=initrd ramdisk_size=65536 splash=silent showopts
    textmode=1 install=
    **note**: the lines are broken here for clarity make sure the append line is all on one line and the slashes are removed
    **note**: the url's specified in the `install=` and `autoyast=` parameters are specific to our configuration, you will need to edit as appropriate for your own auto install setup
    you also need to edit the messages file which is what is displayed on screen immediately after boot, I added the following directly after the 'Boot from harddisk' option:
cmlinux   - Use the CM autoyast installer
  1. now you are ready to make your bootable iso. Whilst inside the /tmp/boot-iso/ directory I ran the following: ``` #mkisofs -R -b boot/loader/isolinux.bin -no-emul-boot
    -boot-load-size 4 -boot-info-table -o ../custom-boot.iso .

  6. write this `custom-boot.iso` to a cd and boot from it. When you see the menu choose 'cmlinux' which will automatically set the install source to be the url in the `install=` parameter and set the autoyast repository to the url in the `autoyast=` parameter. If there is an entry in the rules.xml for the machine being booted an auto install should run automatically, if not you will be left with the option of doing a manual install