1. General/ Unsorted |
- 1.1. When is an auto-installation problem really AutoYaST related?
- 1.2. How can I include external and remote files into the profile in
runtime, i.e. during installation?
- 1.3. Is there any way to define IP ranges in rules?
- 1.4.
Do I really have to write all the scripts inside a profile? Is it not
possible to just call an external script file?
- 1.5. Is there a length limit on the line of parameters passed to
linuxrc using the boot menu (kernel command line)?
- 1.6. How does YaST know a URL is actually a directory and
not a file name?
|
1.1. | When is an auto-installation problem really AutoYaST related? |
| If you have issues during auto-installing a client it does not
always mean that it is autoyast related. AutoYaST relies on many
general installation components and thus, some problems might be
general installation problems. During auto-installation, almost all
problems perior the start of yast2 are linuxrc related. For example,
if the installation source can't be found, then you have to check the
kernel command line variables, (i.e. install) which are used by
linuxrc to fetch the installation image (boot/root). If yast2 starts and a problem occurs, most likely it is an
autoyast issue and has to be reported as such. The control file is
retrieved by yast2 and not by linuxrc as with releases perior to
8.0. |
1.2. | How can I include external and remote files into the profile in
runtime, i.e. during installation? |
| You can do that using XML XInclude. XInclude is an emerging W3C
specification for building large XML documents out of multiple
well-formed XML documents, independently of validation. Each piece
can be a complete XML document, a fragmentary XML document, or a
non-XML text document like a Java program or an e-mail message.
XInclude reference external documents to be included with include
elements in the http://www.w3.org/2001/XInclude namespace. The
prefix xi is customary though not required. Each xi:include element
has an href attribute that contains a URL pointing to the file to
include. For example, if you want to have all scripts out of the
main profile, you can have them on a remote machine or make them
available on the machine being installed and reference them from
within the control file. Note that the profile is parsed only once
at the beginning of the installation, so the scripts have to be
available during initial system and autoinstallation setup.
The following is a section of a profile showing the scripts section:
<?xml version="1.0"?>
<!DOCTYPE profile SYSTEM "/usr/share/autoinstall/dtd/profile.dtd">
<profile xmlns="http://www.suse.com/1.0/yast2ns"
xmlns:config="http://www.suse.com/1.0/configns"
xmlns:xinclude="http://www.w3.org/2001/XInclude">
<configure>
.
<scripts>
<chroot-scripts config:type="list">
<script>
<filename>chroot.sh</filename>
<interpreter>shell</interpreter>
<xinclude:include href="http://192.168.1.1/profiles/includes/chroot_sh.xml" />
</script>
</chroot-scripts>
</scripts>
.
</configure>
.
</profile>
On the remote side, which is in this case a web server, you
will have the included version in a file
chroot_sh.xml which will contain the missing
portion you want to include, for example:
<source>
<![CDATA[#!/bin/sh
echo "This is a script"
]]>
</source>
When including complex portions of the control file, you have
to pay attention to adding the namespace to the included file. |
1.3. | Is there any way to define IP ranges in rules? |
|
Range is not supported for IPs. To make that happen with 9.0 however,
you can always use you own script in the rules which you can
match. For example I can use this rule to match the boardinfo of my old
thinkpad:
<rule>
<custom1>
<script>
<![CDATA[
#!/bin/sh
board=$(hwinfo --bios | grep -A 4 "Board Info" | grep Product | cut -d'"' -f 2 | sed -e "s/[<|>]//g" )
echo -n $board
]]>
</script>
<match>2628JXU</match>
<match_type>exact</match_type>
</custom1>
<result>
<profile>thinkpad.xml</profile>
<continue config:type="boolean">false</continue>
</result>
</rule>
So you have to write a script that will output the latest segment of an IP and do a range checking, i,e, on 210-240. so it will result in something like that(not tested):
<rule>
<custom1>
<script>
<![CDATA[
#!/bin/sh
ip=$(/sbin/ifconfig eth0 | sed -n "s/\(inet\ addr:\)\([0-9.]*\).*/\2/p" | cut -d'.' -f 4)
echo -n $ip
]]>
</script>
<match>210-240</match>
<match_type>range</match_type>
</custom1>
<result>
<profile>thinkpad.xml</profile>
<continue config:type="boolean">false</continue>
</result>
</rule>
Of course you can add other rules such as these to match the subnet and the
network, etc.
|
1.4. |
Do I really have to write all the scripts inside a profile? Is it not
possible to just call an external script file? |
|
Well, you can call an external script from the script themselves,
however, you have to make the scripts available to the system somehow
and the easiest solution is to include the scripts into the control
file.
|
1.5. | Is there a length limit on the line of parameters passed to
linuxrc using the boot menu (kernel command line)? |
| Yes, there is a limit, I am not sure what is it though (someone telling me it is 256). To avoid this, use an info file
with all parameters. Make sure all the URLs to the
installation source and to the profile are short. Use
symlinks or aliases instead of specifying the complete
path. Any keyword on the command line that is beyond
the allowed length will be ommited.
|
1.6. | How does YaST know a URL is actually a directory and
not a file name? |
| To make YaST retrieve the control file from a
directory, i.e. by naming the control file with the
hex IP (for example C0A80103) and to make it default to
a file named default in that
directory, you have to add the trailing slash,
Example 1. Path to a directory
autoyast=http://192.168.1.1/profiles/
|
2. SuSE Linux Enterprise Server 8 |
- 2.1. How to use updates and bug fixes during installation of SLES SP3?
- 2.2. Is there a need to patch or update the GA root image ( boot/root on the CD) with SP3?
- 2.3. HTTP/FTP Installation does not work with SLES8 GA, whats wrong?
- 2.4. Is it possible to skip the license agreement for UL based
products while setting up the system via autoinstall?
- 2.5. How do I update kernel modules during installation?
|
2.1. | How to use updates and bug fixes during installation of SLES SP3? |
| All fixes are provided in the driverupdate image available with
SP3. One has to make sure the file or the contents of the file
(linux subdirectory) is available in the root of the source. |
2.2. | Is there a need to patch or update the GA root image ( boot/root on the CD) with SP3? |
| No, All fixes are already provided in the driverupdate file. |
2.3. | HTTP/FTP Installation does not work with SLES8 GA, whats wrong? |
| This is a known issue with SLES8 and is a general problem and
not autoyast related. This is issue has been resolved with
SP3. Make sure you have the driverupdate in the root of the source
and boot using the kernel/initrd from SP3. |
2.4. | Is it possible to skip the license agreement for UL based
products while setting up the system via autoinstall? |
| Use SLES8 SP3 kernel, initrd and driverupdate. |
2.5. | How do I update kernel modules during installation? |
|
This is a general issue and can also be used when installing manually.
The process of creating driver updates and adding new modules is
described in the Update Media Howto |