YaST2 Developers Documentation: Autoyast

Introduction:

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 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.