I've got a number of problems with SLSS autoinstall, ranging from minor to serious: 1) *minor* Somewhere, somehow, the initial part of the textmode (and prolly X) installer runs in German. It switched to English as configured once it has the autoinstall XML file. But it hald reverts to German when installing the RPMs, as the descriptions are in German. The resulting box is installed in English OK however. I'm installing via PXE, and I haven't specified anything on the append line for language, but even if I specify on it, I still get the same. 2) *serious* I'm installing on servers ranging from HP DL360 G2/G3s up to possible DL580s (developing on a DL360 G2). The raid controller is detected and the module loaded fine, but when it comes to allocating the partitioning, it fails saying "no free space available on /dev/cciss/c0d0". There will be partitions on there as I've constantly rebuilding testing, but it shouldn't care as I've specified <use>all</use> for the disk /dev/cciss/c0d0 (configured in RAID 1 obviously). This is a pretty unhelpful error message for debugging purposes - where can I suitable logging to tell me why this fails? I've looked in /var/adm/autoinstall, /var/log/YaST2, /tmp/YaST2-####/pre-scripts. Where else does stuff get logged? I've tried a pre-install script hack of dd if=/dev/zero of=/dev/cciss/c0d0 bs=1024 count=1, and it doesn't work when booting with a system that already has partitions - presumably these must get cached earlier on somewhere (a bad practice IMHO). But if I abort the installation, or reboot and try again, nothing is there to get cached, and it half works, which brings me on to the third problem. 3) *serious* I've got a number of partitions configured, including a fixed size of swap (I've included my autoinstall file at the end - apologies for the length). / gets configures as a primary, and I let YaST sort out the rest, which numbers swap c0d0p9. So from issue 3 above, when it installs over a blank disk, it successfully creates all the filesystem partitions, but moans about being unable to create swap with another very unhelpful error message: "could not set up swap partition /dev/cciss/c0d0p9". Why should it successfully create everything but swap? It's not a space issue (they have 18Gb disks), because the "max" setting for /usr/local gobbles up the space that swap should have taken. 4) *concerning* I install SP3 via a finish script that is called from the finish script in the autoinstall file as below. However, when I install it, the kernel it installs hangs on reading the partition table for /dev/cciss/c0d0. I've narrowed this down to acpi, so I've put acpi=off into the kernel parameters section on the autoinstall file, but I'm certain that it shouldn't do that! Please can anyone help with these, especially the serious ones. I'm sure I have more, but I can't think of them right now... Cheers, Tom <?xml version="1.0"?> <!DOCTYPE profile SYSTEM "/usr/share/YaST2/include/autoinstall/profile.dtd"> <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> <configure> <users config:type="list"> <user> <encrypted config:type="boolean">false</encrypted> <user_password>foo</user_password> <username>root</username> </user> </users> <networking> <dns> <dhcp_hostname config:type="boolean">false</dhcp_hostname> <dhcp_resolv config:type="boolean">false</dhcp_resolv> <domain>localnet</domain> <hostname>susedev-lin-01</hostname> </dns> <interfaces config:type="list"> <interface> <device>eth0</device> <bootproto>dhcp</bootproto> <startmode>onboot</startmode> </interface> <interface> <device>eth1</device> <bootproto>static</bootproto> <broadcast>10.10.10.255</broadcast> <ipaddr>10.10.10.10</ipaddr> <netmask>255.255.255.0</netmask> <network>10.10.10.0</network> <startmode>onboot</startmode> </interface> </interfaces> <routing> <routes config:type="list"> <route> <destination>default</destination> <device>-</device> <gateway>10.144.128.1</gateway> <netmask>-</netmask> </route> </routes> </routing> </networking> <scripts> <chroot-scripts config:type="list"> <script> <filename>chroot.sh</filename> <interpreter>shell</interpreter> <source> <![CDATA[#this is chroot #!/bin/sh # Functions die() { echo "$@";exit 1; } # Global Variables NFS_SERVER=foo NFS_PATH=/img NFS_MOUNT_POINT=/a export NFS_SERVER NFS_PATH NFS_MOUNT_POINT # Local Variables BASE=${BASE:-"/mnt"} # mount up the finish scripts test -d $NFS_MOUNT_POINT || mkdir $NFS_MOUNT_POINT test -d $NFS_MOUNT_POINT/suse || \ mount $NFS_SERVER:$NFS_PATH $NFS_MOUNT_POINT || die "couldn't perform NFS mount" fin=$NFS_MOUNT_POINT/suse/scripts # copy the finish scripts test -d $BASE/fin || mkdir $BASE/fin cd $BASE/fin && rm * cp -p $fin/* . 2> /dev/null # unmount the finish scripts cd / umount $NFS_MOUNT_POINT #end chroot]]> </source> </script> </chroot-scripts> <post-scripts config:type="list"> <script> <filename>postinst.sh</filename> <interpreter>shell</interpreter> <source> <![CDATA[#this is postinst #!/bin/sh #FAKE=echo # Functions die() { echo "$@";exit 1; } # Global Variables NFS_SERVER=foo NFS_PATH=/img NFS_MOUNT_POINT=/mnt export NFS_SERVER NFS_PATH NFS_MOUNT_POINT # Local Variables # run the finish scripts cd /fin echo "params: 1=$1 2=$2 3=$3 4=$4 5=$5" script_list=${@:-"F*"} script_list="F*" for i in $script_list do test -x $i || interpreter="sh" echo "### executing $i" $FAKE $interpreter ./$i if [ $? = 10 ]; then die "argh! cannot continue. see /var/adm/autoinstall/logs/" fi unset interpreter done cd / #$FAKE rm -rf /fin #end postinst]]> </source> </script> <script> <filename>setrootpw</filename> <interpreter>shell</interpreter> <source> <![CDATA[/usr/bin/perl -pi -e 's#^root::.*$#root:<MDD5Encryption>:::::::\n#' /etc/shadow exit 0]]> </source> </script> </post-scripts> <pre-scripts config:type="list"> <script> <filename>preinst.sh</filename> <interpreter>shell</interpreter> <source> <![CDATA[#this is preinst dd if=/dev/zero of=/dev/cciss/c0d0 bs=1024 count=1 #end preinst]]> </source> </script> </pre-scripts> </scripts> </configure> <install> <bootloader> <location>mbr</location> <loader_type>grub</loader_type> <loader_device>/dev/cciss/c0d0</loader_device> <!-- acpi=off is required or the SP3 kernel hangs on reading the --> <!-- partition table of the cciss raid device for some reason --> <kernel_parameters>acpi=off</kernel_parameters> </bootloader> <general> <clock> <hwclock>UTC</hwclock> <timezone>Europe/London</timezone> </clock> <keyboard> <keymap>english-uk</keymap> </keyboard> <language>en_GB</language> <mode> <confirm config:type="boolean">false</confirm> <forceboot config:type="boolean">false</forceboot> <reboot config:type="boolean">true</reboot> </mode> <mouse> <id>00_ps2</id> </mouse> </general> <partitioning config:type="list"> <drive> <device>/dev/cciss/c0d0</device> <use>all</use> <partitions config:type="list"> <!-- partition layout for an 18Gb disk --> <partition> <filesystem config:type="symbol">ext3</filesystem> <mount>/</mount> <size>1g</size> <partition_type>primary</partition_type> </partition> <partition> <filesystem config:type="symbol">ext3</filesystem> <mount>/usr</mount> <size>1g</size> </partition> <partition> <filesystem config:type="symbol">ext3</filesystem> <mount>/var</mount> <size>4g</size> </partition> <partition> <filesystem config:type="symbol">ext3</filesystem> <mount>/home</mount> <size>2g</size> </partition> <partition> <filesystem config:type="symbol">ext3</filesystem> <mount>/usr/local</mount> <!-- "max" means fill a partition to the max available space --> <size>max</size> </partition> <partition> <filesystem config:type="symbol">ext3</filesystem> <mount>swap</mount> <!-- "auto" can be used to calculate the required swap --> <size>2g</size> </partition> </partitions> </drive> </partitioning> <software> <base>Minimal</base> <packages config:type="list"> <package>xntp</package> <package>rcs</package> <package>cvs</package> <package>xinetd</package> <package>tcpdump</package> <package>tcpd</package> <package>screen</package> </packages> </software> </install> </profile> -- Dr. Tom Davidson RHCE Unix Engineer Energis (http://www.energis.com)