The YaST firstboot utility (YaST Initial System Configuration), which runs after the installation is completed, lets you configure the Novell Linux Desktop system before creation of the install image so that on the first boot after configuration, users are guided through a series of steps that allow for easier configuration of their desktops. YaST firstboot does not run by default and has to be configured to run by the user or the system administrator. It is useful for image deployments where the system in the image is completely configured. However, some final steps such as root password and user logins have to be created to personalize the system.
The default workflow for the interface is as follows:
The Welcome screen
The License Agreement
Date & Time
Network
Root Password
User Account
Hardware
Finish
During firstboot, two additional dialogs are shown for writing the data and running SuSEconfig which require no user interaction.
Firstboot is disabled by default. The yast2-firstboot package is not part of any software selection and has to be installed individually. During the Installation, click Software in the Installation Settings screen, then select the yast2-firstboot package in the Rest selection list.
Install the product on a master box, making sure that you install the firstboot package.
Create the empty file /etc/reconfig_system. This file will be deleted when firstboot configuration is completed. This can be done by issuing the commnd: touch /etc/reconfig_system
Enable the firstboot service using the YaST runlevel editor, or directly on the command line using the following command: chkconfig firstboot on
When the system comes up after a shutdown, the firstboot configuration utility will be started and the user will be presented with the configuration screens.
There are different ways the firstboot configuration utility can be used, one of them for creating installation images. The following step by step description shows how an image can be created after firstboot has been enabled.
Boot the master box using the rescue boot option.
Configure network in the rescue system.
Mount an NFS exported directory to /mnt.
Run dd if=/dev/hda of=/mnt/image.bin count=4000000 to store the master box's hard disk image onto the NFS server.
And to install the image you have just created:
Boot a user's machine using the rescue boot option.
Configure network in the rescue system.
Mount the NFS exported directory to /mnt.
Run dd if=/mnt/image.bin of=/dev/hda count=4000000.
Remove the boot media and boot the user's machine.
After firstboot comes up, configure the date and time, root password, and user account and any other additional settings.
The Post Configuration Utility (firstboot) expects the X server to be configured. If no X server is configured, it will automatically start in text mode.
The utility has standard and translated texts in the default setup. If you want to change those texts, use the firstboot configuration file,/etc/sysconfig/firstboot.
This file lets you change the text of the following dialogs:
Welcome screen
License Agreement
Finish dialog
To do this, change the values of the respective variables (FIRSTBOOT_WELCOME_FILE,FIRSTBOOT_LICENSE_FILE , and FIRSTBOOT_FINISH_FILE) to the full path of a plain or rich text formatted text file. This will give you dialogs with customized text. If the references files are in plain text, they will be shown as such automatically. If they contain any markup language, they will be formatted as rich text.
The default license text shown is taken from the file /var/lib/YaST2/info.txt which is the EULA of the product being installed.
The variable LICENSE_REFUSAL_ACTION sets the action to be executed if the user does not accept the license. The following options are available:
halt: system is halted (shut down)
continue: continue with configuration
abort: Abort firstboot configuration utility and continue with the boot process.
Use the configuration option FIRSTBOOT_RELEASE_NOTES_PATH to show release notes in the target language. The value of the option should be a path to a directory with files using language dependent naming (RELEASE-NOTES.{language}.rtf). For english, the following file will be needed: RELEASE-NOTES.{language}.rtf.
The original release notes for the installed product availabe in /usr/share/doc/release-notes can be used as an example.
The default firstboot workflow can be controled using one single file which is a subset of the control.xml file used to control the complete installation. The firstboot control file consists of workflow and proposal configurations and can be used to add or remove configuration screens depending on the end configuration of the system. The file firstboot.xml is installed with the yast2-firstboot package and can be found at the following location: /usr/share/YaST2/control/firstboot.xml.
This file can be modified to match the post installation requirements of the product in question. In addition to the default and pre-installed components, custom screens can be added to enable maximal flexiblity during post installation. For more information about the syntax of the control file, see the document titled “Product Installation Control”.
You can add scripts to be executed at the end of the firstboot configuration to customize the system depending on user input or the environment of the machine. Scripts should be placed in /usr/share/firstboot/scripts or in a custom location that can be set using the /etc/sysconfig/firstboot configuration file.