For When You Can't Have The Real Thing
[ start | index | login ]
start > Linux > SLES > Unattended Install Disks

Unattended Install Disks

Created by dave. Last edited by dave, 13 years and 4 days ago. Viewed 6,332 times. #4
[diff] [history] [edit] [rdf]
labels
attachments

Creating an Unattended Install Disk

Although this process was written for SLES 8 SP 3, it was used successfully to create an unattended install disk for SLES 9 SP1.

  • Mount and copy your SP CD1 to /iso/cdboot (you can delete all rpm in /iso/cdboot/ to reduce the size of the final cd).
  • Mount the SP CD1 to /mnt/sp
  • Perform:
cp /mnt/sp/boot/loader/linux /iso/cdboot/boot/loader/
cp /mnt/sp/boot/loader/initrd /iso/cdboot/boot/loader/
cp /mnt/sp/boot/loader/initrd /iso/
touch /iso/info

The file info is used to setup network and connect to the nfs repository to install the system.

file: /iso/info

install: nfs://$SERVER/$SOURCELOCATION
netdevice: eth0
textmode: 1
forceinsmod: 1
nopcmcia: 1

Note that $SERVER and $SOURCELOCATION are not literals; change them to your values.

An example tweak of the isolinux.cfg to get different autoyast control file:

default autoyast

#autoyast label autoyast kernel linux append initrd=initrd ramdisk_size=65536 autoyast=http://$SERVER/$AUTOYAST install=nfs://$SERVER/$SOURCELOCATION

#failsafe label failsafe kernel linux append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off

# apic #label apic # kernel linux # append initrd=initrd ramdisk_size=65536 apic

# manual #label manual # kernel linux # append initrd=initrd ramdisk_size=65536 manual=1

memory test label memtest kernel memtest

implicit 0 gfxboot bootlogo display message prompt 1 timeout 100 readinfo 2 framebuffer 1 notice 2

Note that $SERVER, $AUTOYAST, and $SOURCELOCATION are not literals; change them to your values.

Here is a script to create a cdboot with the sp kernel and info file

#!/bin/bash
# Script: makeiso.sh

INITRD=/iso/initrd INITRD_GUNZIP=/iso/initrd_gunzip INITRD_MOUNT=/iso/temp/initrd INFO=$1 CDBOOT=/iso/cdboot ISO=$2 INITRD_FINAL=$CDBOOT/boot/loader/initrd

if [ "$#" -lt 2 ] then echo "Usage: makeiso file_info image.iso" exit 1 fi

mkdir -p $INITRD_MOUNT gunzip -q < $INITRD > $INITRD_GUNZIP mount -o loop -t minix $INITRD_GUNZIP $INITRD_MOUNT cp $INFO $INITRD_MOUNT

umount $INITRD_MOUNT

gzip < $INITRD_GUNZIP > $INITRD_FINAL

mkisofs -R -l -J -o $ISO -b boot/loader/isolinux.bin -c boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table $CDBOOT rm -f $INITRD_GUNZIP

To use this: on a SUSE system (because by default most RedHat kernels do not include the minix file system), in /iso simply use:

# ./makeiso.sh info slescustom.iso

(>>source)

Post-operative notes:

  • the whole info mess may not be necessary with SLES 9: on closer examination, I see that I accidentally included the isolinux.cfg file instead of the info file; everything worked properly, presumably because I'd included both the install and autoyast parameters in my isolinux.cfg file.
no comments | post comment
This is a collection of techical information, much of it learned the hard way. Consider it a lab book or a /info directory. I doubt much of it will be of use to anyone else.

Useful:


snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt