From Mageia wiki
Jump to: navigation, search

AutoInstall Reference documentation and tutorial Import of http://wiki.mandriva.com/fr/index.php?title=Utilisateur:Roudoud0u itself (under CC-by-SA 2.5) imported from http://members.shaw.ca/mandrake/drakx/AutoInstall-10.0.3.html


Contents

What are unattended installations ?

DrakX provides a way for users to fully or partially automate a Mageia Linux installation. Using a single configuration file containing the answers to all the questions that would normally be asked during an interactive installation, a user can do an unattended installation of Mageia Linux on multiple computers.

As this configuration file can be kept on a single server system and read by individual computers during the installation, this installation method is ideally suited for system administrators who need to deploy Mageia Linux on multiple computers.

The following sections will provide an overview of the process, details regarding the Install disks and the configuration files which drive the installation process.

Overview of the process

Automated installations can be performed using a local CD-ROM/DVD-ROM, a local hard drive, or via NFS, FTP, or HTTP.

To set up an automated installation, you have to:

  • Create a Auto Install configuration file
  • Make the Auto Install file available either on a floppy, on the network or on a custom boot media with the file
  • Make the installation tree available.
  • Start the autoinstall installation.

Creating the auto-install file

The automated installation feature of DrakX is controlled by the contents of a file named auto_inst.cfg.pl. The contents of the auto_inst.cfg file are comprised of a Perl Scalar Structure declaration (o). The declaration $o = {...}; is used by the DrakX program to preset various options and selections. Within the opening/closing braces are a series of simple and/or compound declarations (representing your selections).

There are various ways to create this file:

  • You can write it from scratch
  • You can proceed with a manual installation and then use the auto-install file generated by the installer. Indeed, during a manual installation, Drakx, the Mageia Linux installation program, also creates a sample auto-install file based on the options that you selected during installation. It is written to the file /root/drakx/auto_inst.cfg.pl. You can then use it as is or use it as a starting point and modify it with any text editor to suit your needs.

The remainder of this section describes the options available for the $o declaration.

auto_inst.cfg.pl syntax

