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:
- 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
- mount the iso:
# mount -t iso9660 -o loop SUSE-Linux-9.2-mini-installation.iso /mnt/tmp
- 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/*
- 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=http://192.168.22.250/install/SUSE/i386/9.2/ \ autoyast=http://192.168.22.250/install/SUSE/autoinstall/repository/ \ textmode=1
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
- 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 .
- 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