Automated installation

From Wikitech
Revision as of 14:47, 5 September 2006 by Mark (Talk | contribs)

Jump to: navigation, search
  • To import GPG key for yum in FC3:
apt-get install /usr/share/rhn/RPM-GPG-KEY-fedora
  • GPG key for Fedora Extras:
apt-get install http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras


Contents

kickstart installation

Kickstart installation for Debian core is for [semi-]automated installation of the operating system. A DHCP server and a TFTP server are required, as well as some media or server(s) for the target machine to fetch a kickstart configuration file, software packages, etc from. Within Wikimedia, DHCP, TFTPD, and web servers are used - in Florida, dhcpd, tftp-server and lighttpd are installed for this on rabanus.

When a machine tries to netboot, it broadcasts a request which the DHCP server answers, assigning an IP address, netmask, etc and telling the IP address of a TFTP server and the filename of a PXELINUX bootstrap loader to be fetched from it - e.g. in Template:Filename for ariel, the TFTP server has IP 10.0.0.15 and the file to fetch is Template:Filename - this is commented out usually, so that the default (nonexistent) file is requested, and the server fails over to booting from disk. Template:Box file

Once the bootloader is fetched, the client attempts to fetch a PXELINUX configuration file from Template:Filename. It attempts a series of filenames until one succeeds, sometimes beginning with a filename of the form Template:Filename where the final 6 pairs are the client NIC's MAC address. Then it tries its IP address in hexadecimal, then the same with the last character removed, then with the last two removed, down to a single character and finally trying Template:Filename.

in.tftpd[5151]: RRQ from 10.0.0.212 filename linux-install-32bit/pxelinux.0 
in.tftpd[5152]: RRQ from 10.0.0.212 filename linux-install-32bit/pxelinux.cfg/01-00-30-48-73-55-53 
in.tftpd[5152]: sending NAK (1, File not found) to 10.0.0.212
in.tftpd[5153]: RRQ from 10.0.0.212 filename linux-install-32bit/pxelinux.cfg/0A0000D4
in.tftpd[5154]: RRQ from 10.0.0.212 filename linux-install-32bit/fc3-i386-vmlinuz 
in.tftpd[5155]: RRQ from 10.0.0.212 filename linux-install-32bit/fc3-i386-initrd.img 

to be continued...

notes

some additional capabilities added since Redhat 9, e.g. installation using VNC
  • if the installer stops, asking you which NIC to install through, add ksdevice=eth0 to the boot args in Template:Filename

see also

anaconda options

taken from [2]:

Boot time command args:
-----------------------
 
expert          Turns on special features:
                    - allows partitioning of removable media
                    - prompts for driver disk
 
noshell         Do not put a shell on tty2 during install.
 
lowres          Force GUI installer to run at 640x480.
 
resolution=<mode> Run installer in mode specified, '1024x768' for example.
 
nousb           Do not load USB support (helps if install hangs
                early sometimes).
 
nofb            Do not load the VGA16 framebuffer required for doing
                text-mode installation in some languages
 
nofirewire      Do not load support for firewire devices
 
askmethod       Do not automatically use the CD-ROM as the install
                source if we detect a Red Hat Linux CD in your CD-ROM drive.
 
nousbstorage    Do not load usbstorage module in loader.  May help with
                device ordering on SCSI systems.
 
noparport       Do not attempt to load support for parallel ports
 
noprobe         Do not attempt to detect hw, prompts user instead.
 
nopcmcia        Ignore PCMCIA controller in system.
 
skipddc         Skips DDC probe of monitor, may help if its handing system.
 
graphical       Force graphical install. Required to have ftp/http use GUI.
 
text            Force text mode install.
 
vnc             Enable vnc-based installation. You will need to connect
                to the machine using a vnc client application.
 
vncpassword=<password>  Enable a password for the vnc connection. This will
                prevent someone from inadvertantly connecting to the
                vnc-based installation.
 
                Requires 'vnc' option to be specified as well.
 
vncconnect=<host>[:<port>]   Once installation is up and running, connect to
                the vnc client named <host>, and optionally use port <port>.
 
                Requires 'vnc' option to be specified as well.
 
updates         Prompt for floppy containing updates (bug fixes).
 
