Auto Install
for
Mandrake Linux
9.0.1
Table of Contents
Copyrights, Trademarks, Credits
Contents of the Install Diskette
Anatomy of the 'syslinux.cfg' File
Anatomy of the 'auto_inst.cfg' File
postInstall and postInstallNonRooted
The 'auto_inst.cfg' File Location
Scratch Built Auto Install Diskette
Things to know before starting
Creating the Basic Auto Install Diskette
Creating an Updated Installation CD Set
Advanced and Less Error Prone Approaches
Alternate for Creating the Initial Image
Alternate for Creating an Updated CD Set
Setting up a Simple NFS Server
Network and Connection Examples
Single Interface Connections to a LAN or Internet
The Mandrake Linux Distribution provides a facility, DrakX, which allows for the automated installation on to computers that you use or manage.
The DrakX graphic installer has the capability of being used in the both interactive and automated modes. This document deals specifically with it's automated capability.
Automated Installation is intended for situations where the same 'Install' set is to be placed on multiple computers. This can be a substantial time saver for anyone. More importantly, the automation means that you do not have to sit in front of each computer filling in the blanks, picking this and that and hoping that you remember the selections you chose the previous time.
As a side benefit, it can be used as an emergency backup to re-install the same packages and basic configuration data on a computer that failed, lost everything and your normal back-ups can not be used to restore the computer.
I am sure that there are more reasons to use the automated features, but that's your experiment. Me, I was just tired of having to remember what I installed the last time. Also, this document provides me with the opportunity to give back to the Linux community something in kind.
The following sections will provide an overview of the process, details regarding the Install disks and the configuration files which drive the installation process.
Copyright © 2002 by David Eastcott.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
Trademarks are the property of their respective owners.
Credits: The Staff at MandrakeSoft for providing this capability.
This document is based on the original DrakX documents provided by MandrakeSoft.
Special thanks to Pixel and Guillaume Cottenceau at MandrakeSoft for the suggestions, corrections, insight and patience.
This document has been revised to conform with the capabilities of the 9.0 release.
You can find this document on the Mandrake Linux web site at:
http://www.linux-mandrake.com/drakx (then look for the 'kickstart' link)
or:
For current HTML and PDF versions as I generate them or, for older versions and my small collection of related stuff you can visit:
http://members.shaw.ca/mandrake/
If you find an error or some feature I missed you can contact me by email at david@eastcott.net
|
9.0.1 |
2002-09-08 |
Adjust examples to reflect 9.0 changes. Modified: bootloader - revert rename of 'entires', it still renames the new ones as old_..., keyboard - added GRP_TOGGLE, services - added dm to System list. |
|
9.0.0 |
2002-08-18 |
Initial adjustments for 9.0; syslinux.cfg uses parameter aliases by default; authentication: winbind added for PDC support, bootloader: quiet option is default and the 'linux' section name is used to engage bootsplash graphic startup and the rename of 'entries' has changed, excludedocs: added note, keyboard: structure has changed with new keywords, manualFstab: smbfs declarations with user and password behaviour changed, miscellaneous: CLEAN_TMP deleted, netc: WINDOMAIN added, nomouseprobe: removed reference to kudzu, partitions: support for RAID and LVM added, postInstall/PostInstallNonRooted: corrected syntax, services: now output to the auto_inst.cfg file, users: icon names have changed, ; and of course the usual corrections and cleanups in other areas of the document. |
|
|
|
|
Installation of the Mandrake Linux distribution on a computer(s) depends on a number of things:
* Environment; is the computer connected to a network, are you trying to use the computer for more than one Operating System (Multi-Boot),
* Equipment; does the computer contain conventional hardware, or are there special considerations such as USB or PCMCIA devices
* Preferences; what works best for you or your situation,
MandrakeSoft has gone to great lengths to simplify the installation process of their distribution on a large variety of computers, yet provide you a choice of approaches.
The Mandrake Linux distribution provides support for three primary installation methods (sources):
|
via CD-ROM |
|
via Hard Disk with Linux, Windows or ReiserFS filesystems |
|
via Network based Services such as NFS, FTP or HTTP |
In addition, there are a few variations that provide support for specific equipment:
|
via PCMCIA devices |
|
via USB network and CD-ROM/RW devices |
|
via Other (Non-standard hardware) |
And finally, if none of the above work with your hardware, there are a series of Alternatives which utilize different kernel versions for each of the above.
If you have time, read the file on the first Installation CD called INSTALL.txt and the one in the images directory called README for a bit more detail.
CD-ROM based installation is portable. With a floppy diskette and the CD-ROM set, you can install the distribution, anywhere, on any computer that has a CD-ROM drive and a floppy disk drive.
Hard Disk based installation is more for those of you which have multiple disk drives installed in the target computer, one to hold the distribution file set and a second which will contain the installed system. This would most likely be used in situations where the computer dual boots Linux and other OS's. It is not very portable, but it does afford one the ability to install Linux without disturbing the existing OS.
Network based installation is where the flexibility of the Automated Installation process really shines. One computer holds the distribution file set, all the other computers only require network based access to the file set. Now I can just carry a single disk about, insert it in the desired computer, push reset and go for coffee.
With the three options, NFS, FTP and HTTP, you can actually install files from one computer to another, anywhere in the world. However, there are performance and reliability issues which you will have to be prepared to deal with when accessing servers outside your own local world.
There are three installation modes which may be employed for each of the methods:
|
Manual |
- |
this mode is where you select every thing interactively. Most people use this method when they are installing the distribution on their personal workstation computer. |
|
Fully Automated |
- |
this mode is where all selections are predetermined, the installation process is controlled, without manual intervention, by the contents of a simple configuration file and, progress is indicated by simple text messages. It is ideally suited for installations on identical computers. Although creative individuals using the 'postInstall' features can overcome most obstacles. |
|
Replay |
- |
this mode is very similar to the fully automated mode, except that progress is indicated via a graphical presentation and, the configuration file provides you with the ability to manually intervene during certain steps. You will love this one for situations where the computers are virtually identical, but you would normally have created a custom install disk to deal with certain hardware peculiarities or, you have a need to perform customization with each installation. |
As I indicated earlier, you are going to have to make some choices that fit your situation and environment. The beauty of all these Choices is that you are not stuck doing it one way....
The simplest approach is to perform a Manual Install, then generate the desired Auto Install diskette. However, before you get started, please check the Errata page on the Mandrake web site (www.linux-mandrake.com) since there may be information there that applies to your equipment. The following are a brief set of steps to get you started.
1. decide if you are going to perform a CD-ROM, Hard Disk or Network based install. If you are going to do a CD-ROM install, then skip the next step.
2. copy the contents of all three CD-ROMs, or obtain the file set via ftp and:
a) For a Hard Disk, make sure that the Mandrake Linux file set is present on one of the computers hard disks (partitions). Remember to retain the CD's directory hierarchy.
b) For network services, make sure the Mandrake Linux file set is accessible on the server you want to use. (see section Setting up a Simple NFS Server). Remember to retain the CD's directory hierarchy.
3. Create a boot floppy disk using the appropriate image file:
|
images/cdrom.img for CD-ROM based install (only if your computer can not boot from CD-ROM). |
|
images/hd.img for Hard Disk based install |
|
images/network.img for Network Services based install |
See the images/README document for instructions on how to create the diskette. Also you will find additional / alternate images to use which may resolve situations for your particular equipment setup.
4. Boot the computer and perform the installation manually.
5. JUST before re-booting, select 'Advanced', then select 'Generate an auto install floppy', then pick either 'Replay' or 'Automated'. This will create the needed diskette containing all the basic files you will need for the next installation.
6. Review the contents of the diskette and adjust as necessary before using. See the remainder of this document.
7. Install any where, any time and as often as you like, or until the coffee runs out.
There are a number of different and innovative approaches that you could use rather than the simplistic one above, but then that your job, eh? However, for those of you who are a bit braver or, just want to do it your self then you should see the section Scratch Built Auto Install Diskette for a basic approach.
For those of you who were so excited about installing and test driving the new Mandrake Linux release that you forgot to 'Generate an auto install floppy', no problem. Mandrake Linux has a tool available, as part of the drakconf program (Mandrake Control Center), that will allow you to generate an Auto Install disk at any time after the initial installation, see the section Replay Install for details.
After completing the 'Generate an auto install floppy' step, you should have a diskette containing the following files:
advanced.msg
This file contains some text that describes a number of advanced options. You could customize this.
auto_inst.cfg
This file contains your selections. See the section Anatomy of the 'auto_inst.cfg' File for details. In case you were wondering, you will also find this file in the /root/drakx directory with the name auto_inst.cfg.pl.
boot.msg
This file contains a graphic image that appears as soon as you boot from the diskette. You could customize this.
help.msg
This file contains some text regarding the start up options and keys, which you can customize too. It is optional and may not be present on your generated diskette (space limitations).
ldlinux.sys
This is what booted (boot loader). Don't mess with it.
cdrom.rdz or hd.rdz or network.rdz
The file name is dependent on the Method you used to perform the manual install. It contains stage 1 of DrakX and other things which are needed for the automated install.
syslinux.cfg
This file contains information that controls the operation of the 'ldlinux' boot loader. You may have to modify this. See the section Anatomy of the 'syslinux.cfg' File for details.
vmlinuz
This is the compressed Linux kernel image file. Don't mess with this one either.
The contents of the two files, syslinux.cfg and auto_inst.cfg, are what the bulk of this document is about, so with out further a due....
SYSLINUX is a light weight boot loader used to start Stage 1 of the Mandrake Linux installation. The file, 'syslinux.cfg', is used to specify what the boot loader is suppose to do and what options, if any, are available to an installer (you) at boot time. In addition, SYSLINUX passes parameters to the linux kernel when it loads and starts the kernel; a few of the parameters are used by the kernel and some are passed on to the Stage 1 program. Some of these parameters are specific to an installation method (as is the initial ram disk contained on the floppy).
Consequently, the Auto Install diskette that you created (at the end of your initial installation or from the Mandrake Control Center on a running system) is set up to match the installation method that was originally used. If you are planning to install multiple computers the same way, then you are all set.
However, if you intend to change the installation method, you will have to create your own Auto Install diskette (see the section Scratch Built Auto Install Diskette). The reason for this is due to the flexibility needed to support a variety of installation methods and options. You just can not get it all on one diskette. This is not as bad as you may think, since the most important file, 'auto_inst.cfg', is independent of the installation method.
The following are going review the contents of the 'syslinux.cfg' file as used by MandrakeSoft. For an in depth description of the capabilities of SYSLINUX see the web site: http://syslinux.zytor.com.
The contents of the 'syslinux.cfg' file are a set of directives which control the actions of the boot loader. These directives can be divided into two groups; global directives and section specific directives. The global ones control the operation of the boot loader, whereas the section directives are only effective when the installer (you) selects them (selection is accomplished by typing the name of the sections' label in response to the boot prompt).
The following is a fragment extracted from a 'syslinux.cfg' file used with a Network Services:NFS install.
|
default linux |
|
prompt 1 |
|
timeout 50 |
|
display boot.msg |
|
F1 help.msg |
|
F2 advanced.msg |
|
F3 boot.msg |
|
label linux |
|
kernel vmlinuz |
|
append kickstart=floppy automatic=method:nfs, |
|
server:fileserver,directory:/mnt/mass/Mandrake/mandrake/9.0, |
|
network:static,ip:192.168.5.202,netmask:255.255.255.0, |
|
gateway:192.168.5.253,dns:192.168.5.253, |
|
ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=788 |
NOTE: All the text starting with 'append' through '788' are on ONE line.
The global directives usually occur at the beginning of the file and specify things like which section is selected by default, how long to wait for the installer to enter a section label, etc.
The section specific directives are identified by a line containing label <name> and followed by two lines which specify the kernel image to load and, what parameters (append) to pass to the kernel (and the Stage 1 program). The <name> parameter is the value that an installer would type in at the boot prompt to select a specific section other than the default one.
The following details the purpose of the directives that you can use in the 'syslinux.cfg' file. You should check out the Syslinux web page for more information regarding its capabilities and the options that are available to you. MandrakeSoft only uses a subset because they are generating "general purpose" files. You, on the other hand, are not as limited. Besides, if you want flashy color or graphics then you will find the pertinent information there.
The Global Directives are not method or mode specific, rather they affect all methods/modes the same.
default linux - if the user presses ENTER or the optional timeout expires, this tells the loader to locate the section label linux and begin booting the kernel as defined by the lines after the label.
prompt 1 - this tells the loader to prompt the user to enter an alternate label rather than just using the default one. You can have several different boot scenarios in this file, which is the reason that the generated file has so much in it. This parameter is optional, removing it means the installer will not have the ability to select an alternate boot section.
timeout 50 - this tells the loader to give the user 5 seconds to begin entering another label before using the default one and continuing on with the boot/install process. This parameter is optional and is not necessary if prompt is not used.
display boot.msg - this tells the loader to display the contents of the specified file before presenting a prompt. This is optional, but it may be a good idea to remind the installer what is being installed.
F1 help.msg - if the user presses the F1 key, then display the specified file's contents. This parameter and associated file are optional.
F2 advanced.msg - if the user presses the F2 key, then display the specified file's contents. This parameter and associated file are optional.
F3 boot.msg - if the user presses the F3 key, then display the specified file's contents. This parameter and associated file are optional.
label linux - this names a section that defines specific information that the loader uses for booting Stage 1 of the installation process. The value associated with any section label can be typed by the user at the prompt to instruct the loader to find the specific section, rather than use the one named by the default directive.
Section directives are preceded with the label directive. In this case, a section contains a kernel and an append directive (see the section Advanced Features for special options).
kernel vmlinuz - this is the name of the file containing the compressed kernel image to load and start.
append=... - this is a list of space separated parameters passed to the kernel when the loader starts it.
If you look in the file that was generated, you will find a number of sections (choices) that an installer could select. Each has a different effect or purpose which the following table briefly describes:
|
vgalo, vgahi, vga16 |
Are just different resolutions for graphic installs |
|
text |
Is a text based install |
|
expert |
Has the advantage of disabling Automatic Hardware Detection |
|
rescue |
Allows you to repair an already installed system using the CD-ROM. |
|
patch |
Allows you to install a patch from a floppy diskette. |
NOTE: You are going to get caught with this one so I will tell you now; the kernel will only pass a maximum of 256 characters from the 'append' line through to the Stage 1 installer, so be careful.
DrakX supports a substantial number of parameters that can be used to control its operation. This document will describe just the ones that affect the Automated Install.
The following are common and not related to a specific method or mode:
kickstart=floppy - required, do not change. This actually causes the installer to look on the floppy diskette for the 'auto_inst.cfg' file.
An interesting tidbit; if you omit this option and set the automatic= option, you can do GUI based installs without having to enter the method information each time. Of course the auto_inst.cfg file, if present, is ignored.
ramdisk_size=32000 - required, do not change.
root=/dev/ram3 - required, do not change.
vga=788 - required, can be changed. Generally, this parameter affects the GUI installation, but it does have interesting effects when used in the Automated install. If you want details, then check out the kernel documents: Documentation/svga.txt and Documentation/i386/boot.txt
|
text |
80x25 text |
|
vga16 |
80x25 text, 640 x 480 GUI |
|
785 |
80x30 text, 640 x 480 GUI (frame buffer) |
|
788 |
100x37 text, 800 x 600 GUI (frame buffer) |
|
791 |
130x48 text, 1024 x 768 GUI (frame buffer) |
|
794 |
158x64 text, 1280 x 1024 GUI (frame buffer) |
Others you can play with:
|
0x0f01 |
80x50 text |
|
0x0f02 |
80x43 text |
|
0x0f03 |
80x28 text |
|
0x0f05 |
80x30 text |
|
0x0f06 |
80x34 text |
|
0x0f07 |
80x60 text |
|
0x0122 |
100x30 text |
|
Ask |
prompt for desired video characteristics to use. You can use this to determine the selections actually available for your video card. |
initrd=network.rdz - required, changes based on the type of method being used:
|
cdrom.rdz |
for CD-ROM |
|
hd.rdz |
for Hard Disk |
|
network.rdz |
for Network Services |
|
usb.rdz |
for Network Services or CD-ROM/RW accessed via a USB device |
|
pcmcia.rdz |
for PCMCIA devices |
The 'automatic' parameter is used to select the install method type (cdrom, disk, nfs, ftp or http) and to specify additional parameters as necessary. Any additional parameters are appended after the method type, with each being separated by a COMMA (,) rather than a SPACE. It uses the following general form:
automatic=method:<type>,<parameter>:<value>,
The following are a summary of the method parameters grouped by method type along with any special notes. The additional parameters are simply concatenated together to form a single comma separated string.
automatic=method:cdrom,
NOTE: for those of you that are using CD-ROMs as the source media, the option interactive (see the section Anatomy of the 'auto_inst.cfg' File) is especially pertinent to package installation from more than the first CD.
domain:eastcott.net, - allows you to preset the domain name for the computer.
hostname:linux1, - allows you to set the host name for the computer.
automatic=method:disk,
directory:Mandrake/mandrake/9.0, - root directory where the files are found or, it may also specify the location and name of an ISO image (this image must be the 'first' CD's ISO image).
NOTE: If you specify an ISO file name, then you will be limited to installing ONLY those packages which are available in that ISO image. You will not be able to install packages from the other ISO images which form the complete set.
disk:hda, - disk drive containing the directory or ISO image.
domain:eastcott.net, - allows you to preset the domain name for the computer.
hostname:linux1, - allows you to set the host name for the computer.
partition:hda6, - partition name of specified disk drive containing the directory or ISO image.
automatic=method:nfs,
interface:eth1, - specifies the ethernet interface to use (eg. eth0, eth5, etc.). It is only required when there is more than 1 ethernet interface. This feature can only be used if DrakX can auto detect ALL the ethernet cards.
The trick when installing with multiple network card is convincing the computer that the ethX you specify is the same one it thinks is ethX. If you do not use the interface parameter, DrakX will ask you which one you want and then it will prompt you for the relevant information based on your specified method.
server:fileserver, - machine where the installable files are located, can be an IP or a host.domain (or host).
directory:/mnt/mass/Mandrake/mandrake/9.0, - root directory where the files are found.
network:static, - means you are going to specify the necessary IP information;
ip:192.168.5.202, - what is it for this machine.
netmask:255.255.255.0, - what is it's netmask. This is optional and is only required if you are using a non-standard netmask.
gateway:192.168.5.253, - what is the gateway's IP. This is optional and should only be included if the specified fileserver is not located on the same subnet.
dns:192.168.5.253, - what is the IP for the DNS server. Up to three DNS servers can be specified, each IP is separated by a comma. This is optional and should not be included if you do not have or use a DNS server. If it is not included, then the server: option must contain an IP address instead of a name.
or
network:dhcp, - means the IP, netmask, gateway and dns parameters are provided by the dhcp server. Depending on how the dhcp and DNS servers are configured, the host name and domain name may also be supplied.
or
network:adsl, - means the IP, netmask, gateway and dns parameters are provided by the ADSL service provider when you connect.
adsluser:my_adsl_name, - user name, as required, to login to your ADSL service provider.
adslpass:my_password, - password, as required, to login to your ADSL service provider.
NOTE: If you have selected network:adsl, be aware that ONLY the PPPoE protocol is currently supported.
domain:eastcott.net, - optionally allows you to preset the domain name for the computer. This parameter is only required if the stage 1 installer can not obtain the domain name from your DNS Server for the IP address that you specified.
hostname:linux1, - optionally allows you to set the host name for the computer. This parameter is only required if the stage 1 installer can not obtain the host name from your DNS Server for the IP address that you specified.
automatic=method:ftp,
interface:eth1, - specifies the ethernet interface to use (eg. eth0, eth5, etc.). It is only required when there is more than 1 ethernet interface. This feature can only be used if DrakX can auto detect ALL the ethernet cards.
The trick when installing with multiple network card is convincing the computer that the ethx you specify is the same one it thinks is ethx. If you do not use the interface parameter, DrakX will ask you which one you want and then it will prompt you for the relevant information based on your specified method.
server:fileserver, - machine where the installable files are located, can be an IP or a host.domain (or host).
directory:/mnt/mass/Mandrake/mandrake/9.0, - root directory where the files are found.
network:static, - means you are going to specify the necessary IP information;
ip:192.168.5.202, - what is it for this machine.
netmask:255.255.255.0, - what is it's netmask. This is optional and is only required if you are using a non-standard netmask.
gateway:192.168.5.253, - what is the gateway's IP. This is optional and should only be included if the specified fileserver is not located on the same subnet.
dns:192.168.5.253, - what is the IP for the DNS server. Up to three DNS servers can be specified, each IP is separated by a comma. This is optional and should not be included if you do not have or use a DNS server. If it is not included, then the server: option must contain an IP address instead of a name.
or
network:dhcp, - means the IP, netmask, gateway and dns parameters are provided by the dhcp server. Depending on how the dhcp and DNS servers are configured, the host name and domain name may also be supplied.
or
network:adsl, - means the IP, netmask, gateway and dns parameters are provided by the ADSL service provider when you connect.
adsluser:my_adsl_name, - user name, as required, to login to your ADSL service provider.
adslpass:my_password, - password, as required, to login to your ADSL service provider.
NOTE: If you have selected network:adsl, be aware that ONLY the PPPoE protocol is currently supported.
user:anonymous, - user name, as required, for ftp login.
pass:david@eastcott.net, - pass word, as required, for ftp login.
domain:eastcott.net, - optionally allows you to preset the domain name for the computer. This parameter is only required if the stage 1 installer can not obtain the domain name from your DNS Server for the IP address that you specified.
hostname:linux1, - optionally allows you to set the host name for the computer. This parameter is only required if the stage 1 installer can not obtain the host name from your DNS Server for the IP address that you specified.
automatic=method:http,
interface:eth1, - specifies the ethernet interface to use (eg. eth0, eth5, etc.). It is only required when there is more than 1 ethernet interface. This feature can only be used if DrakX can auto detect ALL the ethernet cards.
The trick when installing with multiple network card is convincing the computer that the ethx you specify is the same one it thinks is ethx. If you do not use the interface parameter, DrakX will ask you which one you want and then it will prompt you for the relevant information based on your specified method.
server:fileserver, - machine where the installable files are located, can be an IP or a host.domain (or host). This is only required for nfs, ftp or http methods.
directory:/mnt/mass/Mandrake/mandrake/9.0, - root directory where the files are found. This is only required for nfs, ftp, http or disk methods. For the disk method, this may also specify the location and name of an ISO image.
network:static, - means you are going to specify the necessary IP information;
ip:192.168.5.202, - what is it for this machine.
netmask:255.255.255.0, - what is it's netmask. This is optional and is only required if you are using a non-standard netmask.
gateway:192.168.5.253, - what is the gateway's IP. This is optional and should only be included if the specified fileserver is not located on the same subnet.
dns:192.168.5.253, - what is the IP for the DNS server. Up to three DNS servers can be specified, each IP is separated by a comma. This is optional and should not be included if you do not have or use a DNS server. If it is not included, then the server: option must contain an IP address instead of a name.
or
network:dhcp, - means the IP, netmask, gateway and dns parameters are provided by the dhcp server. Depending on how the dhcp and DNS servers are configured, the host name and domain name may also be supplied.
or
network:adsl, - means the IP, netmask, gateway and dns parameters are provided by the ADSL service provider when you connect.
adsluser:my_adsl_name, - user name, as required, to login to your ADSL service provider.
adslpass:my_password, - password, as required, to login to your ADSL service provider.
NOTE: If you have selected network:adsl, be aware that ONLY the PPPoE protocol is currently supported.
domain:eastcott.net, - optionally allows you to preset the domain name for the computer. This parameter is only required if the stage 1 installer can not obtain the domain name from your DNS Server for the IP address that you specified.
hostname:linux1, - optionally allows you to set the host name for the computer. This parameter is only required if the stage 1 installer can not obtain the host name from your DNS Server for the IP address that you specified.
DHCP Notes
Documenting how you should use the network:dhcp option and the related domain and hostname options is difficult since they are highly dependent on the characteristics and interactions of your DHCP and DNS servers. In addition to the conventional servers, there are a number of devices capable of acting as DHCP servers for a LAN which are designed primarily for use in the Windows world and may require a bit of effort on your part to get it working.
Since there are may ways to set the DHCP / DNS servers up, I will present a few of the more common arrangements and what may be required for the Stage 1 installer. These are by no means the only ways.
DHCP servers can be configured to provide IP, host name and domain name information based solely on the ethernet address of the network card in a computer and the associated DNS server can be pre-configured with the IP and host name association, or the DHCP server can inform the DNS server of the IP/name association (Dynamic DNS). In this case all that is required is the network:dhcp, parameter.
Another configuration scenario is where the computer must supply a host name when requesting IP information, then the DHCP server will return the IP, host name, and domain name information. This is the usual case for most Cable Modem connections and is the behaviour exhibited by most Windows based computers. Again, the DNS server can be pre-configured with the association or the DHCP server can inform it with the necessary information (DDNS). In this case, both the network:dhcp, and hostname:linux1, parameters are required.
Finally, there is the case where the DHCP server does not return the host name or domain name to be used, and/or the DNS server does not contain the IP to name association or is not informed by the DHCP server. In this case you will need to supply all three parameters, network:dhcp,hostname:linux1,domain:eastcott.net.
The Stage 1 installer passes what ever information it is provided (from the parameters supplied, from the DHCP server or the DNS server) to the stage 2 installer to set up the final configuration for your computer. Your actual DHCP / DNS environment will have an impact on two possible aspects of an automated install. For NFS installs, if the IP that you are assigned does not have an associated host name that the NFS server can obtain from a DNS server, you will have to ensure that the NFS server is set for IP authentication rather than name authentication (see the section Setting up a Simple NFS Server, Step 5). Also, the DHCP server can be configured to supply the name and location of the auto_inst.cfg file (see the section DHCP Server).
Regardless of how you think every things is supposed to work, you are advised to discuss things with your network administrator and experiment a bit to determine the best approach(s) for your actual environment.
The problem of the 256 character line length can be mitigated somewhat by the use of aliases for some of the parameters as follows:
|
Full name |
Alias |
|
adslpass |
adslp |
|
adsluser |
adslu |
|
directory |
dir |
|
disk |
dis |
|
domain |
dom |
|
gateway |
gat |
|
hostname |
hos |
|
interface |
int |
|
method |
met |
|
netmask |
netm |
|
network |
netw |
|
pass |
pas |
|
partition |
par |
|
server |
ser |
|
user |
use |
|
|
|
By rewriting the example from the beginning of this section using the aliases, you get the following:
|
default linux |
|
prompt 1 |
|
timeout 50 |
|
display boot.msg |
|
F1 help.msg |
|
F2 advanced.msg |
|
F3 boot.msg |
|
label linux |
|
kernel vmlinuz |
|
append kickstart=floppy automatic=met:nfs, |
|
ser:fileserver,dir:/mnt/mass/Mandrake/mandrake/9.0, |
|
netw:static,ip:192.168.5.202,netm:255.255.255.0, |
|
gat:192.168.5.253,dns:192.168.5.253, |
|
ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 vga=788 |
NOTE: All the text starting with 'append' through '788' are on ONE line.
For those of you who noticed, this example is now passed through to the Stage 1 installer intact (which, by the way, the original example is not).
The automated installation feature of DrakX is controlled by the contents of a file named 'auto_inst.cfg'. This file is generally located on the boot floppy diskette that you create manually, at the end of the initial installation process, or using the Mandrake Control Center (drakconf) from an installed system. However, it can also be located in a sub-directory of the method installation source media (see the section The 'auto_inst.cfg' File Location).
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).
During a manual install, the various declarations are created and the appropriate fields filled in as you made choices from the various screens. Then when you created the Automated or Replay diskette, selected portions of this structure were simply dumped to a file that will control the actions of DrakX when an Automated or Replay install is done.
An Automated Install requires that all the choices be pre-selected using either the file generated by the install program or, manually by you. Me, I am a bit lazy so I generate an initial diskette at the end of the install or using drakconf, then modify it to suit my requirements.
The remainder of this section describes the options available for the o$ declaration.
As always, if you want the gory details regarding how and what, look on the CD-ROM (or installation source media) in the directory Mandrake/mdkinst/usr/bin/perl-install for the actual perl modules. MandrakeSoft has made the DrakX installer code available for public inspection via their CVS repository (see http://www.linux-mandrake.com/cgi-bin/cvsweb.cgi/). In addition to the source code, there are a variety of documents and text files that contain things you may be interested in.
There are a substantial number of options (choices) that are available to you and the following is a brief summary of the ones that you can preset (just to wet your appetite). You will find detailed descriptions for each, along with examples, on the subsequent pages.
|
M |
|
||
|
|
C |
||
|
|
M |
||
|
C |
C |
||
|
|
|
||
|
C |
M |
||
|
|
C |
||
|
C |
C |
||
|
C |
C |
||
|
|
|
||
|
|
C |
||
|
|
|
||
|
|
|
||
|
M |
|
||
|
C |
|
||
|
C |
|
||
|
M |
|
||
|
|
|
|
|
There have been some additions and a number changes to the various options since the previous release of Mandrake Linux. I have added an indicator: N (new), C (important changes to content) or M (modified add or delete capability) to the left of each affected option listed above.
This option is used to specify how user logins are authenticated.
|
'authentication' => { |
|
|
|
'shadow' => 1, |
|
'md5' => 1, |
|
'NIS' => undef, |
|
'LDAP' => undef, |
|
'winbind' => undef, |
|
}, |
Descriptions:
'shadow' - Indicates if shadow passwords are used.
|
0 - disables |
|
1 - enables |
'md5' - Used to specify if md5 encryption is to be used for passwords.
|
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. |
|
'PDCserver' - name of the machine acting as the PDC server. |
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, Mandrake Linux installations enable md5 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 'netc'.
Related Option Entries:
This option is used to direct the installation process to automatically exit and re-boot the computer when the installation is complete.
|
'autoExitInstall' => 1, |
Descriptions:
'autoExitInstall' - what you want to do
|
0 - when installation is complete, prompt the installer to re-boot and wait |
|
1 - when installation is complete, re-boot the computer automatically. |
NOTE: 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.
Related Option Entries:
none.
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.
|
'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.
Related Option Entries:
This option allows you 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 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.
DrakX is capable of installing either the Lilo or Grub boot loaders for 'x86' type computers. The following causes DrakX to install the Lilo boot loader and create the file /etc/lilo.conf. You really want to look at 'man lilo.conf' for the correct explanation for some of the following.
|
'bootloader' => { |
|
|
|
'methods' => { |
|
'lilo' => 'lilo-text' |
|
}, |
|
|
|
'boot' => '/dev/hda', |
|
'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/hda6', |
|
'initrd' => '/boot/initrd.img', |
|
'append' => 'mem=128M', |
|
'read-write' => 0, |
|
or |
|
'type' => 'other', |
|
'kernel_or_dev' => '/dev/zip', |
|
'label' => 'zip', |
|
'unsafe' => 1, |
|
} |
|
] |
|
}, |
Descriptions:
'methods' - this entry defines the boot loader options; for x86 and IA64 computers this must be 'lilo' and optionally 'grub'.
'lilo' - can be one of:
|
'lilo-text' - if you want just a simple text based prompt. |
|
'lilo-menu' - if you want a text based menu or to use the Grub boot loader. |
|
'lilo-graphic' - if you want a graphical menu. |
DrakX creates all the necessary files that lilo is expecting.
'grub' => 1 - if present, the Grub boot loader is installed rather than Lilo. In addition, DrakX creates all the necessary files and directories that grub is expecting. NOTE: 'lilo' => 'lilo-menu' must be used.
'append' - if present, it is placed in the lilo.conf and used as lilo's 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 it to be used as the boot device. Do not include the partition number. eg. '/dev/hda' or '/dev/hde'.
'compact' => 1 - if present, says to try and merge read requests for adjacent sectors. This is seldom used.
'crushMbr' => 1 - if this is present, it means replace (crush) the existing Master Boot Record and install the lilo 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'.
'lba32' => 1 - if present, says to generate 32 bit Logical Block Addresses instead of sector/head/cylinder.
'linear' => 1 - if present, says to generate linear sector addresses instead of sector/head/cylinder. This is seldom used. In fact, if 'lba32' is present then it is ignored.
'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 pass word string (clear text) used to protect booting of all images. eg. 'dickie'.
'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 CDRW or CD Burrners 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 lilo.conf file. 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' => 1 - if present, reduces the boot up password enforcement so that the user must enter a pass word 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 lilo.conf. 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:
'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/hda6'.
'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 'vga' above.).
'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.
or,
'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/hdb'.
'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.
This loader is used on PowerPC computers. The following causes DrakX to create the file /etc/yaboot.conf. You really want to look at 'man yaboot.conf' for the correct explanation for some of the following.
|
'bootloader' => { |
|
|
|
'methods' => { |
|
'yaboot' => 1 |
|
}, |
|
|
|
'useboot' => 'hda', |
|
'delay' => 30, |
|
'default' => 'my_linux', |
|
'defaultos => 'linux', |
|
'enablecdboot' => 1, |
|
'enableofboot' => 1, |
|
'initmsg' => "My init text\n", |
|
'message' => "My text boot up\n", |
|
'timeout' => 50, |
|
|
|
'entries' => [ |
|
{ |
|
'type' => 'image', |
|
'kernel_or_dev' => '/boot/vmlinuz', |
|
'label' => 'my_linux', |
|
'root' => '/dev/hda6', |
|
'initrd' => '/boot/initrd.img', |
|
'append' => undef, |
|
'read-write' => 0, |
|
} |
|
] |
|
}, |
Descriptions:
'methods' - this entry defines the boot loader options the PowerPC and must be 'yaboot'.
'append' - if present, it is placed in the yaboot.conf and used as yaboot's 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 serial=0,9600n8'.
'useboot' - this allows you to specify the disk drive that it to be used as the boot device. Do not include the partition number. eg. 'hda' or 'hde'.
'delay' - the time, in ??? seconds, for the Open Firmware Delay.
'default' - this is used to specify the default kernel image to boot. The value here is the 'label' value of one of the defined 'entries'. eg. 'my_linux'.
'defaultos' - is one of 'linux', 'macos', 'macosx' or 'darwin'.
'enablecdboot' => 1 - enables booting from CD.
'enableofboot' => 1 - enables booting using Open Firmware.
'initmsg' - this allows you to create a customized boot message. It is optional and if included, will causes the file boot loader to display your string. Also use double quotes (").
'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.
'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 CDRW or CD Burrners 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.
'timeout' - the time, in ??? seconds, to wait for the user to enter a desired image. eg. '10'. Also, this forces a prompt for the 'label' name to boot.
'entries' - this is an array of 'per image' entries describing selectable boot images. DrakX installs a number of default entries and normally you should not need to add any. 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, 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:
'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/hda6'.
'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'.
'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.
or
'type' => 'other' - specifies that this image describes a Linux kernel image to boot.
'kernel_or_dev' - specifies the ???.
'label' - specifies ???.
Examples (for x86):
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.
|
'bootloader' => { |
|
|
|
'methods' => { |
|
'lilo' => 'lilo-text' |
|
}, |
|
|
|
'crushMbr' => 1 |
|
}, |
NOTE: I use the 'crushMbr' here to make sure that whatever is on the disk is replaced with lilo's 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.
This one adds an additional boot image that I use on my test machine to increase the size of the default ram disk.
|
'bootloader' => { |
|
|
|
'methods' => { |
|
'lilo' => 'lilo-text' |
|
}, |
|
|
|
'entries' => [ |
|
{ |
|
'type' => 'image', |
|
'kernel_or_dev' => '/boot/vmlinuz', |
|
'label' => 'bigdisk', |
|
'root' => '/dev/hda6', |
|
'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'.
Related Option Entries:
This option is only to be used in conjunction with 'compssUsersChoice'. It allows you to install packages based on their relative importance and has the following is its general form:
|
'compssListLevel' => 5, |
Descriptions:
'compssListLevel' - the desired rating value can be one of:
|
5 - Must Have |
|
4 - Important |
|
3 - Very nice |
|
2 - Nice |
|
1 - Maybe |
Mandrake has taken most of the installable packages (*.rpms found in Mandrake/RPMS ...) 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 in the file Mandrake/base/rpmsrate, 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.
NOTE: Since the Mandrake Linux distribution comes on a varying number of CD'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' will not produce the result that older versions (earlier than 8.1) did.
Related Option Entries:
compssUsersChoice, default_packages
This option is an alternate package selection method and, if used '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. It has the following general form:
|
'compssUsersChoice' => { |
|
|
|
'<group_tag>' => 1, |
|
'<group_tag>' => 1 |
|
}, |
Descriptions:
'<group_tag>' - is one of the following:
|
ACCESSIBILITY |
GNOME |
NETWORKING_OTHER_SERVER |
|
ARCHIVING |
GRAPHICAL_DESKTOP |
NETWORKING_REMOTE_ACCESS |
|
GNOME |
GRAPHICS |
NETWORKING_REMOTE_ACCESS_SERVER |
|
AUDIO |
GNOME |
NETWORKING_WWW |
|
BOOKS |
INSTALL |
NETWORKING_WWW_SERVER |
|
BURNER |
NOCOPY |
NIS |
|
DEVELOPMENT |
KDE |
NIS_SERVER |
|
COMMUNICATIONS |
MONITORING |
PHOTO |
|
CONFIG |
GNOME |
GNOME |
|
DATABASES |
NETWORKING_CHAT |
KDE |
|
DATABASES_SERVER |
NETWORKING_CHAT_SERVER |
PHOTO |
|
DEVELOPMENT |
NETWORKING_DNS |
PUBLISHING |
|
DEVELOPMENT |
NETWORKING_DNS_SERVER |
SCANNER |
|
BOOKS |
NETWORKING_FILE |
SCIENCES |
|
GNOME |
NETWORKING_FILE_SERVER |
SHELLS |
|
KDE |
NETWORKING_FILE_TRANSFER |
SOUND |
|
DEVELOPMENT_OTHER |
NETWORKING_FILE_TRANSFER_SERVER |
SYSTEM |
|
DOCS |
NETWORKING_FIREWALLING_SERVER |
BOOKS |
|
EDITORS |
NETWORKING_GROUPWARE_SERVER |
TERMINALS |
|
GNOME |
NETWORKING_IRC |
TEXT_TOOLS |
|
EMULATORS |
GNOME |
BOOKS |
|
FILE_TOOLS |
NETWORKING_IRC |
TV |
|
GAMES |
NETWORKING_LDAP_SERVER |
VIDEO |
|
GNOME |
NETWORKING_MAIL |
WEMIN |
|
DEVELOPMENT |
NETWORKING_MAIL_SERVER |
X |
|
KDE |
NETWORKING_NEWS |
GNOME |
|
DEVELOPMENT |
NETWORKING_NEWS_SERVER |
|
|
3D |
NETWORKING_OTHER |
|
|
|
|
|
NOTE: The indented tags indicate that there are packages in the corresponding Group which will only be installed if the indented tag is specified as well. If you look in the file Mandrake/base/rpmsrate, you can see the group/sub-group tags, followed by the rating levels and packages that are assigned to that level.
Before you get too carried away, remember that DrakX is going to install what it considers an essential minimum set of packages, then it looks at your selections and adds any extras that you selected and, any additional packages that are needed for your choices to operate properly.
Examples:
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 Mandrake/base/compssUsers to see how Mandrake 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'.
The following are some simple 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 me add package(s) which would have been excluded.
|
'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' ], |
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.
This example is a short way to install almost everything.
|
'compssUsersChoice' => { |
|
|
|
'ALL' => 1 |
|
}, |
|
|
|
'compssListLevel' => 0, |
Related Option Entries:
compssListLevel, default_packages, excludedocs
This option 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 graphic install. The general form is as follows:
|
'default_packages' => [ |
|
|
|
'<package-name>', |
|
'<package-name>' |
|
], |
Descriptions:
'<package-name>', - 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 auto_inst.cfg or 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 | sort). This 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 are not included in the list.
NOTE: All packages must be in either the RPMS, RPMS2 or, RPMS3 directories. If you have added one, then see the section Creating an Updated Installation CD Set.
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 Option Entries:
compssUsersChoice, compssListLevel, excludedocs
This option is used to preset the default Desktop (Window Manager) for users.
|
'desktop' => 'KDE', |
Descriptions:
'desktop'- if this option is present, then it may be any one of the following, provided of course it was installed:
|
KDE |
|
Gnome |
|
WindowMaker |
|
Enlightenment |
|
Blackbox |
|
XFce |
|
ICEWM |
|
default |
|
failsafe |
The DrakX installer places the specified value into the file /etc/sysconfig/desktop.
Default means that if you are at Run Level 3 and you type startx, then the window manager defined in the file 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.
Related Option Entries:
This 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.
|
'excludedocs' => 1, |
Descriptions:
'excludedocs' - what you want to do
|
0 - include the package documentation. |
|
1 - exclude the package documentation. |
DrakX normally installs all documentation that is available with each package.
NOTE: 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.
Related Option Entries:
compssUsersChoice, default_packages
This 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.
|
'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.
'interactive' - Selects the method of graphic presentation:
|
'newt' - simple graphical interface (for the memory limited) or, for those that want a simpler presentation style. |
|
'gtk' - full graphical presentation similar to the GUI based install. |
Related Option Entries:
none.
This option is used when you are creating a Replay Install configuration.
|
'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 and can be accomplished:
* at the end of a Manual install where you select Advanced, Generate an auto install floppy, then Reply or,
* on an installed system by running the drakconf program or,
* manually creating the disk and files on it.
To change a standard Auto Install into a Replay Auto Install, just add this option. For a more detailed description and a summary of the available steps, please review the section Replay Install.
Related Option Entries:
none.
This option is used to define the various network (ethernet or wireless) capable devices in your system.
The following is the general form for the structure:
|
'intf' => { |
|
|
|
'ethx' => {}, |
|
and / or |
|
'wireless_eth' => {}, |
|
}, |
'ethx' - 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.
'wireless_eth' - used to indicate that there is a wireless ethernet interface installed. Currently only a single interface is supported.
For an ethernet card, the following are valid:
|
'eth0' => { |
|
|
|
'DEVICE' => 'eth0', |
|
'BOOTPROTO' => 'static', |
|
'ONBOOT' => 'yes', |
|
'IPADDR' => '192.168.5.202', |
|
'NETMASK' => '255.255.255.0', |
|
'NETWORK' => '192.168.5.0', |
|
'BROADCAST' => '255.255.255.0', |
|
'HWADDR' => '00:01:02:03:04:05' |
|
}, |
For a wireless interface, the following are valid:
|
'wireless_eth' => { |
|
|
|
'DEVICE' => 'wireless_eth', |
|
'BOOTPROTO' => 'static', |
|
'ONBOOT' => 'yes', |
|
'IPADDR' => '192.168.5.202', |
|
'NETMASK' => '255.255.255.0', |
|
'NETWORK' => '192.168.5.0', |
|
'BROADCAST' => '255.255.255.0', |
|
'WIRELESS_MODE' => 'Auto', |
|
'WIRELESS_ESSID' => 'any', |
|
'WIRELESS_NWID' => '', |
|
'WIRELESS_FREQ' => '', |
|
'WIRELESS_SENS' => '', |
|
'WIRELESS_RATE' => '', |
|
'WIRELESS_ENC_KEY' => '', |
|
'WIRELESS_RTS' => '', |
|
'WIRELESS_FRAG' => ',' |
|
'WIRELESS_IWCONFIG' => '', |
|
'WIRELESS_IWSPY' => '', |
|
'WIRELESS_IWPRIV' => '', |
|
}, |
Descriptions:
'DEVICE' - must be the same as the 'ethx' (or 'wireless_eth') 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 ether net interface card. Only required if the system is tracking the networking id (see 'miscellaneous').
'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_RTS' - ???
'WIRELESS_FRAG' - ???
'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.
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: /etc/sysconfig/network-scripts/ifcfg-eth0.
|
'intf' => { |
|
|
|
'eth0' => { |
|
|
|
'DEVICE' => 'eth0', |
|
... |
|
} |
|
}, |
Examples:
See the section Network and Connection Examples for various examples.
For a computer which does not have an ethernet or wireless interface, then use the following:
|
'intf' => {}, |
If the target computer has multiple interfaces, then use the following:
|
'intf' => { |
|
'eth0' => { |
|
|
|
... |
|
|
|
}, |
|
|
|
'eth1' => { |
|
|
|
... |
|
|
|
} |
|
} |
If the computer has more than one interface defined, make sure the 'netc' option identifies which one is the GATEWAYDEV.
If the computer has an interface with BOOTPROTO set to 'dhcp', then see 'netc' for selecting a 'dhcp_client' to be installed. If it is set to 'bootp', then the pump package is be automatically installed.
For those of you using a Wireless interface, the following are recommended reading for additional information:
The Wireless-HOWTO at www.linuxdoc.org and,
Linux Wireless Howto Collection at www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
NOTE: 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.
Related Option Entries:
netc, miscellaneous., postInstall
This option is used to tell DrakX to perform an upgrade instead of a full install.
|
'isUpgrade' => 0, |
Descriptions:
'isUpgrade' - what you want to do
|
0 - perform a full install |
|
1 - 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.
Related Option Entries:
none.
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' => { |
|
'GRP_TOGGLE' => '', |
|
'KBCHARSET' => 'C', |
|
'KEYBOARD' => 'us' |
|
}, |
Descriptions:
'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 |
|
'' |
No toggle |
'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 lang section for the language that you choose.
'KEYBOARD' - specifies the keyboard type used, possible values are:
|
'al' |
Albanian |
|
'am_old' |
Armenian (old) |
|
'am' |
Armenian (typewriter) |
|
'am_phonetic' |
Armenian (phonetic) |
|
'az' |
Azerbaidjani (latin) |
|
'be' |
Belgian |
|
'bg' |
Bulgarian |
|
'bg_phonetic' |
Bulgarian (phonetic) |
|
'br' |
Brazilian (ABNT-2) |
|
'by' |
Belarusian |
|
'ch_de' |
Swiss (German layout) |
|
'ch_fr' |
Swiss (French layout) |
|
'cz' |
Czech (QWERTZ) |
|
'cz_qwerty' |
Czech (QWERTY) |
|
'de' |
German |
|
'de_nodeadkeys' |
German (no dead keys) |
|
'dk' |
Danish |
|
'dvorak' |
Dvorak |
|
'dvorak_no' |
Dvorak (Norwegian) |
|
'dvorak_se' |
Dvorak (Swedish) |
|
'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) |
|
'ir' |
Iranian |
|
'is' |
Icelandic |
|
'it' |
Italian |
|
'jp' |
Japanese 106 keys |
|
'kr' |
Korean |
|
'la' |
Latin American |
|
'lt' |
Lithuanian AZERTY (old) |
|
'lt_new' |
Lithuanian AZERTY (new) |
|
'lt_b' |
Lithuanian number row QWERTY |
|
'lt_p' |
Lithuanian phonetic QWERTY |
|
'lv' |
Latvian |
|
'mk' |
Macedonian |
|
'nl' |
Dutch |
|
'no' |
Norwegian |
|
'pl' |
Polish (qwerty layout) |
|
'pl2' |
Polish (qwertz layout) |
|
'pt' |
Portuguese |
|
'qc' |
Canadian (Quebec) |
|
'ro2' |
Romanian (QWERTZ) |
|
'ro' |
Romanian (QWERTY) |
|
'ru' |
Russian |
|
'ru_yawerty' |
Russian (Yawerty) |
|
'se' |
Swedish |
|
'si' |
Slovenian |
|
'sk' |
Slovakian (QWERTZ) |
|
'sk_qwerty' |
Slovakian (QWERTY) |
|
'sr' |
Serbian |
|
'th' |
Thai keyboard |
|
'tj' |
Tajik keyboard |
|
'tml' |
Tamil |
|
'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) |
|
'vn' |
Vietnamese numeric row QWERTY |
|
'yu' |
Yugoslavian (latin) |
Related Option Entries:
This option allows you to select the language used for text presentations. The default is English US ('en_US').
See file Mandrake/mdkinst/usr/bin/perl-install/lang.pm declaration for %languages which may contain a more up to date list.
|
'lang' => 'en_US', |
Descriptions:
'lang' - used to specify the desired language, possible values are:
|
'en_US' |
English (US) |
C |
|
'en_US.UTF-8' |
English (US, UTF-8) |
iso-8859-15 |
|
'en_GB' |
English (UK) |
iso-8859-15 |
|
'en_IE' |
English (Ireland) |
iso-8859-15 |
|
'af' |
Afrikaans |
iso-8859-1 |
|
'ar_EG.UTF-8' |
Arabic |
iso-8859-6 |
|
'az_AZ.UTF-8' |
Azeri (latin) |
iso-8859-9e |
|
'be' |
Belarussian |
cp1251 |
|
'be_BY.UTF-8' |
Belarussian (UTF-8) |
cp1251 |
|
'bg' |
Bulgarian |
cp1251 |
|
'bg_BG.UTF-8' |
Bulgarian (UTF-8) |
cp1251 |
|
'br' |
Brezhoneg |
iso-8859-15 |
|
'bs' |
Bosnian |
iso-8859-2 |
|
'ca_ES' |
Catalan |
iso-8859-15 |
|
'cs' |
Czech |
iso-8859-2 |
|
'cy_GB.UTF-8' |
Cymraeg (Welsh) |
iso-8859-14 |
|
'da' |
Danish |
iso-8859-15 |
|
'de_AT' |
German (Austria) |
iso-8859-15 |
|
'de_BE' |
German (Belgian) |
iso-8859-15 |
|
'de_CH' |
German (Swiss) |
iso-8859-15 |
|
'de_DE' |
German (Germany) |
iso-8859-15 |
|
'el' |
Greek |
iso-8859-7 |
|
'el_GR.UTF-8' |
Greek (UTF-8) |
iso-8859-7 |
|
'eo' |
Esperanto |
iso-8859-3 |
|
'es_AR' |
Spanish (Argentina) |
iso-8859-1 |
|
'es_ES' |
Spanish (Spain, modern sorting) |
iso-8859-15 |
|
'es_ES.UTF-8' |
Spanish (Spain, modern sorting, UTF-8) |
iso-8859-15 |
|
'es@tradicional' |
Spanish (Spain, traditional sorting) |
iso-8859-15 |
|
'es_MX' |
Spanish (Mexico) |
iso-8859-1 |
|
'et' |
Estonian |
iso-8859-15 |
|
'eu_ES' |
Euskara (Basque) |
iso-8859-15 |
|
'fa_IR.UTF-8' |
Farsi (Iranian, UTF-8) |
unicode |
|
'fi_FI' |
Finnish (Suomi) |
iso-8859-15 |
|
'fr_BE' |
French (Belgian) |
iso-8859-15 |
|
'fr_CA' |
French (Canada) |
iso-8859-15 |
|
'fr_CH' |
French (Swiss) |
Iso-8859-15 |
|
'fr_FR' |
French (France) |
iso-8859-15 |
|
'fr_FR.UTF-8' |
French (France, UTF-8) |
iso-8859-15 |
|
'ga_IE' |
Gaeilge (Irish) |
iso-8859-15 |
|
'gl_ES' |
Galego (Galician) |
iso-8859-15 |
|
'he_IL.UTF-8' |
Hebrew |
iso-8859-8 |
|
'hr' |
Croatian |
iso-8859-2 |
|
'hu' |
Hungarian |
iso-8859-2 |
|
'hy_AM.UTF-8' |
Armenian |
armscii-8 |
|
'id' |
Indonesian |
iso-8859-1 |
|
'is' |
Icelandic |
iso-8859-1 |
|
'it_CH' |
Italian (Swiss) |
iso-8859-15 |
|
'it_IT' |
Italian (Italy) |
iso-8859-15 |
|
'ja' |
Japanese |
jisx0208 |
|
'ja_JP.UTF-8' |
Japanese (UTF-8) |
jisx0208 |
|
'ka_GE.UTF-8' |
Georgian |
georgian-ps |
|
'ko' |
Korean |
ksc5601 |
|
'ko_KR.UTF-8' |
Korean (UTF-8) |
ksc5601 |
|
'lt' |
Lithuanian |
iso-8859-13 |
|
'lv' |
Latvian |
iso-8859-13 |
|
'mi' |
Maori |
iso-8859-13 |
|
'mk_MK.UTF-8' |
Macedonian (Cryllic) |
cp1251 |
|
'ms' |
Malay |
iso-8859-1 |
|
'mt_MT.UTF-8' |
Maltese |
iso-8859-3 |
|
'nl_BE' |
Dutch (Belgian) |
iso-8859-15 |
|
'nl_NL' |
Dutch (Netherlands) |
iso-8859-15 |
|
'no' |
Norwegian (Bokmaal) |
iso-8859-1 |
|
'nn' |
Norwegian (Nynorsk) |
iso-8859-1 |
|
'pl' |
Polish |
iso-8859-2 |
|
'pt_BR' |
Portuguese (Brazil) |
iso-8859-1 |
|
'pt_PT' |
Portuguese (Portugal) |
iso-8859-15 |
|
'ro' |
Romanian |
iso-8859-2 |
|
'ru_RU.CP1251' |
Russian |
cp1251 |
|
'ru_RU.KOI8-R' |
Russian (KOI8) |
koi8-r |
|
'ru_RU.UTF-8' |
Russian (UTF-8) |
cp1251 |
|
'sk' |
Slovak |
iso-8859-2 |
|
'sl' |
Slovenian |
iso-8859-2 |
|
'sp' |
Serbian (Cyrillic) |
iso-8859-5 |
|
'sr' |
Serbian (Latin) |
iso-8859-2 |
|
'sr_YU.UTF-8' |
Serbian (Latin, UTF-8) |
iso-8859-2 |
|
'sv' |
Swedish |
iso-8859-1 |
|
'ta_IN.UTF-8' |
Tamil |
Iso-8859-1 |
|
'tg_TJ.UTF-8' |
Tajik |
koi8-c |
|
'th' |
Thai |
tis620 |
|
'th_TH.UTF-8' |
Thai (UTF-8) |
tis620 |
|
'tr' |
Turkish |
iso-8859-9 |
|
'uk_UA' |
Ukrainian (KOI8) |
koi8-u |
|
'uk_UA.CP1251' |
Ukrainian |
cp1251 |
|
'uk_UA.UTF-8' |
Ukrainian (UTF-8) |
cp1251 |
|
'uz' |
Uzbek |
iso-8859-1 |
|
'vi_VN.UTF-8' |
Vietnamese |
viscii |
|
'wa' |
Walon |
iso-8859-1 |
|
'zh_TW.Big5' |
Chinese (Traditional) |
Big5 |
|
'zh_TW.UTF-8' |
Chinese (Traditional, UTF-8) |
Big5 |
|
'zh_CN.GB2312' |
Chinese (Simplified) |
gb2312 |
|
'zh_CN.UTF-8' |
Chinese (Simplified, UTF-8) |
gb2312 |
NOTE: Not all languages are supported by all applications. The third column, above, is the character set for the language.
Related Option Entries:
This 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 (smbfs). 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.
|
'manualFstab' => [ |
|
{ |
|
'device' => 'linux1:/nfscd/cdrom82', |
|
'mntpoint' => '/mnt/linux1', |
|
'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.
Descriptions:
'device' - a physical device (partition) such as 'hdd1' or, a nfs network device such as 'linux1:/nfscd/cdrom82' or, '//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.
'options' - mount options for the device/file system being mounted.
'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).
'toFormat' => 1, - if present, 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').
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, |
|
} |
|
], |
NOTE: 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.
Related Option Entries:
This is where stuff goes that does not fit anywhere else.
|
'miscellaneous' => { |
|
|
|
'numlock' => 1, |
|
'HDPARM' => 1, |
|
'http_proxy' => undef, |
|
'ftp_proxy' => undef, |
|
'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 keyboards' 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.
'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.
If you have specified entries for the 'http_proxy' or 'ftp_proxy' options, DrakX places them in two files: /etc/profile.d/proxy.sh and /etc/profile.d/proxy.csh.
NOTE: 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.
Related Option Entries:
default_packages, bootloader, intf, services.
This option allows you to create a boot disk during the install process. Probably not something you want to do while doing an auto installation.
|
'mkbootdisk' => '', |
Descriptions:
'mkbootdisk' - used to specify the floppy device that is to be used:
|
'0' or '' - no boot disk |
|
'1' - if there is only 1 floppy drive in the system, then this will create the boot disk on it. |
|
'fd0' - if you have more than one floppy device, then you can specify the one to be used. It is the device name without the '/dev/' part. For IDE floppies it is typically 'fd0' or 'fd1', LS120 devices are 'pf0' and for scsi floppies, it is dependent on its LUN (eg. 'sdb'). |
Related Option Entries:
none.
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, DrakX is inhibited from performing a 'Mouse Probe' in an attempt to automatically identify the type of mouse available. See 'nomouseprobe' for additional information.
|
'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' |
|
}, |
Descriptions:
'type' - one of 'PS/2', 'USB', 'serial', 'busmouse', or 'none'. See table for mice for each type.
'device' - device file to use:
|
- for PS/2, use 'psaux', |
|
- for serial use 'ttySx' where x is a serial port number (0, 1, 2 or 3), |
|
- for busmouse use one of 'atibm', 'inportbm' or 'logibm' (depends on card installed), for a PPC use 'adbmouse' |
|
- for USB, use 'usbmouse' |
|
- for none, use 'none' |
'name' - see table.
'nbuttons' - 2 or 3 for mice without a wheel, 5 for mice with a wheel (see table).
'XEMU3' - 'yes' if 2 button mouse and you want 3 button emulation, else should be set to 'no'.
'MOUSETYPE' - see table.
'XMOUSETYPE' - see table.
'FULLNAME' - is '<type> | <name>'. eg. 'PS/2|Standard'
'WHEEL' - 'yes' if mouse has a wheel, 'no' if the mouse does not.
|
'nbuttons' |
'MOUSETYPE' |
'XMOUSETYPE' |
'name' |
|
|
|
|
|
|
'PS/2' |
|
|
|
|
|
|
|
|
|
2 |
ps/2 |
PS/2 |
Standard |
|
5 |
ps/2 |
MouseManPlusPS/2 |
Logitech MouseMan+ |
|
5 |
imps2 |
IMPS/2 |
Generic PS2 Wheel Mouse |
|
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 |
|
|
|
|
|
|
'USB' |
|
|
|
|
|
|
|
|
|
2 |
ps/2 |
PS/2 |
Generic 2 Button Mouse |
|
3 |
ps/2 |
PS/2 |
Generic |
|
5 |
ps/2 |
IMPS2 |
Wheel |
|
1 |
ps/2 |
PS/2 |
1 button (PPC only) |
|
|
|
|
|
|
'serial' |
|
|
|
|
|
|
|
|
|
2 |
Microsoft |
Microsoft |
Generic 2 Button Mouse |
|
3 |
Microsoft |
Microsoft |
Generic 3 Button Mouse |
|
5 |
ms3 |
IntelliMouse |
Microsoft IntelliMouse |
|
3 |
MouseMan |
MouseMan |
Logitech MouseMan |
|
2 |
MouseSystems |
MouseSystems |
Mouse Systems |
|
3 |
logim |
MouseMan |
Logitech CC Series |
|
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 |
Microsoft |
ThinkingMouse |
Kensington Thinking Mouse |
|
|
|
|
|
|
'busmouse' |
|
|
|
|
|
|
|
|
|
1 |
Busmouse |
BusMouse |
1 button (PPC only) |
|
2 |
Busmouse |
BusMouse |
2 buttons |
|
3 |
Busmouse |
BusMouse |
3 buttons |
|
|
|
|
|
|
'none' |
|
|
|
|
|
|
|
|
|
0 |
None |
Microsoft |
No mouse |
|
|
|
|
|
|
|
|
|
|
Examples:
NOTE: 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', |
|
}, |
NOTE: Information from here is used to update the files /etc/sysconfig/mouse and /etc/X11/XF86Config(-4) Mouse section.
Related Option Entries:
This option contains values used to configure the network parameters for the target computer. The general form is as follows:
|
'netc' => { |
|
|
|
'NETWORKING' => 'yes', |
|
'minus_one' => 1, |
|
'nb_cards' => 2, |
|
'FORWARD_IPV4' => 'false', |
|
'HOSTNAME' => 'linux-dev.eastcott.net', |
|
'DOMAINNAME' => 'eastcott.net', |
|
'GATEWAY' => '192.168.5.254', |
|
'GATEWAYDEV' => 'eth0', |
|
'dnsServer' => '24.64.8.1', |
|
'dnsServer2' => '24.64.8.2', |
|
'dnsServer3' => undef, |
|
'NISDOMAIN' => undef, |
|
'LDAPDOMAIN' => undef, |
|
'DHCP_HOSTNAME' => 'CS167266-B', |
|
'dhcp_client' => 'dhcpcd, |
|
}, |
Descriptions:
'NETWORKING' - set to 'yes' if this machine is network connected, otherwise it is set to 'no' and remove any other entries .
'minus_one' - set to 1 if any interface uses DHCP to obtain its IP information, otherwise it is set to 0.
'nb_cards' - number of ethernet capable interface cards in the computer. This is a count of the number of definitions that you specified in the 'intf' option, including the wireless_eth.
'FORWARD_IPV4' - set to 'true' if IP forwarding between interfaces is required, otherwise it should be set to 'false'.
'HOSTNAME' - fully qualified host name for the target computer. This is not required if supplied via a DHCP server.
'DOMAINNAME' - domain name for the target computer. This is not required if supplied via a DHCP server.
'GATEWAY' - IP address for the machine that processes all non-local IP messages. This is not required if supplied via a DHCP server.
'GATEWAYDEV' - device name for the interface that is to be used to access the gateway machine. This is not required if supplied via a DHCP server.
'dnsServer' - IP addresses for DNS server, up to three may be specified. This is not required if supplied via a DHCP server.
'dnsServer2' - if available, then the second DNS server's IP address. This is not required if supplied via a DHCP server.
'dnsServer3' - if available, then the second DNS server's IP address. This is not required if supplied via a DHCP server.
'NISDOMAIN' - if NIS authentication is used, then this contains the NIS domain name, otherwise it is not required.
'LDAPDOMAIN' - if LDAP authentication is being used, then this contains the Base Distinguished Name, otherwise it is not required. (eg. 'LDAPDOMAIN' => 'dc=eastcott,dc=net')
'WINDOMAIN' - if Windows PDC authentication is being used, then this contains the Windows Domain, otherwise it is not required. (eg. 'WINDOMAIN' => 'EASTCOTT')
'DHCP_HOSTNAME' - if needed by the DHCP server, the name to be presented when requesting an IP address and other related values.
NOTE: this value can be different from HOSTNAME (when supplying a specific name to an ISP) and is usually just the host name (no domain name part). You should look at the file /etc/sysconfig/network-scripts/ifup to see the effects that HOSTNAME, DOMAINNAME and DHCP_HOSTNAME have on the parameters sent to the DHCP server via your specified dhcp_client.
'dhcp_client' - if one or more interfaces specifies dhcp for BOOTPROTO then this parameter this specifies the DHCP client package to be installed; it may be one of 'dhcpcd', 'dhcpxd' or 'pump'. If this parameter is not specified, then the dhcpcd package is installed by default. If more than one dhcp client package is installed, you should add DHCP_CLIENT=<your client> to the associated ifcfg-ethx file.
You will find most of these options placed in the files /etc/resolv.conf and /etc/sysconfig/network.
Examples:
See the section Network and Connection Examples for various examples.
When you examine the /sbin/ifup script, you will see a couple other things that can be done to control the actual operation of the dhcp client (dhcpcd) that you may find useful. If you add PEERDNS=no to the /etc/sysconfig/network file, then the dhcpcd client will NOT replace your /etc/resolv.conf file (for those of you using a local DNS server). And, if you delete the HOSTNAME and DOMAINNAME entries from /etc/sysconfig/network file, the dhcpcd client can be made to update these with information it gets from the DHCP server. These fine adjustments need to be done either manually or by using the 'postinstall' option. eg.
|
'postInstall' => " |
|
# fix so that dhcp client updates host and domain names from server |
|
cat /etc/sysconfig/network | sed '/^HOSTNAME/d' | \ sed '/^DOMAINNAME/d' > /etc/sysconfig/network1 |
|
# but make sure it does not replace resolv.conf |
|
echo \"PEERDNS=no\" >> /etc/sysconfig/network1 |
|
mv -f /etc/sysconfig/network1 /etc/sysconfig/network |
|
" |
Related Option Entries:
intf, authentication, postInstall
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 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.
|
'nomouseprobe' => 1, |
Descriptions:
'nomouseprobe' - what to do
|
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
Related Option Entries:
This option is used to control the partitioning of the target systems' hard disk drives.
|
'partitioning' => { |
|
|
|
'clearall' => 1, |
|
'clear' => undef, |
|
'eraseBadPartitions' => 0, |
|
'auto_allocate' => 1 |
|
}, |
Descriptions:
'clearall' - set to 1 if 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). Set to 0 if 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' => [ 'hda', 'hdc' ], clears the partitions on hda and hdc, but leaves hdb untouched. The partitions for hdb will have to be defined using the 'manualFstab' option.
'eraseBadPartitions' - this 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 one (1) and, you have to define the new partition layout for the cleared drives using the 'partitions' option.
Note:
If you want to re-use the existing partitions, then set clearall and auto_allocate to their zero (0) value. AND add all the mounting information to the 'manualFstab'.
If you want the install program to auto-allocate the partitions, then set clearall and auto_allocate to their one (1) value, and remove the 'partitions' option.
Related Option Entries:
This 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' => 0, then this options' contents are 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' |
|
} |
|
], |
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.
'type' - file system type for the partition.
131 (0x83) is ext2, 130 (0x82) is swap, 387 (0x183) is reiserfs. See Mandrake/mdkinst/usr/bin/perl-install/partition_table.pm for a complete listing.
NOTE: use 142 (0x8e) for LVM PVs or 253 (0xfd) for RAID partitions
'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. hda or sdb. 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', '0', '1', '4' or '5'
'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.
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.
Examples:
LVM:
|
partitions => [ |
|
... |
|
|
|
{ 'mntpoint' => 'vg_a', 'size' => 400 << 11, 'type' => 0x8e, 'hd' => 'sda' }, |
|
{ 'mntpoint' => 'vg_b', 'size' => 400 << 11, 'type' => 0x8e, 'hd' => 'sdb', 'ratio' => 1 }, |
|
{ 'VG_name' => 'pixVG', 'parts' => 'vg_a vg_b' }, |
|
{ 'mntpoint' => '/home', 'size' => 500 << 11, 'type' => 0x183, 'hd' => 'pixVG' }, |
|
], |
NOTE: If the 'parts' field is omitted, then any PV available will be used.
Software RAID:
|
partitions => [ |
|
... |
|
|
|
{ 'mntpoint' => 'raid_a', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sda', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'raid_b', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sdb', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'raid_c', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sdc', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'raid_d', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sdd', 'ratio' => 1 }, |
|
{ 'mntpoint' => '/home', 'type' => 0x483, 'hd' => 'md0', 'level' => 1, 'parts' => 'raid_a raid_b' }, |
|
], |
LVM on software raid:
|
partitions => [ |
|
... |
|
|
|
{ 'mntpoint' => 'raid_a', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sda', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'raid_b', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sdb', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'raid_c', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sdc', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'raid_d', 'size' => 400 << 11, 'type' => 0xfd, 'hd' => 'sdd', 'ratio' => 1 }, |
|
{ 'mntpoint' => 'vg_a', 'type' => 0x8e, 'hd' => 'md0', 'level' => 1, 'parts' => 'raid_a raid_b' }, |
|
{ 'mntpoint' => 'vg_b', 'type' => 0x8e, 'hd' => 'md1', 'level' => 1, 'parts' => 'raid_c raid_d' }, |
|
{ 'VG_name' => 'pixVG', 'parts' => 'vg_a vg_b' }, |
|
{ 'mntpoint' => '/home', 'size' => 500 << 11, 'type' => 0x183, 'hd' => 'pixVG' }, |
|
], |
NOTE: If the 'parts' field is omitted, then any PV available will be used.
Related Option Entries:
This option provides 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 'postInstallNonRooted' first, then the 'postInstall' last.
postInstall:
|
'postInstall' => " |
|
echo \"This is a test string\" > /root/test.log |
|
" |
For this option, the install script 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).
postInstallNonRooted:
|
'postInstallNonRooted' => ' |
|
echo "This is a test string" > /mnt/root/test.log |
|
' |
For this option, the install script is executed within the current environment of the DrakX install 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>.
The above two examples 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.
Examples:
The following are a simple set of examples which demonstrate the use of these options.
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 |
|
“ |
Or using a simple perl one-liner:
|
'postInstall' => ' |
|
# change run level from 5 to 3 |
|
perl -p -i -e “s/^id:5:init/id:3:init/” /etc/inittab |
|
' |
Copy the auto install configuration file defined with the syslinux.cfg append parameter auto_install= to the target computers /root/drakx directory (this only works for NFS and CD-ROM source medias):
|
'postInstallNonRooted' => “ |
|
# copy the file from the source media |
|
cp /tmp/image/$::auto_install /mnt/root/drakx/ |
|
“ |
A little more complicated variation:
|
'postInstall' => ' |
|
# only if the NTP package is installed |
|
if [ -f /etc/ntp.conf ]; then |
|
cat <<EOF1 > /etc/ntp/step-tickers |
|
time-server.eastcott.net |
|
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 |
|
' |
NOTE: the EOF (or what you used for <<EOF) MUST begin in column 1 and be on a line by itself.
One final note, 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 Option Entries:
Depends on what all you installed.
This option provides you with the ability to install and configure none, one, or more printers. DrakX provides installation support for four basic printing systems: CUPS, LPRng, LPD and PDQ. The following is an attempt to distill the auto install stuff down to a simple presentation.
If all else fails, use the following form to indicate that there is no printer to be installed and then after the install is done, use the printerdrake program to add your printing system and printers.
To have No Printing System installed, simply ensure that the 'printer' option is not in the file, or:
'printer' => undef,
However, for the more adventurous:
|
'printer' => { |
|
|
|
'DEFAULT' => 'HP990C', |
|
'SPOOLER' => 'cups', |
|
'BROWSEPOLLADDR' => undef, |
|
'BROWSEPOLLPORT' => undef, |
|
'MANUALCUPSCONFIG' => undef, |
|
|
|
'configured' => { |
|
|
|
'HP990C' => { |
|
'queuedata' => { |
|
'spooler' => 'cups', |
|
'foomatic' => 1, |
|
'printer' => '530418', |
|
'ppd' => undef, |
|
'queue' => 'HP990C', |
|
'driver' => 'hpijs', |
|
'connect' => 'smb://david:cherry@eastcott/cherry/HP-990C' |
|
'desc' => 'Color InkJet', |
|
'loc' => 'Cherry\'s Computer', |
|
'make' => 'HP', |
|
'model' => DeskJet 990C', |
|
'options' => [ |
|
'-o', |
|
'PageSize=Letter', |
|
'-o', |
|
'InputSlot=Default' |
|
'-o', |
|
'Duplex=None', |
|
|
|
... |
|
], |
|
}, |
|
} |
|
} |
|
}, |
NOTE: BROWSEPOLLADDR, BROWSEPOLLPORT and MANUALCUPSCONFIG are not currently used. So you could remove them or, just not include them in your 'auto_inst.cfg' file.
Descriptions:
'DEFAULT' - this is set to the 'queue' name for the printer that you want as the default (generally referenced as lp). eg. 'DEFAULT' => 'HP990C',
'SPOOLER' - this is the printing systems that you want installed. It may be one of 'cups', 'lpd', 'lprng' or, 'pdq'. eg. 'SPOOLER' => 'cups', NOTE: it seems that 'lpd' and 'lprng' are going to be removed in future versions.
'BROWSEPOLLADDR' - not currently supported. This is an IP address that CUPS will poll for supported printers (see the file /etc/cups/cupsd.conf). eg. 'BROWSEPOLLADDR' => '192.168.5.253',
'BROWSEPOLLPORT' - not currently supported. This is the interface Port number to contact when polling for supported printers (see the file /etc/cups/cupsd.conf). eg. 'BROWSEPOLLPORT' => '631',
'MANUALCUPSCONFIG' - not currently supported. Set to 1 if you are manually configuring the printing sub-system. Set to 0, if CUPS is to automatically set up the configuration files each time the CUPS service is started. eg. 'MANUALCUPSCONFIG' => 1,. The file /etc/sysconfig/printing will contain a line:
CUPS_CONFIG=manual - when this option is set to 1 or,
CUPS_CONFIG=automatic - when this option is set to 0
Each 'configured' printer definition begins with the name of the printer 'queue', and is followed by all the printer specific parameters as follows:
'spooler' - this is set to the same value used for 'SPOOLER'. eg. 'spooler' => 'cups',
'foomatic' - set to 1 if you want to select the printer using the foomatic printer ID. If you want to use a CUPS+PPD file instead, then set it to undef and enter the 'ppd' information. eg. 'foomatic' => '1',
'printer' - required if you set 'foomatic' => 1,. This is set to the printer ID contained in the foomatic database You can determine the value to use with the command '/usr/bin/foomatic-configure -O -q | less' to locate your printer, then extract the string which is bounded by the xml tag <id>...</id>. eg. 'printer' => '530418',
'ppd' - required if you set 'foomatic' => undef,. This is set to the file name for the CUPS+PPD file associated with the printer. You can determine the filename by using the command '/usr/bin/poll_ppd_base -a | less' to locate the PPD definition for your printer. Each line contains a number of fields separated by a vertical bar (|). The first field contains the filename required for this entry. An alternate approach is to look in the directory /usr/share/cups/model, locate your model and desired ppd file. The value for 'ppd' would be the sub-directory and filename you want. Set it to 1 if the printer is to be installed without an initial PPD script. Set it to undef if you are not using a PPD file. eg. 'ppd' => 'xerox/xr_45171.ppd.gz',
'queue' - this is set to a string which represents the name of the printer that all printing utilities recognize as meaning 'this' printer. It MUST be set to the same value that is used for this printers definition. NOTE: the CUPS tools only allow the use of letter, number and the underscore characters. Strange, because the KUPS administration tool lets you add printer names with a hyphen too. eg. 'queue' => 'HP990C',
'driver' - this is the name of the driver to be used for this printer. You can determine the driver name by using the command '/usr/bin/foomatic-configure -O -q | less' to locate your printer, then locate the driver selections which are bounded by the xml tag <drivers> ...</drivers>, then extract the string bounded by the xml tag <driver>...</driver> for the driver you want to use. eg. 'driver' => 'hpijs',
'connect' - this defines how the printer is to be accessed (pick one of the following):
file - the printer is accessed via a local parallel or usb port. General form is:
file:<port device file name>
eg. 'file:/dev/lp0', or 'file:/dev/usb/lp0',
ipp - the printer is accessed via the internet printing protocol. General form is:
ipp://<IP or FQDN>/printers/<printer name>
eg. 'ipp://linux1.eastcott.net/printers/HP_820C',
lpd - the printer is accessed via a remote lpd. If the spooling system selected is 'lpd', then the package rlpr must be installed. General form is:
lpd://<IP or FQDN>/<queue name>
eg. 'lpd://xerox.eastcott.net/PORT1',
serial - the printer is accessed via a local serial port. General form is:
|
serial:<serial port device file name>[?option[+option...]] |
|
baud=rate - Sets the baud rate for the device. |
|
bits=7 or 8 - Sets the number of data bits. |
|
parity=even - Sets even parity checking. |
|
parity=odd - Sets odd parity checking. |
|
parity=none - Turns parity checking off. |
|
flow=dtrdsr - Turns DTR/DSR (hardware) flow control on. |
|
flow=hard - Turns RTS/CTS (hardware) flow control on. |
|
flow=none - Turns flow control off. |
|
flow=rtscts - Turns RTS/CTS (hardware) flow control on. |
|
flow=soft - Turns XON/XOFF (software) flow control on. |
eg. 'serial:/dev/ttyS0?baud=9600+bits=8+parity=none',
smb - the printer is accessed via the Microsoft SMB protocol. If this option is specified, then the package samba-clients must be installed. General form is one of the following:
|
smb://workgroup/server/sharename |
|
smb://server/sharename |
|
smb://user:pass@workgroup/server/sharename |
|
smb://user:pass@server/sharename |
eg. 'smb://MY-COMPUTER/HP_990C',
socket - the printer is accessed via the AppSocket protocol (a.k.a. JetDirect). If the printing system selected is 'lpd' or 'lprng', then the package nc must be installed. General form is:
socket://<IP or FQDN>[:<port number>]
eg. 'socket://hp.eastcott.net:9600',
If a port number is not specified, it defaults to 9100
ncp - the printer is accessed via a Netware Host. If this option is used, then the package ncpfs must be installed. General form is:
ncp:lpd://user:password@<server name>/<queue name>
ncp:lpd://<server name>/<queue name>
eg. 'ncp://MY_PRINT_SERVER/PRINTER1',
postpipe - the file being printed is 'piped' through a user command, rather then being sent to a printer directly. General form is:
postpipe:<command>
eg. 'postpipe:cat > $HOME/rawfile',
NOTE: If you have a machine running with CUPS, then you can look at the CUPS documentation at http://localhost:631/sam.html which has a ton of information.
'desc' - this is descriptive text about the associated printer. eg. 'desc' => 'Color InkJet',
'loc' - this is usually text which describes where the printer is physically located. eg. 'loc' => 'Cherry\'s Office',
'make' - this is the manufacture's name for the printer. It is optional.
'model' - this is the manufacture's model designation for the printer. It is optional.
'options' - this is a series of parameters, which are concatenated together (space separated) and passed to the printer administration tool (foomatic-configure or lpadmin) when the printer queue is created. These options typically preset the default printer options. And are very dependent on the 'driver' selected.
To figure out what to put here, there are two steps (note: foomatic-configure outputs a perl data structure because of the -P option in the steps below):
First use:
foomatic-configure -P -q -p 530428 -d gimp-print -s cups | grep "'name" | less
to get a list of option names for the printer (530418) and driver (gimp-print) and spooler (cups) combination.
Then use:
foomatic-configure -P -q -p 530428 -d gimp-print -s cups | less
and search for 'name' => '<option name you are looking to find values for>', just after it will be a structure beginning with 'vals_byname' which contains series of option values by name along with some information specific to each value. All you are interested in is the exact option value name(s).
Finally you create the 'option' entries as follows:
'-o',
'<option name>=<option value>',
and repeat for all options.
NOTES:
There are a couple issues with the CUPS system that you may want to be aware of:
1. The default auto install leaves the CUPS system acquiring and reporting printer information automatically on your network. You might really want to modify the /etc/cups/cupsd.conf file and set the BrowseInterval to 0 so that your computer does not broadcast its printer definitions to the world. This propensity to tell everyone everything results in the various GUI tools presenting multiple instances of the printer definitions that can lead to confusion. Especially if the printer in question is a network based printer and you want to configure each computer to access the printer directly.
2. There is a lurking problem related to the CUPS ability to modify its configuration file to suit the network environment every time the daemon is restarted. If this is causing you concerns, you were wondering why your changes were being ignored, or you simply do not want this behavior, then make sure that the file /etc/sysconfig/printing exists, and contains the line CUPS_CONFIG=manual.
3. One final note. You normally do not have to set definitions for printers which are already defined on other computers running CUPS, as CUPS checks all other machines to see what printers they are exporting and will make them available to you. However, if they are exporting a printer which is actually on another computer or network and you print to it, then your print job actually goes to that computer first, then it goes to the printer. The downside is that if that computer is off, then you will not be able to use the printers it has defined. So use your discretion when defining printers
Examples:
NO Printers:
'printer' => undef
If you use this option, then you will probably have to install all the appropriate packages when you do set up your printers.
Multiple Printers:
|
'printer' => { |
|
'configured' => { |
|
'CK_HP990C' => { |
|
'queuedata' => { |
|
'printer' => '530418', |
|
'make' => 'HP', |
|
'foomatic' => 1, |
|
'options' => [ |
|
'-o', |
|
'PageSize=Letter', |
|
'-o', |
|
'InputSlot=Default', |
|
'-o', |
|
'Duplex=None', |
|
'-o', |
|
'Resolution=300ColorCMYK', |
|
'-o', |
|
'Model=HP-DeskJet_990C' |
|
], |
|
'ppd' => undef, |
|
'spooler' => 'cups', |
|
'model' => 'DeskJet 990C', |
|
'desc' => 'Color InkJet', |
|
'loc' => 'Cherry\'s Office', |
|
'queue' => 'CK_HP990C', |
|
'connect' => 'smb://david:cherry@eastcott/cherry/HP-990C', |
|
'driver' => 'hpijs' |
|
} |
|
}, |
|
'CK_HP2200D' => { |
|
'queuedata' => { |
|
'printer' => 'HP-LaserJet_2200', |
|
'make' => 'HP', |
|
'foomatic' => 1, |
|
'options' => [ |
|
'-o', |
|
'PageSize=Letter', |
|
'-o', |
|
'InputSlot=Default', |
|
'-o', |
|
'Manualfeed=Off', |
|
'-o', |
|
'Duplex=On', |
|
'-o', |
|
'Binding=LongEdge', |
|
'-o', |
|
'Resolution=300', |
|
'-o', |
|
'REt=Medium', |
|
'-o', |
|
'HPLJDensity=3', |
|
'-o', |
|
'Copies=1', |
|
'-o', |
|
'Economode=Economy', |
|
'-o', |
|
'FastRes=Off', |
|
'-o', |
|
'MemBoost=Auto', |
|
'-o', |
|
'PreFilter=No' |
|
], |
|
'ppd' => undef, |
|
'spooler' => 'cups', |
|
'model' => 'LaserJet 2200', |
|
'desc' => 'LazerJet', |
|
'loc' => 'Dave\'s Office', |
|
'queue' => 'CK_HP2200D', |
|
'connect' => 'lpd://scb65358/L1', |
|
'driver' => 'Postscript' |
|
} |
|
} |
|
}, |
|
'BROWSEPOLLADDR' => undef, |
|
'MANUALCUPSCONFIG' => undef, |
|
'BROWSEPOLLPORT' => undef, |
|
'DEFAULT' => 'CK_HP2200D', |
|
'SPOOLER' => 'cups' |
|
}, |
Related Option Entries:
This option is used to set the Mandrake Security Level.
|
'security' => 2, |
Descriptions:
'security' - security level desired, from 0 through 5
See the documentation on msec for more information regarding the meaning and effects of the various security level settings.
During the GUI installation, DrakX allows you to select one of four security levels, the following shows the security level associated with each:
|
Standard |
2 |
|
High |
3 |
|
Higher |
4 |
|
Paranoid |
5 |
Related Option Entries:
none.
This 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. However, the general form is as follows:
|
'services' => [ |
|
|
|
'<name of service>', |
|
'<name of service>' |
|
], |
Descriptions:
'<name of service>' - This is a list of service names (the ones in /etc/rc.d/init.d) which you want automatically started.
DrakX determines what services are present in the /etc/rc.d/init.d directory and it runs 'chkconfig --add ...' for the ones you list, and 'chkconfig --del ...' for those that are installed but you did not list. The following is a brief summary of the services that are possible (see the file Mandrake/mdkinst/use/bin/perl-install/services.pm for details):
|
Printing |
cups cupslpd lpr lpd oki4daemon hpoj cups-lpd |
|
Internet |
httpd boa tux roxen ftp pftp tftp proftpd wu-ftpd pure-ftpdipsec proftpd-xinetd ipchains iptables ipvsadm isdn4linux ibod jabber jabber-icq adsl squid portsentry prelude nessusd junkbuster radvd cddbp ippl iptoip jail.init |
|
File sharing |
nfs nfslock smb nettalk netfs mcserv autofs amd venus.init auth2.init codasrv.init update.init swat |
|
System |
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 dm |
|
Remote Administration |
sshd telnetd telnet rsh rlogin rexec webmin cfd heartbeat ldirectord iplog mon vncserver netsaint olympusd drakxtools_http |
|
Database Server |
mysql postgresql |
NOTE: do NOT include mandrake_firstime or mandrake_everytime in your list, they are automatically handled by the scripts rc.local and rc.sysinit, respectively.
Examples:
A simple example:
|
'services' => [ |
|
|
|
'syslog', |
|
'xfs', |
|
'network', |