YaST2 Developers Documentation: yast2

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