isa             Prompt user for ISA devices configuration.
 
dd              Use a driver disk.
 
driverdisk      Same as 'dd'.
 
mediacheck      Activates loader code to give user option of testing integrity
                of install source (if an ISO-based method).
 
rescue          Run rescue environment.
 
nomount         Don't automatically mount any installed Linux partitions
                in rescue mode.
 
nopass          Don't pass keyboard/mouse info to stage 2 installer, good for
                testing keyboard and mouse config screens in stage2 installer
                during network installs.
 
 
serial          Turns on serial console support.
 
ksdevice        Takes an argument like 'eth0', tells install what network
                device to use for kickstart from network.
 
ks              Kickstart over NFS.
 
ks=cdrom:       Kickstart from CDROM
 
ks=nfs:<path>   Kickstart from NFS.
 
ks=<url>        Kickstart via HTTP.
 
ks=hd:<dev>     Kickstart via harddrive (dev = 'hda1', for example)
 
ks=file:<path>  Kickstart from a file (path = 'fd0/ks.cfg')
 
ks=ftp://<path> Kickstart from FTP.
 
ks=http://<path> Kickstart from HTTP.
 
kssendmac       Adds HTTP headers to ks=http:// request that can be helpful
                for provisioning systems.  Includes MAC address of all nics in
                a CGI environment variable of the form
                HTTP_X_RHN_PROVISIONING_0, HTTP_X_RHN_PROVISIONING_1, etc, for
                all nics.
 
dhcpclass=<class> Sends a custom DHCP vendor class identifier. ISC's dhcpcd can
                inspect this value using "option vendor-class-identifier".
 
upgradeany      Don't require an /etc/redhat-release that matches the
                expected syntax to upgrade.
 
lang=<lang>     Language to use for the installation.  This should be a
                language which is valid to be used with the 'lang' kickstart
                command.
 
keymap=<keymap> Keyboard layout to use.  Valid values are those which can be
                used for the 'keyboard' kickstart command.
 
ip=<ip>         IP to use for a network installation, use 'dhcp' for DHCP.
 
netmask=<nm>    Netmask to use for a network installation.
 
gateway=<gw>    Gateway to use for a network installation.
 
dns=<dns>       Comma separated list of nameservers to use for a network
                installation.
 
method=nfs:<path> Use <path> for an NFS installation.
 
method=http://<path> Use <path> for an HTTP installation
 
method=ftp://<path> Use <path> for an FTP installation
 
method=hd://<dev>/<path> Use <path> on <dev> for a hard drive installation
 
method=cdrom    Do a CDROM based installation.
 
vnc             Do graphical installation via VNC.  Instead of
                starting a normal X server, vncserver will be started
                and you can then connect remotely to do the
                installation.
 
vncpassword=<password>  Set a password for the vnc session.
 
vncconnect=<host>[:<port>]   Once installation is up and running, connect to
                the vnc client named <host>, and optionally, on port <port>.
                 Requires 'vnc' option to be specified as well.

and undocumented ones:

test
debug           Start up pdb immediately
nofallback      If GUI fails exit
rootpath=       Where to install packages (default /mnt/sysimage)
pcic=           Specify pcmcia controller
overhead=       Override LVM overhead calculation
testpath=
mountfs
traceonly       Don't run, just list modules we use
kickstart=      Set serial install and kickstart file
kbdtype=        Set the type of keyboard
module=         Load additional kernel modules
class=          Choose install class to use
autostep        Make kickstart non-interactive
noselinux       Disable Security Enhanced Linux
selinux         Enable Security Enhanced Linux
vnc=
cmdline         Use command line installer
headless        Automate install for machines with no display
virtpconsole=
xfs             Allows the creation of a xfs filesystem
reiserfs        Allows the creation of a reiserfs filesystem
jfs             Allows the creation of a jfs filesystem
syslogd

kickstart setup for srv31-50 as of 2005-09-19

By uncommenting an entry in rabanus:/etc/dhcpd.conf, restarting its dhcpd and rebooting a machine, you can make it reinstall FC3 and automatically set up the following:

After rebooting after OS installation, it will:

Links

Fedora

Ubuntu

Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox