Introduction:
Paths where to download inst-sys extension images are taken
from '/etc/install.inf'. An extension image contains the
directory structure and files as it was in inst-sys but
it is a squashfs image of it.
Inst-sys URL might be absolute or 'relative' to repo URL,
but only if instsys=... parameter wasn't explicitely defined.
When instsys=... parameter _is not_ used:
* RepoURL: cd:/?device=sr0
* InstsysURL: boot/
/root
( is for instance "i386", "x86_64", "ppc")
or
* RepoURL: nfs://server/repo/url/?device=eth0
* InstsysURL: boot//root
When instsys=... parameter _is_ used:
* RepoURL: nfs://server/repo/url/
* InstsysURL: http://server/inst-sys/url/
or
* RepoURL: cd:/?device=sr0
* InstsysURL: nfs://server/inst-sys/url/?device=eth0
Files to download are in the same level (directory) with
inst-sys:
* RepoURL: cd:/?device=sr0
* InstsysURL: boot//root
-> cd:/boot//$extension_file
* RepoURL: nfs://server/repo/url/?device=eth0
* InstsysURL: http://server/inst-sys/url/?device=eth0
-> http://server/inst-sys/$extension_file?device=eth0
These files are always squashfs images that need to be:
* Downloaded: /lbin/wget -v $url $local_filename_path
* Downloaded file needs to be checked against a SHA1
hash defined in /content file
* Mounted (-o loop) to a directory.
* Directory needs to be merged into inst-sys by using
`/lbin/lndir /`
This module remembers downloading a file so it does not
download any file twice.
Additional comments on the "Installation Workflow":
* When Linuxrc starts loading an initial translation
might already been selected. Linuxrc will download
and merge the pre-selected translation itself.
* Then Linuxrc starts YaST. YaST initializes itself
including translations and displays the language
dialog translated.
* After a different language is selected, YaST downloads
a localization inst-sys extension and merges it.
* Then a different locale is selected and YaST redraws
reruns the current YCP client.
This module should be used in installation YCP scripts
to get information how the client was called and how
should it behave. This module provides a functional
API to the script parametes.
@example
inst_language ($["enable_back":false, "enable_next":true, "first_run":"yes"])
GetInstArgs::enable_next() -> true
GetInstArgs::enable_back() -> false