2001.01.13 The auto install feature of Linux-Mandrake will simplify your life if: 1. you perform repeated installs on a number of machines 2. multiple installs to the same machine 3. you want to re-install the same package suite after a system failure. 4. you want to upgrade a machine without re-installing everything However, to acheive this simplicity there are a number of things that you really have to know about the computer that you are going to be installing the software on. 1. Geometery of the hard disk(s) that you are installing the OS on. In particular, the number of bytes per sector and the number of sectors per cylinder. 2. The mouse type and how it is connected to the computer. If a Microsoft Bus Mouse, then what IRQ is used. 3. The video card chipset 4. The monitor's capabilities 5. The network card type 98. Authentication to use, language, and some other miscellaneous things 99. And what software packages you want to install Details of the auto_inst.cfg file The contents of the auto_inst.cfg file are actually a Perl Scalar Structure declaration (o) used by the Mandrake install program to set various options and selections. During a manual/graphic install, the various fields are filled in as you make choices from the various screens. With the auto install, all these choices have to be pre selected. See section ... for more. As always, if you want the gory details, look on the CD-ROM in the directory Mandrake/mdkinst/usr/bin/peril-install for the actual perl modules. The following section identifies the structure, the fields and sub-fields that are accepted. The file contains a single declaration of the form: $o = {...}; Within the opening/closing braces are a series of simple and/or compound declarations. Summary of Primary Hash Entries authentication autoExitInstall autoSCSI compssListLevel crypto default_packages intf installClass isUpgrade keyboard lang manualFstab mkbootdisk modem mouse netc nomouseprobe partitioning partitions postinstall printer security superuser timezone users useSupermount wacom X The above list defines the configuration options that can be set directly. There are a number of other options which are derived from these entries, over-ridden by auto-scan/auto-detection features of the Mandrake install program. However, these will not be discussed here. Read the code if you want to know more. 1. authentication 'authentication' => { 'NIS' => undef, 'shadow' => 1, 'md5' => 1 } 2. autoExitInstall This option is used to direct the installation process to automatically exit and re-boot the computer. 'autoExitInstall' => 1 1 - when installation is complete, re-boot the computer automatically. 0 - when installation is complete, prompt the installer to re-boot and wait NOTE: When you do a manual install, the 'auto_inst.cfg.pl' file created in /root has this value set to 1. If you are booting from a floppy, CHANGE it to 0. Otherwise the computer will re-boot, and start the install all over again. 3. autoSCSI 'autoSCSI' => '' 4. compssListLevel This option is an alternate package selection method. It allows you to specify the lowest selection (inclusive) index value associated with packages in the file: Mandrake/base/compssList This option is used together with the option 'installClass' setting to determine which packages are selected for installation. See Section: Anatomy of the 'compssList' File Normally, this option and the 'installClass' option are used together when the 'default_packages' option is not used. Also, this option is ignored if the 'default_packages' option is used. 'compssListLevel' => 80 All packages, of the selected installClass, having a value greater than or equal to the value are installed. Note, some additional packages may also be installed if the desired ones have dependancies that require them. General Grouping of files: 100 => mandatory 90 => must have 80 => important 70 => very nice 60 => nice 50 => interesting 40 => interesting 30 => maybe 20 => maybe 10 => maybe - useless 0 => maybe - garbage -10 => i18n important -20 => i18n very nice -30 => i18n nice NOTE: When using the graphic install, selecting Automated (Beginner) sets the compssListLevel to 25. All others have it set to 1. 5. crypto This option was used to install packages which could not be shipped with the Distribution disk set due to import/export restrictions. 'crypto' => {} 'mirror' - IP address or name of the network source 'packages' - list packages wanted 6. default_packages This option is used to explictly specify which packages are to be installed. It is simply a list of package names (not including the version, build, architecture and filename extension). For an example, see the file 'auto_inst.cfg.pl' that was placed in your /root after a graphic install. 'default_packages' => [ '', '' ] The file 'compssList' should contain the actual package names available (but not always). If you cannot find the name for the package you want installed, then use the following: rpm -qp --queryformat %{NAME} This will give you the name that the install is expecting. NOTE: All packages must be in either the RPMS or RPMS2 directories on the CD's. If you have added one, then see Section: "Creating an Updated Installation CD Set'. 7. intf This option is used to define the various network capable devices in your system. The entries for each interface (uppercase text) appear in a configuration file located in /etc/sysconfig/network-scripts/. The filename is formed by adding the DEVICE string to the end of 'ifcfg-'. In the example below, you would expect to find the file: /etc/sysconfig/network-scripts/ifcfg-eth0. 'intf' => [ { 'isPtp' => '', 'isUp' => 1, 'DEVICE' => 'eth0', 'ONBOOT' => 'yes', 'BOOTPROTO' => 'static', 'BROADCAST' => '192.168.5.255', 'NETMASK' => '255.255.255.0', 'IPADDR' => '192.168.5.210', 'NETWORK' => '192.168.5.0' } ] 'isPtp' - set to 1 if the 'NETWORK' field is set to 255.255.255.255 'isUp' - 0 - if install program was unable to set up the interface - 1 - if install program was able to setup the interface. 'DEVICE' - device name and sequence for its type: eth0, eth1, ppp0 ... 'ONBOOT' - interface to be started at bootup -> 'no' or 'yes' 'BOOTPROTO' - specifies how the IP information for the interface is acquired: 'static' - as specified by the parameters below 'bootp' - obtained from a bootp server 'dhcp' - obtained from a DHCP server For BOOTPROTO == static 'IPADDR' - IP address assigned for this interface 'NETMASK' - Netmask to be used for the IP 'NETWORK' - Network address range that the IP belongs to (IPADDR & NETMASK) 'BROADCAST' - IP address used for broadcast messages NOTE: If you are going to specify DHCP, then it is a good idea to do it for the first interface device (eg. eth0). Seems the startup up scripts for MDK 7.1 do not tell the dhcpcd daemon which interface to use and it defaults to eth0. For a target computer which obtains its network information from a DHCP server, then the following is used: 'intf' => [ { 'isPtp' => '', 'isUp' => 1, 'DEVICE' => 'eth0', 'ONBOOT' => 'yes', 'BOOTPROTO' => 'dhcp' } ] If the target computer has multiple interfaces, then use the following: 'intf' => [ { 'isPtp' => '', 'isUp' => 1, 'DEVICE' => 'eth0', 'ONBOOT' => 'yes', 'BOOTPROTO' => 'static', 'BROADCAST' => '192.168.5.255', 'NETMASK' => '255.255.255.0', 'IPADDR' => '192.168.5.210', 'NETWORK' => '192.168.5.0' }, { 'isPtp' => '', 'isUp' => 1, 'DEVICE' => 'eth1', 'ONBOOT' => 'yes', 'BOOTPROTO' => 'static', 'BROADCAST' => '192.168.6.255', 'NETMASK' => '255.255.255.0', 'IPADDR' => '192.168.6.1', 'NETWORK' => '192.168.6.0' } ] NOTE: Also, make sure the 'netc' option identifies which one id the GATEWAYDEV. NOTE: The 7.1 has a bug in the ifup script that causes incorrect startup if the second interface is uses DHCP (pump and dhcpcd DO NOT use the same cmd line parameters). 8. installClass This option is used as the class selector when the 'compssListLevel' option is being used instead of the 'default_packages' option. It selects which of the package's selection value columns is used. See Section: Anatomy of the 'compssList' File. The default, if absent, is 'normal'. This option is ignored if the 'default_packages' option is used. 'installClass' => 'developer' Selections here may be 'normal', 'developer', 'server', 'corporate' 9. isUpgrade 'isUpgrade' => '' 10. keyboard This option allows you to specify the type of keyboard you are using by specifying one of the country codes. See file Mandrake/mdkinst/usr/bin/perl-install/keyboard.pm declaration for %keyboards which may contain a more up to date list. 'keyboard' => 'us' Possible values: 'am_old' Armenian (old) 'am' Armenian (typewriter) 'am_phonetic' Armenian (phonetic) 'be' Belgian 'bg' Bulgarian 'br' Brazilian (ABNT-2) 'ch_de' Swiss (German layout) 'ch_fr' Swiss (French layout) 'cz' Czech 'de' German 'de_nodeadkeys' German (no dead keys) 'dk' Danish 'dvorak' Dvorak 'ee' Estonian 'es' Spanish 'fi' Finnish 'fr' French 'ge_ru' Georgian (Russian layout) 'ge_la' Georgian (Latin layout) 'gr' Greek 'hu' Hungarian 'hr' Croatian 'il' Israeli 'il_phonetic' Israeli (Phonetic) 'is' Icelandic 'it' Italian 'la' Latin American 'nl' Dutch 'lt' Lithuanian AZERTY (old) 'lt_new' Lithuanian AZERTY (new) 'lt_b' Lithuanian number row QWERTY 'lt_p' Lithuanian phonetic QWERTY 'no' Norwegian 'pl' Polish (qwerty layout) 'pl2' Polish (qwertz layout) 'pt' Portuguese 'qc' Canadian (Quebec) 'ru' Russian 'ru_yawerty' Russian (Yawerty) 'se' Swedish 'si' Slovenian 'sk' Slovakian 'th' Thai keyboard 'tr_f' Turkish (traditional F model) 'tr_q' Turkish (modern Q model) 'ua' Ukrainian 'uk' UK keyboard 'us' US keyboard 'us_intl' US keyboard (international) 'yu' Yugoslavian (latin layout) 11. lang This option allows you to select the language used for text presentations. The default is English US ('en'). See file Mandrake/mdkinst/usr/bin/perl-install/lang.pm declaration for %languages which may contain a more up to date list. 'lang' => 'en' NOTE: Not all languages are supported by all applications. The thrid column, below, is the character set for the language. Possible values: 'en' English (US) iso-8859-1 'en_GB' English (UK) iso-8859-1 'af' Afrikaans iso-8859-1 'ar' Arabic iso-8859-6 'bg' Bulgarian cp1251 'br' Brezhoneg iso-8859-1 'ca' Catalan iso-8859-1 'cs' Czech iso-8859-2 'cy' Cymraeg (Welsh) iso-8859-14 'da' Danish iso-8859-1 'de_AT' German (Austria) iso-8859-1 'de_DE' German (Germany) iso-8859-1 'el' Greek iso-8859-7 'eo' Esperanto iso-8859-3 'es_AR' Spanish (Argentina) iso-8859-1 'es_ES' Spanish (Spain, modern sorting) iso-8859-1 'es@tradicional' Spanish (Spain, traditional sorting) iso-8859-1' 'es_MX' Spanish (Mexico) iso-8859-1 'et' Estonian iso-8859-15 'eu' Euskara (Basque) iso-8859-1 'fi' Suomi (Finnish) iso-8859-1 'fr_CA' French (Canada) iso-8859-1 'fr_FR' French (France) iso-8859-1 'ga' Gaeilge (Irish) iso-8859-14 'gl' Galician iso-8859-1 'he' Hebrew iso-8859-8 'hr' Croatian iso-8859-2 'hu' Hungarian iso-8859-2 'hy' Armenian armscii-8 'id' Indonesian iso-8859-1 'is' Icelandic iso-8859-1 'it' Italian iso-8859-1 'ja' Japanese jisx0208 'ka' Georgian georgian-academy 'kl' Greenlandic (inuit) iso-8859-1 'ko' Korean ksc5601 'lt' Lithuanian iso-8859-13 'lv' Latvian iso-8859-13 'nl' Dutch (Netherlands) iso-8859-1 'no' Norwegian (Bokmaal) iso-8859-1 'no@nynorsk' Norwegian (Nynorsk) iso-8859-1 'pl' Polish iso-8859-2 'pt_BR' Portuguese (Brazil) iso-8859-1 'pt_PT' Portuguese (Portugal) iso-8859-1 'ro' Romanian iso-8859-2 'ru' Russian koi8-r 'sk' Slovak iso-8859-2 'sl' Slovenian iso-8859-2 'sp' Serbian (Cyrillic) iso-8859-5 'sr' Serbian (Latin iso-8859-2 'sv' Swedish iso-8859-1 'th' Thai tis620 'tr' Turkish iso-8859-9 'uk' Ukrainian koi8-u 'vi' Vietnamese (TCVN) tcvn 'vi_VN.viscii' Vietnamese (VISCII) viscii 'wa' Walon iso-8859-1 'zh_TW.Big5' Chinese (Big5) Big5 'zh_CN' Chinese (GuoBiao) gb2312 12. manualFstab This option allows you to add additional entries to the /etc/fstab file on the target computer. The most notable include adding NFS mounts. Other possibilities include other devices which are not detected by the install program, partitions or device which already exist on the target computer and have not been specified in the 'partitioning' option. 'manualFstab' => [ { 'device' => 'linux1:/nfscd/cdrom71', 'mntpoint' => '/mnt/nfs', 'type' => 'nfs', 'options' => 'noauto,ro,nosuid,rsize=8192,wsize=8192' } ] The fields for this option are identical to those you would see in the /etc/fstab file. 'device' - the physical device (eg. /dev/hdd1 or linx1:/nfscd/cdrom71) 'mntpoint' - the file system mount point for the device 'type' - type of file system on the device ( eg. ext2, reiserfs, nfs ) 'options' - mount options for the device/file system being mounted. 13. mkbootdisk This option allows you create boot disk during the install process. Probably not something you want to do while doing an auto installation. 'mkbootdisk' => '' '0' or '' - no boot disk '1' - create boot disk on fd0 'fd1' - create boot disk on device fd1 ???? 14. modem 'modem' => { 'intf' => 'ppp0', 'device' => 'ttyS0', 'isUp' => 1, 'connection' => 'DialupConnection', 'phone' => '2796166', 'login' => 'mylogin', 'passwd' => 'mypasswd', 'auth' => 'Terminal-based', 'domain' => 'eastcott.net', 'dns1' => '192.168.5.254', 'dns2' => '192.168.5.253' } 15. mouse This option is used to define the Mouse that is attached to the target computer. Use this option ONLY if you know the required information. By using this option, the Install Program is inhibited from performing a 'Mouse Probe' in an attempt to automatically identify the type of mouse available. NOTE: If you are using an old MicroSoft Bus Mouse, you MUST use this option. 'mouse' => { 'device' => 'inportbm', 'MOUSETYPE' => 'Busmouse', 'XMOUSETYPE' => 'BusMouse', 'FULLNAME' => 'Microsoft Bus Mouse', 'WHEEL' => undef, 'XEMU3' => '1' } The following is an example for a PS/2 nonwheel mouse: 'mouse' => { 'device' => 'psaux', 'XEMU3' => 'yes', 'XMOUSETYPE' => 'PS/2', 'MOUSETYPE' => 'ps/2', 'FULLNAME' => 'Generic Mouse (PS/2)', 'WHEEL' => undef, 'nbuttons' => 2 } The following is an example for a serial mouse: 'mouse' => { 'device' => 'ttyS1', 'XEMU3' => 'yes', 'MOUSETYPE' => 'Microsoft', 'XMOUSETYPE' => 'Microsoft', 'FULLNAME' => 'Generic Mouse (serial)', 'WHEEL' => undef, 'nbuttons' => 2 }, The following is an example for a Microsoft Wheel mouse: 'mouse' => { 'device' => 'psaux', 'XEMU3' => undef, 'MOUSETYPE' => 'imps2', 'XMOUSETYPE' => 'IMPS/2', 'FULLNAME' => 'Microsoft IntelliMouse (PS/2)', 'WHEEL' => 'yes', 'nbuttons' => 5 }, NOTE: Information from here is used to update the files /etc/sysconfig/mouse and /etc/X11/XF86Config Mouse section. 16. netc This option contains values used to configure the network on the target computer. The majority of these values are placed in the file: /etc/sysconfig/network. The dnsServer? are placed in the file /etc/resolv.conf. The following is an example for a target computer which uses static IPs and has a single interface 'netc' => { 'NETWORKING' => 'yes', 'FORWARD_IPV4' => 'false', 'HOSTNAME' => 'linux-dev.eastcott.net', 'DOMAINNAME' => 'eastcott.net', 'GATEWAY' => '192.168.5.254', 'dnsServer' => '192.168.5.254' } 'NETWORKING' - 'yes' or 'no' if this machine is network connected. 'FORWARD_IPV4' - 'true' or 'false' if IP forwarding between interfaces is required 'HOSTNAME' - fully qualified host name for the target computer 'DOMAINNAME' - domain for the target computer 'GATEWAY' - IP address for the machine that processes all non-local IP messages 'GATWAYDEV' - device name for device that is used to access the gateway machine 'dnsServer' - IP addresses for DNS server, up to three may be specified. 'dnsServer2' 'dnsServer3' 'NISDOMAIN' - if NIS authentication is used, then ... If the target computer has more than 1 interface, then the following example is more correct: 'netc' => { 'NETWORKING' => 'yes', 'FORWARD_IPV4' => 'true', 'HOSTNAME' => 'linux-dev.eastcott.net', 'DOMAINNAME' => 'eastcott.net', 'GATEWAY' => '192.168.5.254', 'GATEWAYDEV' => 'eth0', 'dnsServer' => '192.168.5.254' } NOTE: In 7.1, you may have to manually edit the file /etc/sysconfig/network to set the correct GATEWAY and GATEWAYDEV. If the target computer has a single interface or, it has multiple interfaces and one of then is used to obtain the network information from a DHCP server, then the following should be used: 'netc' => { 'NETWORKING' => 'yes', 'FORWARD_IPV4' => 'false', 'HOSTNAME' => 'linux-dev.eastcott.net', 'DOMAINNAME' => 'eastcott.net' } NOTE: In 7.1, you will have to manually edit the file /etc/sysconfig/network to remove the lines GATEWAY and GATEWAYDEV 17. nomouseprobe This 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. OR, you have modems, UPS, etc. attached to your serial ports. If you don't use this option, then they may be adversely affected. You MUST then use the 'mouse' option to define your mouse. 'nomouseprobe' => 1 18. partitioning This option instructs the installation how, if any, to partition the hard disk drive. 'partitioning' => { 'clearall' => 0, 'eraseBadPartitions' => '0', 'auto_allocate' => 1 } 'clearall' - set to 1 if the disk's existing partition is to be cleared and the new partition sizes internally defined by auto allocation routine or by external defined 'partitions' is to be used. 'eraseBadPartitions' - set to '1' if any unidentified existing partitions are to be erased. 'auto_allocate' - set to 1 if disk partitions are to be defined by 'partitions' Usage Note: If you are using a disk with partitions that you want to change their size, don't care about, or are unknown or you want to force their creation, then set all three to their 1 values. If you want to re-use the existing partitions, then set them all to their 0 value. AND add all the mounting information to the 'manualFstab' If you want the install program to auto-allocate the partitions, then set the values all to 1, and remove the 'partitions' definitions. 19. partitions This option is used in conjunction with 'auto_allocate' => 1, to define the partitions that are to be created. If 'auto_allocate' is 0, then this definition is ignored???? 'partitions' => [ { 'mntpoint' => '/boot', 'type' => 131, 'size' => 64449, 'hd' => 'hda' }, { 'mntpoint' => 'swap', 'type' => 130, 'size' => 524097, 'hd' => 'hda' }, { 'mntpoint' => '/', 'type' => 387, 'size' => 573344, 'ratio' => 100, 'maxsize' => 5750000 'hd' => 'hda' } ] 'mntpoint' - the directory where the partition will be mounted. 'type' - filesystem type for the partition. 131 (0x83) is ext2, 130 (0x82) is swap', 387 (0x183) is reiserfs. Use: sfdisk -T | less to see other hex values. '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 cylindar 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 Mb. '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 for the disk drive. eg. hda or sdb NOTE: 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. 20. postinstall This option provides the installer with a simple method for performing post installation activities on the installed system. The install script is executed as root on the target computer with the environment set to that of the target computer. 'postInstall' => <<'EOF' echo "This is a test string" > /root/test.log EOF The above says: execute all commands, as though they were typed from the command line, beginning with the next line until the string 'EOF' is encountered on a line by itself. This feature is executed immediately following the Install Packages step. Consequently, its usefulness is severely limited because there are a substational number other activitites that the Install program executes prior to completing the installation. If this option were executed as the very last action, the SysAdmin would have a VERY powerful installation adjustment capability. The following is a more elaborate example: 'postInstall' => <<'EOF' # only if the NTP package is installed if [ -f /etc/ntp/sample.conf.client ]; then cp -f /etc/ntp/sample.conf.client /etc/ntp.conf cat < /etc/ntp/step-tickers time-server.eastcott.net EOF1 fi # fix bug for SSH and X11forwarding problem cat /etc/skel/.bashrc | sed 's/export XAUTHORITY/[ -z $XAUTHORITY ] \&\& export XAUTHORITY/' > /tmp/bashrc.$$ chmod 644 /tmp/bashrc.$$ mv -f /tmp/bashrc.$$ /etc/skel/.bashrc # clean up bug for Netscape cat <> /etc/skel/.bash_profile # clean up old cache files, since Netscape doesn't [ -d ~/.netscape ] && rm -rf ~/.netscape/cache/* EOF2 EOF 21. printer 'printer' => { 'SMBHOST' => '', 'NCPUSER' => '', 'SMBUSER' => '', 'QUEUE' => 'lp', 'configured' => {}, 'NCPQUEUE' => '', 'CRLF' => undef, 'REMOTEHOST' => '', 'RTLFTMAR' => 18, 'SPOOLDIR' => '/var/spool/lpd/lp', 'ASCII_TO_PS' => undef, 'DEVICE' => '/dev/lp0', 'REMOTEQUEUE' => '', 'SMBWORKGROUP' => '', 'NUP' => 1, 'PAPERSIZE' => 'letter', 'NCPPASSWD' => '', 'SMBPASSWD' => '', 'SMBSHARE' => '', 'TOPBOTMAR' => 18, 'DBENTRY' => 'PostScript', 'complete' => '0', 'SMBHOSTIP' => '', 'str_type' => 'Local printer', 'want' => '0', 'AUTOSENDEOF' => 1, 'NCPHOST' => '' } 22. security This option is used to set the Mandrake Security Level. 'security' => 3 The value range is from 0 through 5 23. superuser This option is to set the Super User login. These values are placed in the file /etc/passwd and the group id is placed in the file /etrc/group. 'superuser' => { 'name' => 'root', 'uid' => '0', 'gid' => '0', 'realname' => 'root', 'pw' => '$1$XHDtOdGw$kBibHl2otqOVEnBIumdgR/', 'password' => 'psbcr!', 'shell' => '/bin/bash', 'home' => '/root' } 'name' - the login user name '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 passwd. Its contents are dependant on the authentication used. If using MD5 and Shadow, then copy it from /etc/shadow'. 'password' - this is the clear text form of the password. Just what ever you want. 'shell' - the pathname and shell program to use when root logs in. 'home' - where root's home directory is. NOTE: use either 'pw' or 'password' - NOT both. 24. timezone This option is used to set the Timezone for the computer and to indicate if the computers hardware clock is set to UTC (GMT) or not. 'timezone' => { 'timezone' => 'Canada/Mountain', 'UTC' => 1 } 'UTC' - 0 means the hardware clock is set for the local timezone. 1 means the clock is set to GMT. 'timezone' - set to one of the time zone strings for the local time zone The timezone string can be determined from the directories located in /usr/share/zoneinfo and combining the directory names and filenames. eg. The directory Canada contains a file Mountain, so the timezone string would be 'Canada/Mountain'. NOTE: The file /etc/sysconfig/clock is updated with information from this option. 25. users This option is used to add users to the system. It work OK if you do not want specific text names for the GID. The installer defaults the group name to the same as the user name. If you want specific names, then DO not use this feature. Add them manually after the system is started. 'users' => [ { 'name' => 'tom', 'uid' => '0', 'gid' => '0', 'realname' => 'Tomas Wild', 'pw' => '$1$XHDtOdGw$kBibHl2otqOVEnBIumdgR/', 'password' => 'psbcr!', 'shell' => '/bin/bash', 'home' => '/home/tom', 'icon' => 'woman-blond' } ] 'name' - the login user name '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 passwd. Its contents are dependant on the authentication used. If using MD5 and Shadow, then copy it from /etc/shadow'. 'password' - this is the clear text form of the password. Just what ever you want. 'shell' - the pathname and shell program to use when root logs in. 'home' - where root's home directory is. 'icon' - if present, is the partial- filename containing the desired icon These icons are located: /usr/share/icons the name used for the icon is derived by removing the 'user-' from front and the '-mdk.xpm' from the end of the actual icon's filename (eg. user-woman-blond-mdk.xpm -> woman-blond ) NOTE: use either 'pw' or 'password' - NOT both. 26. useSupermount This option is used to enable, or not, the use of Supermount. 'useSupermount' => '', Set to '1' to enable its use or, '' or '0' to disable. 27. wacom This option is used for Tablet devices (WACOM) 'wacom' => 'ttyS0' This option is set to either undef if there is no tablet or, the device that the tablet is attached to (eg. ttyS0). 28. X Welcome to HELL. 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 as follows: 'X' => { 'resolution_wanted' => '1024x768', 'default_depth' => '32' } However, you may have to get a bit more elaborate as follows: 'X' => { 'card' => { 'type' => 'Trident 8900D (generic)' }, 'resolution_wanted' => '1024x768', 'default_depth' => '8', 'monitor' => { 'vsyncrange' => '50-90', 'hsyncrange' => '31.5-57.0', 'vendor' => 'Unknown', 'manual' => 1, 'modelines' => '', 'size' => '', 'type' => 'Generic|High Frequency SVGA, 1024x768 at 70Hz', 'model' => 'Unknown' } } The card type is the exact string obtained from the CD-ROM file: Mandrake/mdkinst/usr/X11R6/lib/CardsNames use the string on the right side of the '=>' The monitor information is obtained from the CD-ROM file: Mandrake/mdkinst/usr/X11R6/lib/MonitorsDB Manufacturer -> 'vendor' Monitor Name -> 'model' Eisa ID -> 'type' horiz sync in Khz -> 'hsyncrange' verc sync in Khz -> 'vsyncrange' 'manual' ???? 'modelines' ???? Or you can use the above example if your monitor is capable. Or look in the file /etc/X11/XF86Config on a system with that monitor, in the Monitor section: Section "Monitor" Identifier "Generic|High Frequency SVGA, 1024x768 at 70 Hz" VendorName "Unknown" ModelName "Unknown" NOTE: If you get all the way through the install, then the installer aborts on the X setup, you can always start the system and use the 'setuptool', select XFdrake and do the configuration there. Antatomy of the 'compss' File This file is used during the Grahic install when you are Selecting Individual packages. If a package is present in either of the RPMS or RPMS2 directories, but not present in this list, you will not be able to select it. Basically, the packages are organised alphabetically by their GROUP, then alphabeticall by package under their GROUP heading. Each package is assiged to a GROUP by the contents of the associated '.spec' file in their respective SRPMs. With Mandrake 7.1, you will have to update this file manually if a package is added which is not already listed. Eith Mandrake 7.2, this file is created automatically when the CD-ROM is generated. Anatomy of the 'compssList' File This file is used during the Installation process to assist a user will selecting which packages to install. Depending on the class of installation (Normal, Developer or Server) certain packages will be selected by default. There are other qualifiers, but the main intents seems to provide a 3D method for selection of packages to install This file contains the package name for every package that Linux-Mandrake distribution provides on the Install and Extension CDs. It also appears to contain some of the Commercial packages as well. In general, the file contains 4 columns, package name, Normal Index, Server Index and Developer Index as illustrated below: normal server developer AfterStep 22 0 53 AfterStep-APPS 22 0 35 BasiliskII 35 0 10 BasiliskII-sheepnet 33 0 8 The package name column contains the name of the RPM package (without the version, build architecture and file type). Each of the three index columns contain values which provide an indication of the packages relative importance to the type of installation being performed. The following summary was extracted from the 'pkgs.pm' file contained on the Installation CD in Mandrake/mdkinst/usr/bin/perl-install/ : 100 => mandatory 90 => must have 80 => important 70 => very nice 60 => nice 50 => interesting 40 => interesting 30 => maybe 20 => maybe 10 => maybe - useless 0 => maybe - garbage -10 => i18n important -20 => i18n very nice -30 => i18n nice For those using the Auto Installation method of installing packages, these relative weights and in which column (class) are significant when determining what will be installed when the 'compssListLevel' and 'installClass' options are used. They have no significance when the 'default_packages' option is used to explictly specify the packages to install. Creating an Updated Installation CD Set