You should be aware of the following issues when you are creating your auto-install file:

  • The auto-install configuration file must be a syntactically correct perl file. You should check the syntax of this file before using it in an auto-install. You can do this with the following command perl -cw auto_inst.cfg.pl.
  • The options are stored in hash table, thus this perl file just declares a big hash table using the $o name as convention ($o really being a hash reference)
  • The options do not have to be in a specific order.
  • Items that are not required can be omitted.
  • Omitting any required item results in the installation program prompting the user for an answer to the related item, just as the user would be prompted during a typical installation. Once the answer is given, the installation continues unattended (unless it finds another missing item).
  • Lines starting with a pound sign (#) are treated as comments and are ignored.
  • For auto-install upgrades, the following items are required: FIXME:adapter a drakX !
    • Language
    • Installation method
    • Device specification (if device is needed to perform the installation)
    • Keyboard setup
    • The upgrade keyword
    • Boot loader configuration.
    If any other items are specified for an upgrade, those items are ignored (note that this includes package selection).

Auto-install options

authentication (required)

This option is used to specify how user logins are authenticated.

syntax

$o = {
#(...)
    'authentication' => {
        'shadow' => 1,
        'local' => 1,
        'sha512' => 1,
        'NIS' => undef,
        'LDAP' => undef,
        'winbind' => undef,
    },
#(...)
}

Descriptions

  • 'shadow': Indicates if shadow passwords are used.
    • 0 - disables
    • 1 - enables
  • encryption options:
    • 'sha512': Used to specify if sha512 encryption is to be used for passwords.
      • 0 - disables, (use default crypt)
      • 1 - enables
    • 'sha256': Used to specify if sha256 encryption is to be used for passwords.
      • 0 - disables, (use default crypt)
      • 1 - enables
    • 'md5': Used to specify if md5 encryption is to be used for passwords (obsolete).
      • 0 - disables, (use default crypt)
      • 1 - enables
    • 'blowfish': Used to specify if blowfish encryption is to be used for passwords (obsolete).
      • 0 - disables, (use default crypt)
      • 1 - enables
  • 'NIS': Indicates if a NIS server is to be used for authentication
    • '' - if NIS is not being used. Also, if this line is not present, it means no NIS too.
    • 'broadcast' - if the NIS server is accessed via a broadcast message
    • '<nisserver>' - name of the machine containing the NIS server.
  • 'LDAP': Indicates if a LDAP server is to be used for authentication.
    • '' - if LDAP is not being used. Also, if this line is not preset, it means no LDAP too.
    • '<ldapserver>' - name of the machine containing the LDAP server.
  • 'windbind': Indicates if a Windows PDC (primary domain controller) is being used for authentication.
    • '' - if the PDC is not being used. Also, if this line is not preset, it means no PDC too.
    • '<Adminuser>' - user name to be used to join the domain.
  • 'winpass' - used only with 'windbind'.
    • '' - no password.
    • '<AdminPass>' - password to be used when joining the domain as '<AdminUser>'.
    For this to work for a W2K PDC, you will probably need to have the administrator run: C:\>net localgroup "Pre-Windows2000 Compatible Access" everyone /add and reboot the server.

By default, Mageia Linux installations enable sha512 (blowfish prior to mga6) and shadow. Also, you will probably have noticed that the GUI based install no longer gives you the ability to select/de-select these two, rather the Local files selection is used to indicate them.

If you select NIS, LDAP or winbind, you will have to add NISDOMAIN, LDAPDOMAIN or WINDOMAIN to the option net->{auth}. If the appropriate one is not added, then the installer automatically sets them to the same value as DOMAINNAME.


Examples

The following is used to illustrate the expected entries for a Unix file based authentication. The password are hashed with the sha512 functions and stored in the shadow file:

    'authentication' => {
        'shadow' => 1,
        'local' => 1,
        'sha512' => 1,
    }

The following is used to illustrate the expected entries for a Windows PDC:

    'authentication' => {
        'windbind' => 'Administrator',
        'winpass' => 'admin'
    },
    'net' => {
        auth => {
         'WINDOMAIN' => 'example.com',   
        }
    }  

The following is used to illustrate the expected entries for a NIS based authentication:

    'authentication' => {
        'NIS' => 'nisserver.example.com' #
    },  
    'net' => {
        auth => {
         'NISDOMAIN' => 'example.com',   
        }
    },      


The following is used to illustrate the expected entries for a LDAP based authentication:

    'authentication' => {
        'LDAP' => 'ldapserver.example.com',
    },
    'net' => {
        auth => {
         'LDAPDOMAIN' => 'example.com', 
        }
    },  

Related Option Entries

autoExitInstall

This option is optional. It is used to direct the installation process to automatically exit and re-boot the computer when the installation is complete. The default value is to wait for reboot confirmation.

Syntax

$o = {
#(...)
    'autoExitInstall' => 1,
#(...)
}

Descriptions

  • 'autoExitInstall': what you want to do when installation is complete
    • 0 - prompt the installer to re-boot and wait
    • 1 - reboot the computer automatically.

When you do a manual install, the auto_inst.cfg.pl file created in /root/drakx has this value set to 1. If you generated an Automated or Replay diskette, the auto_inst.cfg file also has this value set to 1. 'Change it to 0, otherwise the computer will re-boot and start the install all over again

Examples

For example, when doing an unattended installation, it's recommended to not reboot the computer automatically

    'autoExitInstall' => 0,

Related Option Entries

none

autologin (optional)

This is used to have the system automatically login a specific user, rather than having the usual login prompt. This feature can be used with a single user only and, the user should be defined (see the option users).

If the auto-login feature is not desired, then do not include this in your file.

Syntax

$o = {
#(...)
    'autologin' => 'david',
#(...)
}

Descriptions

  • 'autologin': specifies the name of the user that the system is to automatically log in as. Change it as you desire, but to a valid user only. The installation process creates the file /etc/sysconfig/autologin and places USER=<your user name> along with a few other values in it.

Examples

For example, the following automatically logs in the user jdoe

    'autologin' => 'jdoe',

Related Options

bootloader

This option allows you to specify the boot loader to be installed and the associated parameters that it requires. The general structure and relevant parameters for each loader are presented and explained in their own section, rather than trying to show you the whole thing and adding comments indicating which parameter is valid for which boot loader. Also, check the notes at the end of each section for tidbits.

A couple of things worth noting:

  • The new graphic startup display (bootsplash) is activated when the 'default' kernel image loaded has the 'linux' label.
  • The verbosity of both the kernel and the SysVinit scripts is controlled by the presence or absence of the keyword 'quiet' in the 'append' declaration.

The following is specifically for the x86 architecture.

GRUB2 / GRUB / LILO

DrakX is capable of installing either the GRUB2, GRUB legacy or LILO boot loaders for x86 type computers but only GRUB2 is offered for new install as both GRUB legacy & LILO are no longer supported and have issues with some newly formatted file systems.

Syntax

The following causes DrakX to install the GRUB boot loader and create the bootloader configuration. You really want to look at man conflicting for the correct explanation for some of the following.

$o = {
#(...)
    'bootloader' => {
        'method' => 'grub2-graphic'
        'boot' => '/dev/sda',
        'timeout' => '5',
    },
#(...)
},

Descriptions

  • 'method': this entry defines the boot loader options; for x86 and IA64 computers this may be one of the following:
    • 'grub2-graphic' - the GRUB2 boot loader is installed with a graphical menu.
    • 'grub2-text' - the GRUB2 boot loader is installed with a text based menu.
    • 'grub-graphic' - the GRUB legacy boot loader is installed with a graphical menu.
    • 'grub-text' - the GRUB legacy boot loader is installed with a text based menu.
    • 'lilo-text' - the LILO boot loader is installed with a simple text based prompt.
    • 'lilo-menu' - the LILO boot loader is installed with a text based menu.
    • 'lilo-graphic' - the LILO boot loader is installed with a graphical menu.
  • 'append': if present, it is placed in the bootloader config and used as default for any per image entry that does not contain an 'append'. It is used to specify parameters to be passed to the kernel. eg. 'mem=128M console=ttyS0,9600n8'.
  • 'boot': this allows you to specify the disk drive that is to be used as the boot device, eg. '/dev/sda' or '/dev/sde'. Do not include any partition numbers.
  • 'compact': if present, says to try and merge read requests for adjacent sectors. This is seldom used.
  • 'crushMbr': if this is present, it means replace (crush) the existing Master Boot Record and install the bootloader equivalent.
  • 'default': this is used to specify the default kernel image to boot. The value here is the 'label' value for one of the defined 'entries'. eg. 'my_linux'.
  • 'install': this is used to specify the file containing the new master boot record. Eg. /boot/boot.b
  • 'linear': if present, says to generate linear sector addresses instead of sector/head/cylinder. This is seldom used. Use only if the device does not support lba32.
  • 'map': this is the name and location of the map file created by lilo. eg. '/boot/map'.
  • 'message': this allows you to create a customized boot message. It is optional and if included, causes the file /boot/message to be created containing your string (don't forget to include '\n' where appropriate. Also use double quotes (") ). If it is not included, then DrakX creates a default message for you.
  • 'password': if present, it specifies a password string (clear text) used to protect booting of all images. eg. 'dickie'. In addition, the permissions for lilo.conf will be set to 0600.
  • 'perImageAppend': if this is present, then DrakX uses the values here as the append for each entry it automatically creates. Note, DrakX creates this if it detects that there are any IDE CD-RW or CD Burners installed, if the 'miscellaneous' => { 'HDPARM '} is set, if it detects that you used mem= at the boot prompt or, if the syslinux.cfg file contains either mem= or console= in the append directive.
    NOTE: If console=ttyS0,9600n8 is present somewhere in the value, then DrakX will automatically add serial=0,9600n8 to the bootloader config. You can set the parameters for the console= to what ever you require, the previous was just an example. However, if you do use the console= , you might want to consider adding it to the 'append' as well.
  • 'restricted': if present, reduces the boot up password enforcement so that the user must enter a password only if the user enters additional parameters. 'password' must be present if 'restricted' is present.
  • 'timeout': the time, in seconds, to wait for the user to enter a desired image, eg. 'my_linux'. Also, this forces a prompt for the image name to boot.
    NOTE: DrakX changes the value from seconds to tenths of a second for placement in bootloader config. If you do not want a prompt, then set the value to 0.
  • 'vga': if present, this is used to set the default video mode and can be:
    • 'ask': Ask at boot (kinda nice if you're just playing around)
    • 'normal': 80 x 25 (default)
    • '0x0f01': 80 x 50
    • '0x0f02': 80 x 43
    • '0x0f03': 80 x 28
    • '0x0f05': 80 x 30
    • '0x0f06': 80 x 34
    • '0x0f07': 80 x 60
    • '0x0122': 100 x 30
    • '785': 640 x 480 in 16 bits (Frame Buffer only)
    • '788': 800 x 600 in 16 bits (Frame Buffer only)
    • '791': 1024 x 768 in 16 bits (Frame Buffer only)
    • '794': 1280 x 1024 in 16 bits (Frame Buffer only)
  • 'entries': this is an array of 'per image' entries describing selectable boot images. Normally you should not need to add any since DrakX installs a number of default entries which represent your computer's equipment. However if you do add a new one and it has the same label as an internally defined one (linux, linux-2.2, linux-hack, failsafe, failsafe-2.2, failsafe-hack, floppy, default, linux-up, linux-2.2up, linux-hackup, linux-nonfb, linux-2.2nonfb, linux-hacknonfb, NT, dos, windows) DrakX will rename your new one to old_... when it adds yours. So be careful. Each entry has one of two forms:
    • First form:
      • 'type' => 'image': specifies that this image describes a Linux kernel image to boot.
      • 'kernel_or_dev': specifies the location and name of the kernel image to boot. Eg. '/boot/vmlinuz'.
      • 'label': specifies the name associated with this image. eg. 'my_linux'.
      • 'root': specifies the partition to be mounted as 'root'. eg. '/dev/sda6'.
      • 'initrd':if present, specifies the location and name of the initial ram disk to be loaded. Eg. '/boot/initrd.img'.
      • 'append': if present, specifies the kernel parameters for this image. Eg. 'ramdisk=8192K'. NOTE: the 'perImageAppend' is NOT used for any entries you add. If you need special options, then use this to specify them.
      • 'vga': if present, specifies the video mode to be used with this image. ( See option 'vga').
      • 'read-write' => 1: if present, indicates the root file system is to be mounted read-write. If it is NOT present, then the root file system is mounted read-only.
    • Second form:
      • 'type' => 'other': specifies that this image describes an arbitrary operating system to boot.
      • 'kernel_or_dev': specifies the device to boot. eg. '/dev/zip' or '/dev/sdb'.
      • 'label': specifies the name associated with this image. eg. 'my_linux'.
      • 'unsafe' => 1: see man lilo.conf.
      • 'table': see man lilo.conf.
      • 'map-drive': see man lilo.conf.

The 'entries' parameter is ignored for GRUB2 as the latter autogenerates its menu.

Examples

This first one is the simplest and I use it on a server to obtain a simple text based boot prompt, rather than the default graphic one. This also lets DrakX fill in all the auto detected stuff for me. I use the 'crushMbr' here to make sure that whatever is on the disk is replaced with the selected boot loader. This may not be suitable for everyone (such as dual boot or if you want to keep the existing MBR). Your installation needs may be different, so use with caution.

    'bootloader' => {
        'method' => 'grub2-graphic'
        'crushMbr' => 1
    },


This one adds an additional boot image that I use on my test machine to increase the size of the default ram disk.

    'bootloader' => {
        'method' => 'lilo-text'
        'entries' => [
            {
                'type' => 'image',
                'kernel_or_dev' => '/boot/vmlinuz',
                'label' => 'bigdisk',
                'root' => '/dev/sda6',
                'initrd' => '/boot/initrd.img',
                'append' => 'ramdisk=8192k'
            }
        ]
    },

If I had wanted to make this new image the one which is automatically booted, then I would have added 'default' => 'bigdisk', just before the 'entries'.

Another example:

$o = {
#(...)
    'bootloader' => {
        'method' => 'lilo-text',
        'boot' => '/dev/sda',
        'default' => 'my_linux',
        'install' => '/boot/boot.b',
        'lba32' => 1,
        'map' => '/boot/map',
        'message' => "My text boot up\n",
        'timeout' => '5',
    'entries' => [
        {
            'type' => 'image',
            'kernel_or_dev' => '/boot/vmlinuz',
            'label' => 'my_linux',
            'root' => '/dev/sda6',
            'initrd' => '/boot/initrd.img',
            'append' => 'mem=128M',
            'read-write' => 0,
        # or
            'type' => 'other',
            'kernel_or_dev' => '/dev/zip',
            'label' => 'zip',
            'unsafe' => 1,
        }
    ]
    },
#(...)
},

Related Options

compssListLevel

This option is optional .

This option is only to be used in conjunction with compssUsersChoice. It allows you to install packages based on their relative importance.

Syntax

$o = {
    'compssListLevel' => 5,
}

Descriptions

The desired rating value can be one of:

  • 5 - Must Have
  • 4 - Important
  • 3 - Very nice
  • 2 - Nice
  • 1 - Maybe

Mageia has taken most of the installable packages (*.rpms found in media/ subdirectories ...) and categorized them, hierarchically, into Groups (eg. Office, KDE) and then refined it a bit further into sub-groups (packages which should only be installed if the corresponding tag has been selected) and then finally applied a numerical rating (1 through 5) to each package. If you look at the file media/media_info/rpmsrate in any mirror tree of Mageia Linux, you can see the group/sub-group tags, followed by the rating levels and each package assigned to that level.

When you use compssListLevel, DrakX will install every package which has a rating greater than or equal ( '>=' ) to the value you specify with this option, regardless of the group or sub-group they have been listed in.


Since the Mageia Linux distribution comes on a varying number of CD's or DVD's, you may find packages listed which are not found on the ones that you downloaded or bought - not to worry, DrakX knows this and will only attempt to install packages that you actually have.

Examples

See the section compssUsersChoice for examples. Using this option without compssUsersChoice is pointless.

Related Options

compssUsersChoice

This option is optional

CompssUsersChoice is an alternate package selection method and if used, then compssListLevel must be defined as well. These two options used together closely mimic the GUI based install where you selected which package groups to install.

Syntax

compssUsersChoice has the following general form:

$o = {
#(...)
    'compssUsersChoice' => {
        '<group_tag>' => 1,
        '<group_tag>' => 1,
    },
#(...)
}

Descriptions

How do you select things? Well, have you ever tried the game 'Rubics Cube'; its kinda like that but with a bigger block.

First pick the features you want, then select the desktop you want to use. Then create a list of tags. Or you can look at the file media/media_info/compssUsers to see how Mageia grouped things for the GUI Group Package selection screen and go from there. Finally, you have to set the package rating level you want as the minimum using compssListLevel.

You will find all the values that can be set for the '<group_tag>' entries in the media/media_info/rpmsrate file. FIXME:copy/paste perhaps the list of all the possible values

Examples

  • This is what would be selected if you were using the GUI install and selected the icons for Game station, Multimedia Station, Console Tools and KDE:
    'compssUsersChoice' => {
        'GAMES' => 1, 
        'AUDIO' => 1, 
        'VIDEO' => 1,
        'GRAPHICS' => 1,
        'EDITORS' => 1,
        'TERMINALS' => 1,
        'TEXT_TOOLS' => 1,
        'SHELLS' => 1,
        'FILE_TOOLS' => 1,
        'KDE' => 1
    }, 
    'compssListLevel' => 5,
  • This example is basically the same, except the rating level includes almost everything possible for these groups. The default_packages option lets you add package(s) which would have been excluded. Kinda like the individual package selection of the GUI install. Except that the rating level gives you a bit more control on the basic package set installed.
'compssUsersChoice' => {
    'GAMES' => 1,
    'AUDIO' => 1,
    'VIDEO' => 1,
    'GRAPHICS' => 1,
    'EDITORS' => 1,
    'TERMINALS' => 1,
    'TEXT_TOOLS' => 1,
    'SHELLS' => 1,
    'FILE_TOOLS' => 1,
    'KDE' => 1
},
'compssListLevel' => 2,
'default_packages' =>
    [
    'joe',
    'emacs-nox',
    ],
  • This example is a short way to install almost everything.
'compssUsersChoice' => {
    'ALL' => 1
},
'compssListLevel' => 0,

Related Options

default_packages

This option is optional

default_packages is used to explicitly specify which packages are to be installed. It is simply a list of package names. For an example, see the file auto_inst.cfg.pl that was placed in your /root/drakx after a manual installation.

Syntax

The default_packages option has the following general form:

$o = {
#(...)
    'default_packages' => [
        '<package-name>',
        '<package-name>'
    ],
#(...)
}

Descriptions

'<package-name>' is the name of the package to be installed, not including the version, release, architecture and filename extension. Eg. if the package file name is acon-1.0.4-5mdk.i586.rpm then use 'acon' If you are not sure of the name for the package you want installed, then use the following:

rpm -qp --queryformat %{NAME} <filename of package>

This will give you the name that the install is expecting.

After viewing the contents of the /root/drakx/auto_inst.cfg.pl files, you may have noticed that the list does not contain all the packages that are installed in a system (rpm -qa --queryformat '%{NAME}\n' ). This is because a new approach is being used in an attempt to reduce the size of the files on the diskette. Basically, this means that packages required by the listed ones do not have to be explicitly included in the list.

NB: All packages listed in the default_packages option must be available in the Mageia Linux installation tree which will be used.

Examples

The following is a simple example to illustrate the use of this option.

'default_packages' => [
    'fonts-ttf-west_european',
    'strace',
    'gurpmi',
    'reiserfsprogs',
    'kudzu',
    'linux_logo',
    'bc',
    'fonts-ttf-decoratives',
    'at',
    'MAKEDEV',
    'iputils',
    'imwheel',
    'rpmdrake',
    'locales-en',
    'sndconfig',
    'rxvt',
    'numlock',
    'nfs-utils-clients',
    'man-pages',
    'open',
    'ldetect',
    'XFree86-server',
    'hexedit',
    'ftp',
    'anacron',
    'DrakConf',
    'XFree86-75dpi-fonts',
    'icewm-light'
],

Related Options

  • compssUsersChoice
  • compssListLevel
  • excludedocs

desktop

This option is optional

The desktop option is used to preset the default Desktop (Window Manager) for users. The DrakX installer places the specified value into the file /etc/sysconfig/desktop.

Syntax

The desktop has the following general form:

$o = {
#(...)
    'desktop' => 'KDE',
#(...)
}

Descriptions

if the desktop option is present, then it may be any one of the following Desktop Environment, provided of course it was installed:

  • 'KDE' :
  • 'GNOME' :
  • 'WindowMaker'
  • 'Enlightenment'
  • 'Blackbox'
  • 'XFce'
  • 'ICEWM'
  • 'default'
  • 'failsafe'


Default means that if you are at runlevel 3 and you type startx, then the window manager defined in the /etc/sysconfig/desktop is used. If you have a graphic Login Screen and you select default, rather than one of the indicated Window Managers, then the window manager defined in this file is used.

Examples

  • The following is a simple example to illustrate the use of this option.
desktop' => 'KDE',

Related Options

enabled_media

This option is optional

The enabled_media option instructs DrakX to enable the listed media instead of just the default core media. It's useful to:

  • enable the Nonfree medium on the DVD if one needs some firmware for some video, network, SCSI, ... card
  • enable extra media when performing a network installation: Nonfree, Tainted with their Release, Release Debug, Updates, Updates_Testing ... variants.

Syntax

The enabled_media has the following general form:

$o = {
#(...)
    'enabled_media' => [ 'medium1', 'medium2', ... , 'mediumN' ],
#(...)
}

Descriptions

The enabled_media list the media to enable.

If the 'enabled_media' option is used, DrakX automatically adjusts the file /etc/urpmi/urpmi.cfg so that only the selected media are enabled for further package installation or updates.

Examples

       'enabled_media' => [
           'Core Release',
           'Core Updates',
#           'Nonfree Release',
#           'Nonfree Updates',
         ],

Related Options

excludedocs

This option is optional

The excludedocs option instructs DrakX to inhibit the installation of any documents associated with packages being installed. Associated documents usually appear in /usr/share/docs in a sub-directory with the same base name as the package installed.

By default, DrakX normally installs all documentation that is available with each package.

Syntax

The excludedocs has the following general form:

$o = {
#(...)
    'excludedocs' => 1,
#(...)
}

Descriptions

if the excludedocs option is set to:

  • 0 - include the package documentation.
  • 1 - exclude the package documentation.


If the 'excludedocs' option is used, DrakX automatically adjusts the file /etc/rpm/macros so that any subsequent package installed also includes or excludes documentation based on your selection.

Examples

This option should be set to 1 if we want to not install the documentation available with each package (not recommended)

    'excludedocs' => 1,

Related Options

interactive

The interactive option is used when you are doing auto installs from CD-ROM and some of the packages to be installed are on the 2nd or 3rd CD. Or if you would simply like a graphic display showing the installation progress, rather than the simplistic text which is the default for an automated install.

Syntax

The interactive option has the following general form:

$o = {
#(...)
'interactive' => 'newt',
#(...)
}

Descriptions

The default operation of DrakX for automated installs does not allow for any interaction with the installer: Insert boot floppy, press reset and go for coffee. This approach works very well when installing via a network, but is inconvenient when using CDs and, some of the needed packages are on the second or third CD (they are skipped and you have to manually install them).

The interactive option allows you to perform a CD based auto install and have DrakX prompt you when it needs a different CD.

If the interactive option is set to:

  • 'newt' : display simple graphical interface (for the memory limited).
  • 'gtk' : full graphical presentation similar to the GUI based install.

Examples

  • The following example configures DrakX to display a graphical presentation during the unattended installation:
'interactive' => 'gtk',

Related Options

none

interactiveSteps

The interactiveSteps option is used when you are creating a Replay Install configuration. FIXME:clarify the differencies betwen " replay install" and "unattended install"


Syntax

The interactiveSteps option has the following general form:

    'interactiveSteps' => [
        'doPartitionDisks',
        'formatPartitions'
    ],

Descriptions

DrakX has the capability, Replay Auto Install, which can be used to assist installation on multiple computers with slightly different hardware configurations. This replay ability allows you to select one or more specific steps where you want to manually re-enter configuration selections.

Generation of a Replay Auto Install Disk can be accomplished:

  • at the end of a Manual install where you select Advanced, Generate an auto install floppy, then Reply or,
  • manually creating the disk and files on it or,

To change a standard Auto Install into a Replay Auto Install, just add the interactiveSteps option. For a more detailed description and a summary of the available steps, please review the section Replay Install.

Examples

  • The following example ask DrakX to automate the installation except for the doPartitionDisks and formatPartitions
'interactiveSteps' => [
    'doPartitionDisks',
    'formatPartitions'
],

Related Options

See Replay Install – Steps vs Options. FIXME

isUpgrade

The isUpgrade option is optional

This option is used to tell DrakX to perform an upgrade instead of a full install.

Syntax

The isUpgrade option has the following general form:

    'isUpgrade' => 0,

Descriptions

If the isUpgrade option is set to:

  • 0 : Tell the system to perform a full install
  • 1 : Tell the system to perform an upgrade

An upgrade will examine the currently installed packages on the computer and upgrade only those packages necessary. It will add additional new packages that are required by the new packages which are replacing older ones.

The upgrade of an existing system option does not always work properly for everyone, so use at your own risk. FIXME:isUpgrade still not recommended ?

Examples

  • The following example ask DrakX to perform an upgrade of an existing system:
    'isUpgrade' => 1,

Related Options

none.

keyboard

The keyboard option is optional

The keyboard option allows you to specify the overall type of keyboard you are using by specifying one of the country codes.

Syntax

    'keyboard' => {
        'KEYBOARD' => 'us'
        'GRP_TOGGLE' => '',
        'KBCHARSET' => 'C',
    },

Descriptions

The %keyboard perl hash declared in /usr/lib/libDrakX/keyboard.pm described the exhaustive list of keyboard type available.

  • KEYBOARD : specifies the keyboard type to use. The exhaustive list of possible values are defined in /usr/lib/libDrakX/keyboard.pm. Here is some of the possible values: FIXME:list a table of all the possible values
    • fr : French
    • uk : UK keyboard
    • us : US keyboard
    • de : German
    • ...
  • KBCHARSET : specifies the keyboard character set to be used. The value here is obtained from the third (3rd) column of the table listed in the locale section for the language that you choose.
  • GRP_TOGGLE: specifies the key sequence used to switch keyboard layouts if you installed more than one. The value can be set to one of the following:
    • toggle : Right Alt key
    • shift_toggle : Both Shift keys simultaneously
    • ctrl_shift_toggle : Control and Shift keys simultaneously
    • caps_toggle : Capslock key
    • ctrl_alt_toggle : Control and Alt keys simultaneously
    • alt_shift_toggle : Alt and Shift keys simultaneously
    • menu_toggle : "Menu" key
    • lwin_toggle : Left "Windows" key
    • rwin_toggle : Right "Windows" key
    • ctrls_toggle : Both Control keys simultaneously
    • alts_toggle : Both Alt keys simultaneously
    • lshift_toggle : Left Shift key
    • rshift_toggle : Right Shift key
    • lalt_toggle : Left Alt key
    • lctrl_toggle : Left Control key
    • rctrl_toggle : Right Control key
    • '' : No toggle

Examples

  • The following example define the US keyboard as the default keyboard type.
    'keyboard' => {
        'KEYBOARD' => 'us'
        'GRP_TOGGLE' => '',
    },

Related Options

locale option

The locale option is optional

The locale option allows you to select the locale used for text presentations. The default is English US ('en_US').

Syntax

    'locale' => {
        'country' => 'CA',
        'IM' => undef,
        'lang' => 'en_US',
        'langs' => {
            'en_US' => 1
        },
        'utf8' => 1
    },

Descriptions

  • lang : Specifies the default language (see incomplete table below), not a locale. For example, all locales speaking French (fr_FR fr_CH fr_BE fr_CA) it's 'fr', for all locales speaking American English it's 'en_US'. This parameter will be used to set the language-oriented locales environment variables (LANG, LC_CTYPE, LC_MESSAGES, etc.). The %langs perl hash declared in /usr/lib/libDrakX/lang.pm described the exhaustive list of available lang. Here is a some of the available values for the lang settings:
Possible values for the Lang option
abbreviated lang name lang name in english charset (encoding)
'af' 'Afrikaans' 'iso-8859-1'
'am' 'Amharic' 'utf_ethi'
'ar' 'Arabic' 'utf_ar'
'as' 'Assamese' 'utf_beng'
'az' 'Azeri (Latin)' 'utf_az'
'be' 'Belarussian' 'utf_cyr1'
'ber' 'Berber' 'utf_tfng'
'bg' 'Bulgarian' 'cp1251'
'bn' 'Bengali' 'utf_beng'
#- bo_CN not yet done
'bo' 'Tibetan' 'utf_tibt'
'br' 'Breton' 'iso-8859-15'
'bs' 'Bosnian' 'iso-8859-2'
'ca' 'Catalan' 'iso-8859-15'
'ca@valencian' 'Catalan (Valencian)' 'iso-8859-15'
'cs' 'Czech' 'iso-8859-2'
'cy' 'Welsh' 'utf_lat8'
'da' 'Danish' 'iso-8859-15'
'de' 'German' 'iso-8859-15'
'dz' 'Buthanese' 'utf_tibt'
'el' 'Greek' 'iso-8859-7'
'en_AU' 'English (Australia)' 'iso-8859-1'
'en_CA' 'English (Canada)' 'iso-8859-15'
'en_GB' 'English' 'iso-8859-15'
'en_IE' 'English (Ireland)' 'iso-8859-15'
'en_NZ' 'English (New-Zealand)' 'iso-8859-1'
'en_US' 'English (American)' 'C'
'eo' 'Esperanto' 'unicode'
'es' 'Spanish' 'iso-8859-15'
'et' 'Estonian' 'iso-8859-15'
'eu' 'Euskara (Basque)' 'utf_lat1'
'fa' 'Farsi (Iranian)' 'utf_ar'
'fi' 'Finnish (Suomi)' 'iso-8859-15'
'fil' 'Filipino' 'utf_lat1'
'fo' 'Faroese' 'utf_lat1'
'fr' 'French' 'iso-8859-15'
'fur' 'Furlan' 'utf_lat1'
'fy' 'Frisian' 'utf_lat1'
'ga' 'Gaelic (Irish)' 'utf_lat1'
#'gd' 'Gaelic (Scottish)' not yet done
'gl' 'Galician' 'iso-8859-15'
#- gn_PY not yet done
'gn' 'Guarani' 'utf_lat1'
'gu' 'Gujarati' 'unicode'
#'gv' 'Gaelic (Manx) not yet done
'ha' 'Hausa' 'utf_yo'
'he' 'Hebrew' 'utf_he'
'hi' 'Hindi' 'utf_deva'
'hr' 'Croatian' 'iso-8859-2'
'hu' 'Hungarian' 'iso-8859-2'
'hy' 'Armenian' 'utf_armn'
#'ia' 'Interlingua' locale not done yet
'id' 'Indonesian' 'utf_lat1'
'ig' 'Igbo' 'utf_yo'
'is' 'Icelandic' 'iso-8859-15'
'it' 'Italian' 'iso-8859-15'
'iu' 'Inuktitut' 'utf_iu'
'ja' 'Japanese' 'jisx0208'
'ka' 'Georgian' 'utf_geor'
'kk' 'Kazakh' 'utf_cyr2'
'kl' 'Greenlandic (inuit)' 'utf_lat1'
'km' 'Khmer' 'utf_khmr'
'kn' 'Kannada' 'utf_knda'
'ko' 'Korean' 'ksc5601'
'ku' 'Kurdish' 'utf_lat5'
#-'kw' 'Cornish' locale not done yet
'ky' 'Kyrgyz' 'utf_cyr2'
#- lb_LU not yet done, using de_LU locale instead
'lb' 'Luxembourgish' 'utf_lat1'
'li' 'Limbourgish' 'utf_lat1'
'lo' 'Laotian' 'utf_laoo'
'lt' 'Lithuanian' 'iso-8859-13'
# ltg_LV locale not done yet using lv_LV for now

'ltg' is not a standard lang code, ISO-639 code was refused; LTG_LV should be used instead (uppercase is for non-standard langcodes, as defined by locale naming standard)

'ltg' 'Latgalian' 'utf_lat7'
#'lu' 'Luganda' not yet done
'lv' 'Latvian' 'iso-8859-13'
'mi' 'Maori' 'utf_lat7'
'mk' 'Macedonian' 'utf_cyr1'
'ml' 'Malayalam' 'utf_mlym'
'mn' 'Mongolian' 'utf_cyr2'
'mr' 'Marathi' 'utf_deva'
'ms' 'Malay' 'utf_lat1'
'mt' 'Maltese' 'unicode'
#"my_MM" not yet done
'my' 'Burmese' 'utf_mymr'
'nb' 'Norwegian Bokmaal' '1 '
'nds' 'Low Saxon' 'utf_lat1'
'ne' 'Nepali' 'utf_deva'
'nl' 'Dutch' 'iso-8859-15'
'nn' 'Norwegian Nynorsk' '1 '
'nr' 'Ndebele' 'utf_lat1'
'nso' 'Northern Sotho' 'utf_lat1'
'oc' 'Occitan' 'utf_lat1'
'pa_IN' 'Punjabi (gurmukhi)' 'utf_guru'
'pl' 'Polish' 'iso-8859-2'
'pt' 'Portuguese' 'iso-8859-15'
'pt_BR' 'Portuguese Brazil' 'iso-8859-1'
# qu_PE not yet done
'qu' 'Quichua' 'utf_lat1'
'ro' 'Romanian' 'iso-8859-2'
'ru' 'Russian' 'koi8-u'
'rw' 'Kinyarwanda' 'utf_lat1'
'sc' 'Sardinian' 'utf_lat1'
'se' 'Saami' 'unicode'
'sk' 'Slovak' 'iso-8859-2'
'sl' 'Slovenian' 'iso-8859-2'
'so' 'Somali' 'utf_lat1'
'sq' 'Albanian' 'iso-8859-1'
'sr' 'Serbian Cyrillic' 'utf_cyr1'
'sr@Latn' 'Serbian Latin' 'unicode'
'ss' 'Swati' 'utf_lat1'
'st' 'Sotho' 'utf_lat1'
'sv' 'Swedish' 'iso-8859-15'
'ta' 'Tamil' 'utf_taml'
'te' 'Telugu' 'unicode'
'tg' 'Tajik' 'utf_cyr2'
'th' 'Thai' 'tis620'
'tk' 'Turkmen' 'utf_az'
'tn' 'Tswana' 'utf_lat1'
'tr' 'Turkish' 'iso-8859-9'
'ts' 'Tsonga' 'utf_lat1'
'tt' 'Tatar' 'utf_lat5'
'ug' 'Uyghur' 'utf_ar'
'uk' 'Ukrainian' 'koi8-u'
'ur' 'Urdu' 'utf_ar'
'uz@Latn' 'Uzbek (latin)' 'utf_cyr2'
'uz' 'Uzbek (cyrillic)' 'utf_cyr2'
've' 'Venda' 'utf_lat1'
'vi' 'Vietnamese' 'utf_vi'
'wa' 'Walon' 'utf_lat1'
locale 'wen_DE' not done yet, using "de_DE" instead
locale 'wen' (Sorbian) disabled
'xh' 'Xhosa' 'utf_lat1'
'yi' 'Yiddish' 'utf_he'
'yo' 'Yoruba' 'utf_yo'
'zh_CN' 'Chinese Simplified' 'gb2312'
'zh_TW' 'Chinese Traditional' 'Big5'
'zu' 'Zulu' 'utf_lat1'
  • langs : contains a list of one or more languages used to select the 'locales-*' packages for installation.
  • country : specifies the 2 letter acronym for your country. For example, France will be 'FR', USA will be 'US'. This parameter will be used to set the country-oriented locales environment variables (LC_NUMERIC, LC_MONETARY, etc). See file /usr/lib/libDrakX/lang.pm declaration for %country for a complete list of country code.
  • utf8 : used to force UTF-8 locales. However, it is normally left unset

('utf8' => ''). Drakx will determine if it needs to be set; usually when multiple languages with different character sets have been listed in langs.

Examples

  • This is what we would set for an unattended installation for system with french locale and unicode charset
    'locale' => {
        'country' => 'FR',
        'IM' => undef,
        'lang' => 'fr',
        'langs' => {
            'fr' => 1
        },
        'utf8' => 1
    },

Related Options

manualFstab

The manualFstab option is optional

The manualFstab option allows you to add additional entries to the /etc/fstab file on the target computer. The most notable include adding NFS mounts and Windows shares (cifs). Possibilities include other devices which are not detected by the install program, partitions or devices which already exist on the target computer and have not been specified in the partitioning option.


Syntax

    'manualFstab' => [
        {
            'device' => 'host1:/srv/nfs/mdv',
            'mntpoint' => '/srv/nfs/mdv',
            'type' => 'nfs',
            'options' => 'noauto,ro,nosuid,rsize=8192,wsize=8192'
        },
    ],

Descriptions

The settings for this option are identical to those you would see in the /etc/fstab file:

  • device : may be one of
    • a physical device (partition) such as sdd1
    • a nfs network device such as 'host1:/srv/nfs/mdv'
    • //cherry/cherry-c' for smb file systems.
  • mntpoint : the file system mount point for the device. It is a good idea NOT to use a mount point that is created for the use of rpmdrake (eg. /mnt/nfs).
  • type : type of file system on the device ( eg. ext2, reiserfs, nfs,smbfs ). See man mount for a list of supported file types. You may also use numeric values for the type.
  • options : mount options for the device / file system being mounted and are very file system specific. See the appropriate man page for details about the options available.
  • passno : if present, the value specified is placed in the fifth (5) field (default value of 0 is used if this is omitted). See the man page for fstab (man fstab).
  • freq : if present, the value specified is placed in the sixth (6) field (default value of 0 is used if this is omitted). See the man page for fstab (man fstab). FIXME:position of the freq and passno field seems to be inverted (passno => field 6 and freq => field 5) ?
  • toFormat : if set to 1, causes the associated device to be formatted. This selection is applicable to local devices only and is ONLY used when an EXISTING partition must be formatted prior to the actual installation (see the Note for the option 'partitioning').
  • toFormatCheck : if set to 1, causes the associated device to be checked for Bad Blocks. This selection is applicable to local devices only and is ONLY valid if toFormat is used.

Examples

  • The following is a simple example to illustrate specifying a Windows Share:
    'manualFstab' => [
        {
            'device' => '//cherry/cherry-c',
            'mntpoint' => '/mnt/cherry',
            'type' => 'smbfs',
            'options' => 'noauto,ro,username=david,password=hawker,workgroup=eastcott'
            'passno' => 0,
            'freq' => 0,
        },
    ],
  • Because username and password are present, drakx will automatically create a file

/etc/samba/auth.cherry.david (/etc/samba/auth.<server>.<username>) which will contain the actual username and password values, and adjust the /etc/fstab file entry so that it contains a reference (credentials) to this file. See man smbmount for more details.

  • The following is an example that re-uses existing partitions, including one that we did not want formatted (it contains a copy of the cooker files for testing the Grub auto install).
    'manualFstab' => [
        {
            'device' => 'sde1',
            'mntpoint' => '/boot',
            'type' => 'ext3',
            'options' => 'defaults',
            'passno' => 1,
            'freq' => 2,
            'toFormat' => 1,
        },
        {
            'device' => 'sde5',
            'mntpoint' => 'swap',
            'type' => 'swap',
            'options' => 'defaults',
        },
        {
            'device' => 'sde6',
            'mntpoint' => '/',
            'type' => 'ext3',
            'options' => 'defaults',
            'passno' => 1,
            'freq' => 1,
            'toFormat' => 1,
        },
        {
            'device' => 'sde7',
            'mntpoint' => '/mnt/hd',
            'type' => 'ext2',
            'options' => 'defaults',
            'passno' => 1,
            'freq' => 2,
            'toFormat' => 0,
        },
    ],


Related Options


miscellaneous

The miscellaneous option is where stuff goes that does not fit anywhere else.

Syntax

The miscellaneous option has the following general form:

    'miscellaneous' => {
        'numlock' => 1,
        'HDPARM' => 1,
        'http_proxy' => 'proxy.example.com:3128',
        'ftp_proxy' => 'proxy.example.com:3128',
        'track_network_id' => undef
    },

Descriptions

  • numlock : if present, causes the numlock package to be installed. Whether it is set to 1 or 0 does not matter, the numlock service will be started with the result that keyboard's NumLock will be turned on after boot up. If you want it off after boot up, then you will have to create a services list which specifically excludes numlock (see the services option ).
  • HDPARM : if present, then forces the perImageAppend, used by the bootloader, to have ALL IDE controllers set for auto tune (eg. ide0=autotune ide1=autotune).
  • http_proxy : if used, then it is set to the URL and port for the http proxy server.
  • ftp_proxy : if used, then it is set to the URL and port for the ftp proxy server.
    If you have specified entries for the http_proxy or ftp_proxy settings, DrakX places them in two files: /etc/profile.d/proxy.sh and /etc/profile.d/proxy.csh
  • track_network_id: if used, then it allows you to enable (1) or disable (0) the ethernet interface hardware address (ethernet hardware address) tracking. It is useful for Laptops where the interface card can be removed/replaced under varying circumstances.
    The option CLEAN_TMP has been removed, but you can still have the startup scripts clean the /tmp directory by adding CLEAN_TMP=1 to the /etc/sysconfig/system file.

mouse

The mouse option is used to define the Mouse that is attached to the target computer. Use this option ONLY if you know the required information. It's not recommended to used this option as by using this option, DrakX is inhibited from performing a mouse probe in an attempt to automatically identify the type of mouse available. See the settings nomouseprobe for additional information.

Syntax

The mouse option has the following general form:

    'mouse' => {
        'type' => 'serial',
        'device' => 'ttyS1',
        'name' => 'Generic 2 Button Mouse',
        'nbuttons' => 2,
        'XEMU3' => 'yes',
        'MOUSETYPE' => 'Microsoft',
        'XMOUSETYPE' => 'Microsoft',
        'FULLNAME' => 'serial|Generic 2 Button Mouse',
        'WHEEL' => 'no',
        'wacom' => [],
    },

Descriptions

  • type : May be one of :
    • 'PS/2'
    • 'USB'
    • 'serial'
    • 'busmouse'
    • 'Universal'
    • 'none'
  • See below, the table for mice for each type.
  • device : the device file to use. May be one of:
    • 'psaux' : for PS/2 mouse
    • 'ttySx' : where x is a serial port number (0, 1, 2 or 3)
    • 'atibm', 'inportbm', 'logibm' : (depends on card installed), if a PPC use 'adbmouse', for bus mice.
    • 'usbmouse' : for USB mice.
    • 'input/mice' : for Universal mice.
    • 'none' : for no mouse.
  • name : see table below
  • nbuttons : 2 or 3 for mice without a wheel, 5 for mice with a wheel (see table).
  • XEMU3 : may be one of:
    • 'yes' : if there's a 2 button mouse attached to computer(s) and you want 3 button emulation
    • 'no' : if you don't want 3 button mouse emulation
  • EMULATEWHEEL : may be one of:
    • 'yes' : if there's a 2 button mouse attached to computer(s) and you want wheel emulation
    • undef : if you don't want mouse wheel emulation
  • MOUSETYPE : see table below
  • XMOUSETYPE : see table.
  • FULLNAME : has the syntax '<type> | <name>'. eg. 'PS/2|Standard'
  • WHEEL : may be on of :
    • 'yes' : if mouse has a wheel
    • 'no' : if the mouse does not.
  • 'wacom': use this to define one or more (total of 4) Wacom Tablet devices as follows:
    • A tablet attached to a serial port:
'wacom' => [
'ttyS1'
],
    • A tablet attached via USB:
'wacom' => [
    'input/event0'
],


table for PS/2 mice
'nbuttons' 'MOUSETYPE' 'XMOUSETYPE' 'name'
2 ps/2 PS/2 Standard
5 ps/2 MouseManPlusPS/2 Logitech MouseMan+
5 imps2 IMPS/2 Generic PS2 WheelMouse
5 ps/2 GlidePointPS/2 GlidePoint
5 ps/2 ThinkingMousePS/2 Kensington Thinking Mouse
5 netmouse NetMousePS/2 Genius NetMouse
5 netmouse NetScrollPS/2 Genius NetScroll
7 ps/2 ExplorerPS/2 Microsoft Explorer



table for USB mice
'nbuttons' 'MOUSETYPE' 'XMOUSETYPE' 'name'
1 ps/2 IMPS/2 1 button
2 ps/2 IMPS/2 Generic 2 Button Mouse
3 ps/2 IMPS/2 Generic
3 ps/2 IMPS/2 Generic 3 Button Mouse with Wheel Emulation
5 ps/2 IMPS/2 Wheel
7 ps/2 ExplorerPS/2 Microsoft Explorer



table for serial mice
'nbuttons' 'MOUSETYPE' 'XMOUSETYPE' 'name'
2 Microsoft Microsoft Generic 2 Button Mouse
3 Microsoft Microsoft Generic 3 Button Mouse
3 Microsoft Microsoft Generic 3 Button Mouse with Wheel

emulation

5 ms3 IntelliMouse Microsoft IntelliMouse
3 MouseMan MouseMan Logitech MouseMan
3 MouseMan MouseMan Logitech Mouse Man with Wheel emulation
2 MouseSystems MouseSystems Mouse Systems
3 logim MouseMan Logitech CC Series
3 logim MouseMan Logitech CC Series with Wheel emulation
5 pnp IntelliMouse Logitech MouseMan+/FirstMouse+
5 ms3 IntelliMouse Genius NetMouse
2 MMSeries MMSeries MM Series
2 MMHitTab MMHittab MM HitTablet
3 Logitech Logitech Logitech Mouse (serial, old C7 type)
3 Logitech Logitech Logitech Mouse (serial, old C7 type) with Wheel emulation
3 Microsoft ThinkingMouse Kensington Thinking Mouse
3 Microsoft ThinkingMouse Kensington Thinking Mouse with Wheel emulation


table for busmouse mice
'nbuttons' 'MOUSETYPE' 'XMOUSETYPE' 'name'
1 Busmouse BusMouse 1 button (PPC only)
2 Busmouse BusMouse 2 buttons
3 Busmouse BusMouse 3 buttons
3 Busmouse BusMouse 3 buttons with Wheel emulation



table for universal mice
'nbuttons' 'MOUSETYPE' 'XMOUSETYPE' 'name'
7 ps/2 ExplorerPS/2 Any PS/2 & USB mice


table for 'none' mice
'nbuttons' 'MOUSETYPE' 'XMOUSETYPE' 'name'
0 None Microsoft No mouse


Examples

  • If you are using an old Microsoft Bus Mouse, you MUST use this option.
'mouse' => {
    'type' => 'busmouse',
    'device' => 'inportbm',
    'name' => '2 buttons',
    'nbuttons' => 2,
    'XEMU3' => 'yes',
    'MOUSETYPE' => 'Busmouse',
    'XMOUSETYPE' => 'BusMouse',
    'FULLNAME' => 'busmouse|2 buttons',
    'WHEEL' => 'no'
},
  • The following is an example for a PS/2 non wheel mouse:
'mouse' => {
    'type' => 'PS/2',
    'device' => 'psaux',
    'name' => 'Standard',
    'nbuttons' => 2,
    'XEMU3' => 'yes',
    'MOUSETYPE' => 'ps/2',
    'XMOUSETYPE' => 'PS/2',
    'FULLNAME' => 'PS/2|Standard',
    'WHEEL' => 'no'
},
  • The following is an example for a serial mouse:
'mouse' => {
    'type' => 'serial',
    'device' => 'ttyS1',
    'name' => 'Generic 2 Button Mouse',
    'nbuttons' => 2,
    'XEMU3' => 'yes',
    'MOUSETYPE' => 'Microsoft',
    'XMOUSETYPE' => 'Microsoft',
    'FULLNAME' => 'serial|Generic 2 Button Mouse',
    'WHEEL' => 'no'
},
  • The following is an example for a Generic PS/2 Wheel mouse:
'mouse' => {
    'type' => 'PS/2',
    'device' => 'psaux',
    'name' => 'Generic PS2 Wheel Mouse',
    'nbuttons' => 5,
    'XEMU3' => 'no',
    'MOUSETYPE' => 'imps/2',
    'XMOUSETYPE' => 'IMPS/2',
    'FULLNAME' => 'PS/2|Generic PS2 Wheel Mouse',
    'WHEEL' => 'yes',
},


Related Options

nomouseprobe

The nomouseprobe option is used to prevent the install program from doing a mouse probe on serial ports, PS/2 mouse port, etc. You would ONLY use this when the target computer has no mouse attached and you have equipment connected to the computer (typically serial ports) that would be adversely affected by the mouse probe.

If you use the mouse option to define your mouse, then the mouse probe is automatically disabled and this option is not necessary.


Syntax

    'nomouseprobe' => 1,

Descriptions

  • nomouseprobe: enable/disable mouse probing. May be one of:
    • 0 : enable probing for a mouse.
    • 1 : disable probing for a mouse.

Normally if you want probing, then this statement is not included in the auto_inst.cfg file

Examples

  • Disable probing for a mouse
    'nomouseprobe' => 1,

Related Options

no_recommends

The no_recommends option is used to prevent the install program from doing the installation of packages suggested as dependencies, and thus which are not completely mandatory during the installation. This option may be used to install a minimalized version of Mageia.

Syntax

    'no_recommends' => 1,

Descriptions

  • no_recommends: enable/disable suggested package installation. May be one of:
    • 0 : enable suggested package installation.
    • 1 : disable suggested package installation.

Normally if you want suggested packages, then this statement is not included in the auto_inst.cfg file

Examples

  • Disable installation of suggested packages
    'no_recommends' => 1,

Related Options

partitioning

The partitioning option is used to control the partitioning of the target system's hard disk drives.

Syntax

    'partitioning' => {
        'clearall' => 1,
        'clear' => undef,
        'eraseBadPartitions' => 0,
        'auto_allocate' => 1
    },

Descriptions

  • clearall : May be one of
    • 1 : all the existing partitions on ALL disks are to be cleared and replaced by new ones (internal defaults or the ones defined by partitions are to be used).
    • 0 : the disks are to be left untouched or, you are going to use 'clear' instead.
  • clear : if present, this is a list of the disks that are to have their partitions cleared. If your system has more than one disk drive, any drive(s) you do not list are left untouched. Eg.
    'clear' => [ 'sda', 'sdc' ]
    , clears the partitions on sda and sdc, but leaves sdb untouched. The partitions for sdb will have to be defined using the manualFstab option.
  • eraseBadPartitions: this is setting is no longer used and, if present it has no affect.
  • auto_allocate : set to 1 if disk partitions are to be defined by the option partitions, set to 0 if the installer is to leave the existing partitioning untouched. If you have cleared all or, one or more drive partitions, then you need to set this option to the value 1 and, you have to define the new partition layout for the cleared drives using the partitions option.
  • If you want to re-use the existing partitions, then set clearall and auto_allocate to their 0 value AND specify all the mounting information in the manualFstab (see the example).
    If you want the install program to auto-allocate the partitions, then set clearall and auto_allocate to their 1 value, and remove the partitions option.

Examples

  • With this example, we want
    'partitioning' => {
        'clearall' => 1,
        'clear' => undef,
        'eraseBadPartitions' => 0,
        'auto_allocate' => 1
    },

Related Options


partitions

The partitions option is used to define the partitions that are to be created on your hard disks. It is used in conjunction with the partitioning options entry for auto_allocate. If auto_allocate is set to 0, then this options' contents are ignored.

Syntax

    'partitions' => [
        {
            'mntpoint' => '/boot',
            'fs_type' => 'ext4',
            'size' => 64449,
            'hd' => 'sda',
        },
        {
            'mntpoint' => 'swap',
            'fs_type' => 'ext4',
            'size' => 524097,
            'hd' => 'sda',
        },
        {
            'mntpoint' => '/',
            'fs_type' => 'ext4',
            'size' => 573344,
            'ratio' => 100,
            'maxsize' => 5750000,
           'hd' => 'sda',
        },
    ],

Descriptions

  • mntpoint : normally, this is the directory where the partition will be mounted. However, it is also used to provide a unique name for a RAID volume or LVM physical volume (PV) that will be combined in a subsequent declaration using the parts option.
  • pt_type : partition_type (should not be used -- use fs_type instead for most usages).
    • 142 (0x8e) for LVM PVs
    • 253 (0xfd) for RAID partitions
  • See file /usr/lib/libDrakX/fs/type.pm for a complete listing FIXME: need to be updated (see file)
  • fs_type : file system type for the partition.
    • ext2
    • swap
    • reiserfs
    • ext3
    • ext4
  • size : the number of sectors that the partition is to be created with. The partitioning of the disk is done to the nearest cylinder boundary less than or equal to the number you have specified. The number of sectors in a cylinder are found by (number of sectors per track) * (number of heads). Usually each sector is 512 bytes in size, so you can do the math...
  • A quick short way is:
'size' => 32 << 11
should give you something just short of 32 megabytes.
  • ratio : is the percentage (1 -> 100) of the disk that the partition can grow to.
  • maxsize : is the maximum number of sectors that the partition can be. A limit on the ratio.
  • hd : device label (without the /dev/ part) for the disk drive that this set of definitions applies to. eg. sda, vda, hdb, ... This entry is not required if you only have one hard disk, but it may be a good habit to get into in case the next system has more than one drive and you forget.
  • level : this specifies the Software RAID level that is desired. Supported levels are:
  • linear : may be on of :
    • 0
    • 1
    • 4
    • 5
  • options : mount options for the device / file system being mounted and are very file system specific. See the mount man page for details about the options available.
  • parts : this is a space separated list of mntpoint which are to be combined into either a RAID array or a LVM Volume Group (VG).
  • VG_name : is the name used to reference a Volume Group in a subsequent declaration.
  • passno : if present, the value specified is placed in the fifth (5) field (default value of 0 is used if this is omitted). See the man page for fstab (man fstab).
  • freq : if present, the value specified is placed in the sixth (6) field (default value of 0 is used if this is omitted). See the man page for fstab (man fstab).
  • toFormatCheck : if present, causes the associated device to be checked for Bad Blocks.

To make your life a bit simpler and be able to allocate all of the disk, change the last partitions size to some small value and set the ratio to 100. This has the effect of allocating all of the remainder of the disk to that partition.

For passno, freq and toFormatCheck special information, see the Problems and Issues section.

Examples

Special partitions (ESP, https://en.wikipedia.org/wiki/BIOS_boot_partition

    partitions => [
        {
          'pt_type' => 'BIOS_GRUB',
          'size' => 2 << 11, # 2 MB are enough
        },
(...)
    partitions => [
        {
          'fs_type' => 'vfat',
          'mntpoint' => '/boot/EFI',
          'options' => 'relatime', 
          'type' => 0xef, # ESP
          'size' => 100 << 11, # 100 Mb is sensible
        },
(...)


LVM partitions

    partitions => [
        {
            'mntpoint' => 'vg_a',
            'size' => 400 << 11,
            'pt_type' => 0x8e,
            'hd' => 'sda',
        },
        {
            'mntpoint' => 'vg_b',
            'size' => 400 << 11,
            'pt_type' => 0x8e,
            'hd' => 'sdb',
            'ratio' => 1
        },
        {
            'VG_name' => 'pixVG',
            'parts' => 'vg_a vg_b',
        },
        {
            'mntpoint' => '/home',
            'size' => 500 << 11,
            'fs_type' => 'ext4',
            'hd' => 'pixVG',
        },
    ],

  • If the parts field is omitted, then any PV available will be used.

Software RAID partition

    'partitions' => [
        {
            'mntpoint' => 'raid_a',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sda',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'raid_b',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sdb',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'raid_c',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sdc',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'raid_d',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sdd',
            'ratio' => 1,
        },
        {
            'mntpoint' => '/home',
            'fs_type' => 'ext4',
            'hd' => 'md0',
            'level' => 1,
            'parts' => 'raid_a raid_b',
        },
    ],

LVM on software raid

    'partitions' => [
        {
            'mntpoint' => 'raid_a',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sda',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'raid_b',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sdb',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'raid_c',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sdc',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'raid_d',
            'size' => 400 << 11,
            'pt_type' => 0xfd,
            'hd' => 'sdd',
            'ratio' => 1,
        },
        {
            'mntpoint' => 'vg_a',
            'pt_type' => 0x8e,
            'hd' => 'md0',
            'level' => 1,
            'parts' => 'raid_a raid_b',
        },
        {
            'mntpoint' => 'vg_b',
            'pt_type' => 0x8e,
            'hd' => 'md1',
            'level' => 1,
            'parts' => 'raid_c raid_d',
        },
        {
            'VG_name' => 'pixVG',
            'parts' => 'vg_a vg_b',
        },
        {
            'mntpoint' => '/home',
            'size' => 500 << 11,
            'fs_type' => 'ext4',
            'hd' => 'pixVG',
        },
    ],

Related Options

postInstallNonRooted and postInstall

The postInstallNonRooted and postInstall option provides to the installer two simple methods for performing post installation activities on the installed system. You can use one or the other or both methods. If you want to use both, then the installer will execute the postInstallNonRootedfirst, then the postInstall last.

If you want to use both, then the installer will execute the postInstallNonRooted first, then the postInstall last.

postInstallNonRooted

The scripting command specified in the postinstallNonRooted option, is executed within the current environment of the DrakX installation program. In other words, any references to the file system are relative to DrakX's / (root). In addition, DrakX executes the script that you define using the form: bash -c <yourscript here>

Syntax

  • The postInstallNonRooted option has the following generic form
'postInstallNonRooted' => '
echo "This is a test string" > /mnt/root/test.log
'

Examples

'postInstallNonRooted' => '
echo "This is a test string" > /mnt/root/test.log
'

postInstall

The scripting command specified in the postinstall option, is executed as root on the target computer with the environment set to that of the target computer. In other words, any references to the file system are relative to the target computers / (root). In addition, DrakX executes the script that you define using the form: chroot /mnt bash -c <yourscript here> (/mnt is the directory, in the DrakX environment, under which the entire file system for the target computer is located).

Syntax

  • The postInstall option has the following generic form (note that any " and ' in the script to be executed has to be escaped)
'postInstall' => "
echo \"This is a test string\" > /root/test.log
"

Examples

  • Write into a /root/test.log file, the string "This is a test string".
'postInstall' => "
echo \"This is a test string\" > /root/test.log
"
  • Change the default auto install run level from 5 to 3 (uses "" so that the sed parameter does not have to be 'escaped'):
'postInstall' => "
# change run level from 5 to 3
cat /etc/inittab | sed 's/^id:5:init/id:3:init/' > /etc/inittab1
mv -f /etc/inittab1 /etc/inittab
"
  • Same example as above but using a perl one-liner
'postInstall' => '
# change run level from 5 to 3
perl -p -i -e "s/^id:5:init/id:3:init/" /etc/inittab
'
  • A little more complicated example :
'postInstall' => '

# only if the NTP package is installed

if [ -f /etc/ntp.conf ]; then
    cat <<EOF1 > /etc/ntp/step-tickers
ntp.example.com
EOF1
fi

# clean up bug for Netscape
cat <<EOF2 >> /etc/skel/.bash_profile
# clean up old cache files, since Netscape doesn't
[ -d ~/.netscape ] && rm -rf ~/.netscape/cache/*

EOF2
'

Descriptions

The example for postInstall and postInstallRooted produce the exact same result. The string "This is a test string" is placed in a file called test.log located in the /root directory on the target computer.

For the observant, there are a some other subtle differences. The use of a perl single-quote string literal (which allows only the \' and \\ escape-sequences) and the perl double-quote string literal (which allows backslash and variable interpolation). Either form can be used with either option, although the single-quote form is the easiest to follow and likely the most often used. In the double-quote form, the double-quote (") before and after the string This is a test string had to be 'escaped', otherwise the script would have terminated prematurely and as a consequence not be executed.

If you selected
autoExitInstall' => 0
, then these two options do NOT get executed until AFTER you press the ENTER key at the end of the installation process.

Related Options

Depends on what all you've installed.


net

The net option is used to define the various network (ethernet or wireless) capable devices in your system. This option configures network information for the system.

NB: If you are trying to install ISA network cards , DrakX does not auto detect them and as a result will not update the /etc/modules.conf file with the appropriate alias. However, the /etc/sysconfig/network-scripts/ifcfg-eth[0-9] file is created with your specified values. To complete the installation, you will have to manually add the alias and any suitable options or, use the postInstall option to make the necessary adjustments.

For those of you using a Wireless interface, the following are recommended reading for additional information:


Syntax

The net option has the following general form:

   'net' => {
        'zeroconf' => {},
        'network' => {
            'NETWORKING' => 'yes',
            'DHCP' => 'yes',
            'NET_DEVICE' => 'eth0',
            'NET_INTERFACE' => 'eth0'
        },
        'network::connection::ethernet' => {},
        'autodetect' => {},
        'resolv' => {
            'DOMAINNAME' => undef,
            'dnsServer' => undef,
            'DOMAINNAME2' => undef,
            'dnsServer2' => undef,
            'DOMAINNAME3' => undef,
            'dnsServer3' => undef
        },
        'wireless' => {},
        'ifcfg' => {
            'eth0' => {
                'NETMASK' => '255.255.255.0',
                'BROADCAST' => '',
                'BOOTPROTO' => 'dhcp',
                'NETWORK' => '',
                'HWADDR' => undef,
                'ONBOOT' => 'yes',
                'DEVICE' => 'eth0',
                'METRIC' => 10
            }
        },
        'type' => 'network::connection::ethernet',
        'net_interface' => 'eth0',
        'PROFILE' => 'default'
    },

Descriptions

We describe here only the main network configuration option available with the Mageia Installer, DrakX. You'll find an exhaustive description of the network configuration option in the /usr/share/doc/initscripts-*/sysconfig.txt file. The DrakX installer accept most of the network configuration option defined in this file.

The entries for each interface appear in a configuration file located in /etc/sysconfig/network-scripts/. The configuration file name for each interface is formed by adding the DEVICE string to the end of ifcfg-. In the example below, you would expect to find the file (eg. /etc/sysconfig/network-scripts/ifcfg-eth0 or /etc/sysconfig/network-scripts/ifcfg-wlan0...)

ifcfg option

The ifcfg option is optional

The ifcfg option is hash structure listing all the ethernet interface ('ethX') you want to configure. ethX is used to indicate an ethernet card interface definition. The 'x' is a sequence number, beginning with 0, for each ethernet card installed. Up to 10 cards can be defined with this version of the installer.

Each entry of the ifcfg has two forms whether you want to configure the ethernet interface the entry is refering to, statically or via dhcp.

  • if the ethernet interface has to be configured via dhcp:
   'net' => {
        'ifcfg' => {
            'eth0' => {
                'BOOTPROTO' => 'dhcp',
                'DEVICE' => 'eth0',
                'ONBOOT' => 'yes',
            },
        },
    },
  • if the ip settings of the ethernet interface has to be configured statically:
   'net' => {
        'ifcfg' => {
            'eth0' => {
                'BOOTPROTO' => 'static',
                'DEVICE' => 'eth0',
                'IPADDR' => '192.168.0.10',
                'NETMASK' => '255.255.255.0',
                'GATEWAY' => '192.168.0.254',
                'METRIC' => 10
                'ONBOOT' => 'yes',
            },
        },
    },

Here is a brief description of the main option:

  • DEVICE : must be the same as the 'ethx' you used to start this definition with.
  • BOOTPROTO : may be one of 'static', 'dhcp' or 'bootp'.
  • ONBOOT : normally set to 'yes', but can be set to 'no' if you do not want the interface automatically started at boot up.
  • IPADDR : IP address ('x.x.x.x') for this interface, not required if BOOTPROTO is dhcp or bootp.
  • NETMASK : Network Mask ('x.x.x.x') to be used with this interface, not required if BOOTPROTO is dhcp or bootp.
  • NETWORK : base IP address ('x.x.x.x') for this interface, not required if BOOTPROTO is dhcp or bootp.
  • BROADCAST : broadcast IP address ('x.x.x.x') for this interface, not required if BOOTPROTO is dhcp or bootp.
  • HWADDR : the ethernet hardware address for the associated ethernet interface card. Only required if the system is tracking the networking id (see miscellaneous).
  • MII_NOT_SUPPORTED: specifies whether or not the associated interface is monitored by the ifplug daemon (usually used only on laptops where the interface card is removable). If set to 'yes' then the device is not monitored, if set to 'no' then it is monitored.
  • NEEDHOSTNAME : used only if the DHCP server supplies the host name. If set to 'yes', then the dhcp client will request, then use the host name from the DHCP server. If omitted, then any host name supplied by the DHCP server is ignored.
  • DHCP_HOSTNAME : used only if the interface acquires its information from a DHCP server and this computer must supply a host name. It may have two formats, depending on the requirements of the DHCP server, either '<hostname>' or '<hostname>.<domainname>'. eg. 'dave1' or 'dave1.eastcott.net'. NOTE: this value can be different from the 'net->{network}' HOSTNAME (when supplying a specific name to an ISP) and is usually just the host name (no domain name part).

wireless_eth option

The wireless_eth is optional

The wireless_eth option is used to indicate that there is a wireless ethernet interface installed. Currently only a single interface is supported.


Here is a brief description of the main option:

  • WIRELESS_MODE : may be one of Ad-hoc, Managed, Master, Repeater, Secondary or Auto
  • WIRELESS_ESSID : Extended Service System ID, and is a string representing the desired ID or 'any'.
  • WIRELESS_NWID : Network ID or Channel Sequence number
  • WIRELESS_FREQ : Operating frequency of the wireless radio component. (eg. '2.46G')
  • WIRELESS_SENS : Receive sensitivity
  • WIRELESS_RATE : Data transfer rate (eg. '11M')
  • WIRELESS_ENC_KEY : Encryption or scrambling key
  • WIRELESS_IWCONFIG : list of parameters to be given to the program iwconfig.
  • WIRELESS_IWSPY : list of parameters to be given to the program iwspy.
  • WIRELESS_IWPRIV : list of parameters to be given to the program iwpriv.

network option

The network option is optional

The network option is used to specify network global settings (instead of per interface settings).

The settings defined in the network option are written in the /etc/sysconfig/network configuration file.

The network option has the following general form:

    'network' => {
        'NETWORKING' => 'yes',
        'HOSTNAME' => 'host1.example.com',
        'DOMAINNAME' => 'example.com',
        'FORWARD_IPV4' => 'false',
    },

Here is a brief description of the main settings of the network:

  • NETWORKING : may be one of 'yes' or 'no'. If set to 'no', drakX will not set any kind of network configuration settings'
  • HOSTNAME : fully qualified domain name of the host. Usuful if you want to assign hostname other than localhost (which is the default hostname for any host) and you can't/won't use a dhcp server supplied hostname
  • DOMAINNAME : DNS domain name.
  • NISDOMAINNAME: NIS/YP domainname.
  • FORWARD_IPV4: may be one of 'yes' or 'no'. Setting it to 'yes' there enables IP forwarding, setting it to 'no' disables it. IP Forwarding is disabled by default and should only be enabled for gateway
  • GATEWAYDEV: may be one of the DEVICE value set in the ifcfg<b> or <b>wireless_eth option. This setting is mandatory for any host with 2 or more network interfaces.
  • DHCP_CLIENT: may be one of
    • 'dhclient',
    • 'dhcpcd',
    • 'pump',
    • 'dhcpxd'.

resolv option

The resolv is optional

The resolv option is used to specify dns global settings (instead of per interface settings).

The settings defined in the resolv option are written in the /etc/resolv.conf configuration file.

The resolv option has the following general form:

        'resolv' => {
            'DOMAINNAME' => 'example.com',
            'dnsServer' => '192.168.0.1',
            'DOMAINNAME2' => undef,
            'dnsServer2' => undef,
            'DOMAINNAME3' => undef,
            'dnsServer3' => undef
        },

Here is a brief description of the main settings of the resolv:

  • DOMAINNAME : DNS domain name suffix that will be appended by the dns resolver to any not fully qualified domain name request. You can specify at most, 3 DNS domain name suffix by using, in this order, the DOMAINNAME, DOMAINNAME2 and DOMAINNAME3 settings.
  • dnsServer : DNS server name or ip address that will used. You can set at most, 3 DNS server by using, in this order, the option dnsServer, dnsServer2 and dnsServer3

zeroconf option

FIXME:zeroconf


'autodetect' option

FIXME:zeroconf

PROFILE option =

FIXME

net_interface option

FIXME

type option

FIXME

network::connection::ethernet option

FIXME

Examples

Single Interface Connections

  • For a computer which does not have an ethernet or wireless interface, then use the following:
'net' => {},
  • Static IP: This form is used when you want to statically set the ip configuration of the host or when there's no dhcp server available on your LAN.
'net' => {
    'ifcfg' => {
        'eth0' => {
            'DEVICE' => 'eth0',
            'BOOTPROTO' => 'static',
            'ONBOOT' => 'yes',
            'IPADDR' => '192.168.0.10',
            'NETMASK' => '255.255.255.0',
            'NETWORK' => '192.168.0.0',
            'BROADCAST' => '192.168.0.255',
            'MII_NOT_SUPPORTED' => 'yes',
        },
    },
    'network' => {
        'NETWORKING' => 'yes',
        'HOSTNAME' => 'host1.example.com',
        'DOMAINNAME' => 'example.com',
        'GATEWAY' => '192.168.0.254',
        'GATEWAYDEV' => 'eth0',
        'FORWARD_IPV4' => 'false',
    },
    'resolv' => {
        'DOMAINNAME' => 'example.com',
        'dnsServer' => '192.168.0.1',
        'DOMAINNAME2' => undef,
        'dnsServer2' => undef,
        'DOMAINNAME3' => undef,
        'dnsServer3' => undef
    },
},


  • DHCP IP: This minimal form is used when the DHCP server provides all the information that you require. Generally, the server dispenses IP information based on your cards ethernet hardware address and name resolution is provided by static DNS server tables:
'net' => {
    'ifcfg' => {
        'eth0' => {
            'DEVICE' => 'eth0',
            'BOOTPROTO' => 'dhcp',
            'ONBOOT' => 'yes'
            'MII_NOT_SUPPORTED' => 'yes'
         },
    },
    'network' => {
        'NETWORKING' => 'yes',
        'DHCP' => 'yes',
        'FORWARD_IPV4' => 'false',
        'NET_DEVICE' => 'eth0',
        'NET_INTERFACE' => 'eth0',
    },
},
  • DHCP IP : This is the next level, where the DHCP server needs you to supply a hostname, typically so it can dynamically update a DNS server:
'net' => {
    'ifcfg' => {
        'eth0' => {
            'DEVICE' => 'eth0',
            'BOOTPROTO' => 'dhcp',
            'ONBOOT' => 'yes',
            'MII_NOT_SUPPORTED' => 'yes',
            'DHCP_HOSTNAME' => 'CS167266-A',
         },
    },
    'network' => {
        'NETWORKING' => 'yes',
        'DHCP' => 'yes',
        'FORWARD_IPV4' => 'false',
        'NET_DEVICE' => 'eth0',
        'NET_INTERFACE' => 'eth0',
    },
},

If the computer has an interface with BOOTPROTO set to dhcp, then see 'net->{ifcfg}' for selecting a 'dhcp_client' to be installed.

Multiple Interface Connections

If the computer has more than one interface defined, make sure the network option identifies which one is the GATEWAYDEV.

  • Local LAN and Cable Access to Internet:
'net' => {
    'ifcfg' => {
        'eth0' => {
            'DEVICE' => 'eth0',
            'BOOTPROTO' => 'dhcp',
            'ONBOOT' => 'yes',
            'MII_NOT_SUPPORTED' => 'yes',
            'DHCP_HOSTNAME' => 'CS167266-A',
            'PEERDNS' => 'no',
            'PEERNTPD => 'no',

         },
        'eth1' => {
            'DEVICE' => 'eth1',
            'BOOTPROTO' => 'static',
            'ONBOOT' => 'yes',
            'IPADDR' => '192.168.0.10',
            'NETMASK' => '255.255.255.0',
            'NETWORK' => '192.168.0.0',
            'BROADCAST' => '192.168.0.255',
            'MII_NOT_SUPPORTED' => 'yes',
         },

    },
    'network' => {
        'NETWORKING' => 'yes',
        'DHCP' => 'yes',
        'DHCP_CLIENT' => 'dhclient',
        'HOSTNAME' => 'host2.example.com', #FIXME:??
        'DOMAINNAME' => 'example.com',
        'GATEWAY' => '192.168.0.254',
        'GATEWAYDEV' => 'eth0',
        'FORWARD_IPV4' => 'false',
    },
    'resolv' => {
        'DOMAINNAME' => 'example.com',
        'dnsServer' => '192.168.0.1',
        'DOMAINNAME2' => undef,
        'dnsServer2' => undef,
        'DOMAINNAME3' => undef,
        'dnsServer3' => undef
    } ,
}
  • Dual Lan :(multiple is just more ifcfg definitions)
'net' => {
    'ifcfg' => {
        'eth0' => {
            'DEVICE' => 'eth0',
            'BOOTPROTO' => 'static',
            'ONBOOT' => 'yes',
            'IPADDR' => '192.168.0.10',
            'NETMASK' => '255.255.255.0',
            'NETWORK' => '192.168.0.0',
            'BROADCAST' => '192.168.0.255',
            'MII_NOT_SUPPORTED' => 'yes',
         },
        'eth1' => {
            'DEVICE' => 'eth1',
            'BOOTPROTO' => 'static',
            'ONBOOT' => 'yes',
            'IPADDR' => '192.168.0.11',
            'NETMASK' => '255.255.255.0',
            'NETWORK' => '192.168.0.0',
            'BROADCAST' => '192.168.0.255',
            'MII_NOT_SUPPORTED' => 'yes',
         },
    },
    'network' => {
        'NETWORKING' => 'yes',
        'DHCP' => 'yes',
        'DHCP_CLIENT' => 'dhclient',
        'HOSTNAME' => 'host3.example.com', #FIXME:??
        'DOMAINNAME' => 'example.com',
        'GATEWAY' => '192.168.0.254',
        'GATEWAYDEV' => 'eth1',
        'FORWARD_IPV4' => 'false',
    },
},

  • If this computer is acting as a bridge between the two networks, then you need to change FORWARD_IPV4 to 'true'.

Related Options

security

The security option is used to set the Mageia Linux Security Level.

Syntax

    'security' => 2,

Descriptions

  • security : security level desired, from 0 through 5. During the GUI installation, DrakX allows you to select one of four security levels, the following shows the security level associated with each:
    • 2 : Standard
    • 3 : High
    • 4 : Higher
    • 5 : Paranoid

See the documentation of msec for more information regarding the meaning and effects of the various security level settings.


Examples

  • This example set the security level to standard
    'security' => 2,

Related Options

Note

As of 2013-01-05, this doesn't seem to work correctly with either the number or a string (tried 5 and 'secure' without correct result. Had to modify as a postinstall step). Bruno Cornec feedback.

security_user

The security_user option is used to set the email address where msec (Mageia Security program) will send security notifications when msec detects a potential problem.

Syntax

    'security_user' =>  'jdoe@example.com',

Descriptions

  • security_user : email address where security notifications are to be sent. If you do not want email notification or you do not have a mail server available, then set it to ''.

If you forget, you can always add the email address later to /etc/security/msec/security.conf at the option MAIL_USER=

Examples

  • This example install a simple Mail Transfer Agent (MTA) called ssmtp and have the security notifications emailed to david@eastcott.net.
    'security' => 2,
    'security_user' => 'david@eastcott.net',
    'default_packages' => [
        #        ...,
        ssmtp,
        #        ...,
    ],
    'postInstall' => '
# adjust /etc/ssmtp/ssmtp.conf for my world

perl -pi -e "s/^root=root/root=david@eastcott.net/" /etc/ssmtp/ssmtp.conf

perl -pi -e "s/^mailhub=mail/mailhub=mymail.mycable.net/" /etc/ssmtp/ssmtp.conf

perl -pi -e "s/^hostname=_HOSTNAME_/hostname=dave1.eastcott.net/" /etc/ssmtp/ssmtp.conf

'   

Related Options

services

The services option is used to specify exactly which services are to be started at boot up. This is a tough one to describe since the services that are started at boot up are dependent on what you installed.

Syntax

  • The services option has the following general form:
    'services' => [
        '<name of service>',
        '<name of service>'
    ],

Descriptions

  • services : This is a list of service names (the ones in /etc/rc.d/init.d) which you want automatically started.
    • <name of service> : DrakX determines what services are present in the /etc/rc.d/init.d directory and it runs:
      • chkconfig --add <name of service> for the ones you list, and
      • chkconfig --del ... for those that are installed but you did not list.

You will find an exhaustive list of all the services that are possible in /usr/lib/libDrakX/services.pm. Here is a brief summary of those service, grouped by category :

  • List of Printing services: cups cupslpd lpr lpd oki4daemon hpoj cups-lpd
  • List of Internet services: httpd boa tux roxen ftp pftp tftp proftpd wu-ftpd pure-ftpdipsec proftpd-xinetd iptables ipvsadm isdn4linux ibod jabber jabber-icq adsl squid portsentry prelude nessusd junkbuster radvd cddbp ippl iptoip jail.init
  • List of File sharing services: nfs nfslock smb nettalk netfs mcserv autofs amd venus.init auth2.init codasrv.init update.init swat
  • List of System services: usb usbd pcmcia irda xinetd inetd kudzu harddrake apmd sound network xfs alsa functions halt kheader killall mandrake_everytime mandrake_firstime random rawdevices single keytable syslog crond medusa-init portmap acon anacron atd gpm psacct wine acpid numlock jserver sensors mosix bpowerd bpowerfail fcron powertweak.init ups syslog-ng cvs apcupsd
  • List of Remote Administration: sshd telnetd telnet rsh rlogin rexec webmin cfd heartbeat ldirectord iplog mon vncserver netsaint olympusd drakxtools_http
  • List of Network Client: ypbind nscd arpwatch fetchmail dnrd_rc diald rsync
  • List of Network Server: named bootparamd ntpd xntpd chronyd postfix sendmail
  • List of Database Server: mysql postgresql

NB: Do NOT include mandrake_firstime or mandrake_everytime in your list, they are automatically handled by the scripts /etc/rc.local and /etc/rc.sysinit, respectively.

To get the
'services' => ...
settings included in the generated configuration file (on floppy, in the images, or /root/drakx/auto_inst.cfg.pl), you have to click on the Configure button associated with Configure Services on the Summary screen during the initial GUI installation. Alternately, you can look in the directory /etc/rc.d/rc5.d and create the entry by examining the files listed with “S??<name of service>” where <name of service> also appears in the /etc/rc.d/init.d directory.

Examples

  • A simple example which will activate the syslog, xfs, network, portmap services and deactivate all others.
    'services' => [
        'syslog',
        'xfs',
        'network',
        'portmap'
    ],

Related Options

superuser

The superuser option is used to specify the Super User log in (usually referred to as root). These values are placed in the file /etc/passwd and the group id is placed in the file /etc/group.

Syntax

  • The superuser option has the following general syntax:
    'superuser' => {
        'uid' => '0',
        'gid' => '0',
        'realname' => 'root',
        'pw' => '$1$XHDtOdGw$kBibHl2otqOVEnBIumdgR/',
        'shell' => '/bin/bash',
        'home' => '/root',
        'icon' => 'root'
    }
OR
    'superuser' => {
        'uid' => '0',
        'gid' => '0',
        'realname' => 'root',
        'password' => 'psbcr!',
        'shell' => '/bin/bash',
        'home' => '/root',
        'icon' => 'root'
},

Descriptions

  • uid: user id number (SHOULD ALWAYS be 0)
  • gid: group ID (SHOULD ALWAYS be 0)
  • realname: usually root, but can be anything you want.
  • pw: this is the encrypted form of the password. Its contents are dependent on the authentication used. If using encryption and Shadow, then copy it from /etc/shadow.
  • password: this is the clear text form of the password. Just what ever you want.

NOTE: use either 'pw' or 'password' - but NOT both.

  • shell: the path name and shell program to use when root logs in. This setting is Optional and defaults to /bin/bash if not specified. May be one of:
    • /bin/bash
    • /bin/csh
    • /bin/sh
    • /bin/ksh
  • home: where root's home directory is, usually /root
  • icon: if present, is the filename (but no extension) containing the desired icon. These icons are located in /usr/share/mdk/faces
NB: Setting the
'pw' => undef
will result in an installed system where you can log in as root without a password. Probably not something you really want to do.



Examples

  • Simple example
    'superuser' => {
        'uid' => '0',
        'gid' => '0',
        'realname' => 'root',
        'pw' => '$1$XHDtOdGw$kBibHl2otqOVEnBIumdgR/',
        'shell' => '/bin/bash',
        'home' => '/root',
        'icon' => 'root'
    }

Related Options

timezone

The timezone option is used to set the Time zone for the computer and to indicate if the computers hardware clock is set to UTC (GMT) or not. The file/etc/sysconfig/clock is updated with information from this option.

Syntax

  • The timezone option has the following generic syntax:
    'timezone' => {
        'UTC' => 1,
        'ntp' => 'time-server.eastcott.net',
        'timezone' => 'Canada/Mountain'
    },

Descriptions

  • UTC: how is the hardware clock set. May be on of:
    • 0: means hardware clock is set for the local timezone.
    • 1: means hardware clock is set to GMT.
  • ntp: set to the fully qualified domain name for the time server that you want to access. See http://www.ntp.org for a list of known time servers in your area and, more IMPORTANTLY, the rules governing their access. See also the file /etc/ntp.conf and the directory contents in /etc/ntp.
  • timezone: set to one of the time zone strings for the local time zone. The time zone string can be determined from the directories located in /usr/share/zoneinfo and combining the directory names and filenames. Eg. The sub-directory Canada contains a file Mountain, so the time zone string would be Canada/Mountain.

Examples

    'timezone' => {
        'UTC' => 1,
        'ntp' => 'time-server.eastcott.net',
        'timezone' => 'Canada/Mountain'
    },

Related Options

none

users

The users option is used to add users to the system.

Syntax

    'users' => [
        {
            'name' => 'jdoe1',
            'uid' => '5000',
            'gid' => '5000',
            'realname' => 'john DOE 1',
            'pw' => '$1$XHDtOdGw$kBibHl2otqOVEnBIumdgR/',
            'shell' => '/bin/bash',
            'home' => '/home/jdoe1',
            'icon' => 'ic-bird',
            'groups' => []
        },
        {
            'name' => 'jdoe2',
            'uid' => '5001',
            'gid' => '5001',
            'realname' => 'john DOE 2',
            'password' => 'secret',
            'shell' => '/bin/bash',
            'home' => '/home/jdoe2',
            'icon' => 'ic-bird',
            'groups' => []
        },
    ],

Descriptions

  • name: the log in user name (REQUIRED). DrakX adds an entry to the /etc/passwd file using the value specified here, along with uid, gid, realname, home and shell. See man passwd.
  • uid: user id number (optional). If omitted then the default begins at the value for USER in the file /etc/defaults/useradd and increments for each successive user.
  • gid: group ID number (optional). If omitted then the default begins at the value for GROUP in the file /etc/defaults/useradd and increments for each successive user. DrakX updates the /etc/group file with an entry containing a group name, the same as name above, and the gid specified here or automatically generated.
  • realname: usually the user's full name, but can be anything you want (optional). It can be omitted.
  • pw: this is the encrypted form of the password. Its contents are dependent on the authentication used. If using encryption and Shadow, then copy it from /etc/shadow
  • password: this is the clear text form of the password. Just what ever you want.

'NOTE: use either 'pw' or 'password' - but NOT both.

  • shell: the path name and shell program to use when a user logs in (Optional, defaults to

/bin/bash). If specified, may be one of:

    • /bin/bash
    • /bin/csh
    • /bin/sh
    • /bin/ksh
  • home: where the users home directory is. (Optional, defaults to /home/<name> ).
  • icon: if present, is the filename (no extension) containing the desired icon. These icons are located in /usr/share/mdk/faces
  • groups: if present, is a list of supplemental groups that this user is to be added to. You may specify either numeric gid's or text group names. DrakX will automatically add the user to the groups listed and remove the user from any groups not listed. NOTE: the group name or gid listed must already exist in the /etc/group file. DrakX's default for the text group name is to use the name value. This option works OK if you do not want specific text names for the GID. However, if you do want specific text names, then add the users that you want and modify the /etc/group file manually after the system is started. Alternately, you could use the postInstall option to automate the fix up.

Examples

  • Do not create any user accounts.
    'users' => [], #means do not create any user accounts.
  • An example to illustrate the groups feature:
    'users' => [
        {
            'name' => 'jdoe1',
            'uid' => '5000',
            'gid' => '5000',
            'realname' => 'John DOE 1',
            'pw' => '$1$XHDtOdGw$kBibHl2otqOVEnBIumdgR/',
            'shell' => '/bin/bash',
            'home' => '/home/jdoe1',
            'icon' => 'ic-fish',
            'groups' => [
                'disk',
                '80'
            ],
        },
    ],
  • A simple example to add new groups (no user) and then add a user to the new groups, change and existing group name to a different name:
    'postInstall' => "
# add some groups
groupadd -g 4001 g_special
groupadd -g 4002 g_new_special
usermod -G special,new_special,disk,80 tom
groupmod -n g_david david
"

Related Options

X

The following are a collection of observations, rather than a definitive reference guide, to installing and customizing the X environment for your equipment.

No X

For those of you who are not installing or do not want X, you can one of those solutions:

  • make sure that the 'X' => {...}, is not present in the auto_inst.cfg file. And also, make sure that you do not install any packages which have xorg* as a dependancy.
  • you can use the following and not worry about which packages are installed:
        'X' => { 'disabled' => 1 },
Please note, that even though you may have installed the xorg* packages, window manager packages, and /or X based applications, X will not be configured correctly. So don't forget and type startx at the command prompt !
  • you can also install X packages, then use the postInstall option to change the default run level from 5 to 3 as follows:
   'postInstall' => "
# change run level from 5 to 3
cat /etc/inittab | sed 's/^id:5:init/id:3:init/' > /etc/inittab
mv -f /etc/inittab1 /etc/inittab
"

Default X

If you are installing on a relatively new computer using a newer and supported graphics card, then the install program will probably be able to identify what it needs with only a couple hints.

syntax

    'X' => {
        'resolution_wanted' => '1024x768',
        'default_depth' => '32'
    },

Descriptions

  • resolution_wanted: its very dependent on the type video card that you have installed and the monitor that is used. May be one of this may be one of:
    • 640x480
    • 800x600
    • 1024x768
    • 1152x864
    • 1280x1024
    • 1400x1050
    • 1600x1200
    • 1920x1440
    • 2048x1536
  • default_depth: its very dependent on the type video card that you have installed. May be one of:
    • 8
    • 15
    • 16
    • 24
    • 32

Manual X

Manual configuration of your Card and Monitor values will require that you reference the files:

  • /usr/share/ldetect-lst/Cards+
  • /usr/share/ldetect-lst/MonitorsDB

for some information. And possibly the manufactures documentation too.

If the ddcxinfos command does not work with your video card, or it returns incorrect values, then you can preset or over-ride the basic values as a first step, using the following syntax.

Syntax

    'X' => {
        'resolution_wanted' => '1024x768',
        'default_depth' => '32',
        'card' => {
            'type' => 'ATI Mach64'
        },
        'monitor' => {
            'EISA_ID' => 'aocd556'
        },
    },

Descriptions

  • type: This value is extracted from the /usr/share/ldetect-lst/Cards+ file from the NAME field in the section appropriate to your card.
  • EISA_ID: this value is obtained from the /usr/share/ldetect-lst/MonitorsDB file, <EISA ID> field and all letters must be LOWERCASE.

Anything beyond this and you should really use the Replay Install and add the selection summary

Multi-Head X

For this one you really want to use the Replay Install and add the selection Summary

Examples

Related Options

Make the Auto Install file available

The file can be in a floppy, but for unattended install the most comfortable way is to put it in a network server. Combined with urpmi-proxy, this allows automatic install as fast as hardware is.

HTTP example

Example for an install method http from a web server  :

- copy the auto_inst.cfg.pl file to the web server under eg: /mga/auto/

- add to the append line for a PXE server or with a custom boot.iso :

  automatic=met:http,ser:your_mirror_server,dir:/mageia/distrib/cauldron/i586,netw:dhcp auto_install=http://your_mirror_server/mga/auto/auto_inst.cfg.pl

TFTP example

Example for an install method http from a pxelinux tftp boot  :

- copy the auto_inst.cfg.pl file to /mageia/distrib/cauldron/i586

- add to the append line for a PXE server :

  automatic=met:http,ser:your_mirror_server,dir:/mageia/distrib/cauldron/i586,netw:dhcp auto_install=auto_inst.cfg.pl

Credits

  • This howto was written by David Eastcott. Minor modification was made to it during his "wikification". The original document is still be viewable at DrakX AutoInstall HowTo. Bruno Cornec made some Mageia adaptations during it import here.