title: How to perform unattended auto-installation in SuSE using AutoYaST control xml file?
body: <p>I am building SuSE (<strong>SLES 11 SP1</strong>)appliances using KIWI and was looking for a way to perform an unattended installation in them. Moreover, I need to perform partitioning based on the hardware (no. of disks, their capacity, etc).</p>
  
  <p>I came across SuSE's AutoYaST feature that suggests that I can put my installation instructions in an xml file(called the autoyast profile) in the generated ISO. Also, I needed a location to put my partitioning script (possibly utilizing <strong>fdisk</strong> command). The SuSE documentation at <a href="http://doc.opensuse.org/projects/YaST/openSUSE10.3/autoinstall/createprofile.scripts.html" rel="nofollow">http://doc.opensuse.org/projects/YaST/openSUSE10.3/autoinstall/createprofile.scripts.html</a>
  clearly says that <em>With SUSE Linux 10.0 and all following versions it's possible to change the partitioning with fdisk in your pre-script</em></p>
  
  <p>I read that it can be done if:</p>
  
  <ol>
  <li>The xml file <strong>autoinst.xml</strong> is put on the root of the cd.</li>
  <li>the script (called a <strong>pre-script</strong> in this case) is embedded inside the xml file</li>
  <li>while booting from cd, the boot parameter <strong>autoyast=file:///autoinst.xml</strong> is given.</li>
  </ol>
  
  <p>My autoinst.xml file looks like this:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;!DOCTYPE profile&gt;
  &lt;profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"&gt;
  &lt;scripts&gt;
   &lt;pre-scripts config:type="list"&gt;
    &lt;script&gt;
     &lt;filename&gt;pre.sh&lt;/filename&gt;
     &lt;interpreter&gt;shell&lt;/interpreter&gt;
     &lt;feedback config:type="boolean"&gt;true&lt;/feedback&gt;
     &lt;source&gt;&lt;![CDATA[
      #!/bin/sh
      touch /root/pre-output
      echo "Running pre-install script" &gt; /root/pre-output
      fdisk -l &gt;&gt;/root/pre-output
      ]]&gt;
     &lt;/source&gt;
    &lt;/script&gt;
   &lt;/pre-scripts&gt;
  &lt;/scripts&gt;
  &lt;/profile&gt;
  </code></pre>
  
  <p>As you can clearly see, the script is meant is produce output that can be easily verified.
  But this is not happening.
  I have included the packages <strong>autoyast2</strong> and <strong>autoyast2-installation</strong> in the appliance.
  On booting with the specified boot parameter, I am taken to an error screen that says <strong>"calling the YaST module 'inst_netprobe' has failed"</strong>
  The logs mentioned in the error (/var/log/YaST2/y2log) are no good. They just say the same thing that calling the module <strong>inst_netprobe</strong> failed.</p>
  
  <p>After selecting NEXT, installation proceeds normally and ends at the login prompt. After login I'm not seeing any of the changes that the pre-script was meant to produce, suggesting it wasn't called.</p>
  
  <p>Can someone point out if I am missing something?</p>
  
  <ol>
  <li>Am i missing a package related to AutoYaST?</li>
  <li>Is my location (<strong>"/" on the ISO</strong>) correct for putting my xml file?</li>
  <li>Is the xml file correctly formatted or is it missing something? I took this sample from the example given at the end of the documentaion link i provided above.</li>
  <li>Is the way of invocation correct? (giving <strong>autoyast=file:///autoinst.xml</strong>) ?</li>
  </ol>
  
  <p>Also, if anyone has done autoinstallation using AutoYaST on SLES 11, could you please share some pointers?</p>