Anaconda Boot Options ===================== :Author: Anaconda Developers //Actual authors: // Will Woods // Anne Mulhern // written in asciidoc: http://www.methods.co.nz/asciidoc/ // here's a few macros to improve readability in the text below.. :dracutdoc: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html :dracutkernel: {dracutdoc}#dracutcmdline7[`dracut.kernel(7)`] :dracutnet: {dracutdoc}#_network[the "Network" section of `dracut.kernel(7)`] :dracutdebug: {dracutdoc}#_troubleshooting[dracut "Troubleshooting" guide] :anacondawiki: https://fedoraproject.org/wiki/Anaconda[Anaconda wiki] These are the boot options that are useful when starting Anaconda. For more information refer to the appropriate Installation Guide for your release and to the {anacondawiki}. Anaconda bootup is handled by dracut, so most of the kernel arguments handled by dracut are also valid. See {dracutkernel} for details on those options. Throughout this guide, installer-specific options are prefixed with `inst` (e.g. `inst.ks`). Options specified without the `inst` prefix are recognized, but the prefix may be required in a future release. [[repo]] Installation Source ------------------- .Installable Trees [NOTE] ============================================================================== An _installable tree_ is a directory structure containing installer images, packages, and repodata. footnote:[an installable tree must contain a valid `.treeinfo` file for `inst.repo` or `inst.stage2` to work.] Usually this is either a copy of the DVD media (or loopback-mounted DVD image), or the `/os/` directory on the Fedora mirrors. ============================================================================== [[inst.repo]] === inst.repo === This gives the location of the _Install Source_ - that is, the place where the installer can find its images and packages. It can be specified in a few different ways: `inst.repo=cdrom`:: Search the system's CDROM drives for installer media. This is the default. `inst.repo=cdrom:`:: Look for installer media in the specified disk device. `inst.repo=hd::`:: Mount the given disk partition and install from the given path. `inst.repo=[http,https,ftp]:///`:: Look for an installable tree at the given URL. `inst.repo=nfs:[:]:/`:: Mount the given NFS server and path. Uses NFS version *3* by default. + You can specify what version of the NFS protocol to use by adding +nfsvers=X+ to the `options`. [[diskdev]] .Disk Device Names [NOTE] ====================================================================== Disk devices may be specified with any of the following forms: Kernel Device Name:: `/dev/sda1`, `sdb2` Filesystem Label:: `LABEL=FLASH`, `LABEL=Fedora`, `CDLABEL=Fedora\x2017\x20x86_64` Filesystem UUID:: `UUID=8176c7bf-04ff-403a-a832-9557f94e61db` Non-alphanumeric characters should be escaped with +\xNN+, where 'NN' is the hexidecimal representation of the character (e.g. +\x20+ for the space character (' '). ====================================================================== === inst.stage2 === This specifies the location to fetch only the installer runtime image; packages will be ignored. Otherwise the same as <>. [[kickstart]] Kickstart --------- === inst.ks === Give the location of a kickstart file to be used to automate the install. Locations may be specified using any of the formats allowed for <>. For any format the `` component defaults to `/ks.cfg` if it is omitted. If `inst.ks` is used without a value, the installer will look for `nfs::/`: * `` is the DHCP "next-server" option, or the IP of the DHCP server itself, * `` is the DHCP "filename" option, or `/kickstart/`, and * if the filename given ends in `/`, `-kickstart` is added * example: ** DHCP server: `192.168.122.1` ** client address: `192.168.122.100` *** kickstart file: `nfs:192.168.122.1:/kickstart/192.168.122.100-kickstart` ==== inst.ks.sendmac ==== Add headers to outgoing HTTP requests which include the MAC addresses of all network interfaces. The header is of the form: * `X-RHN-Provisioning-MAC-0: eth0 01:23:45:67:89:ab` This is helpful when using `inst.ks=http...` to provision systems. ==== inst.ks.sendsn ==== Add a header to outgoing HTTP requests which includes the system's serial number. footnote:[as read from `/sys/class/dmi/id/product_serial`] The header is of the form: * `X-System-Serial-Number: ` [[network]] Network Options --------------- Initial network setup is handled by dracut. For detailed information consult {dracutnet}. The most common dracut network options are covered here, along with some installer-specific options. === ip === Configure one (or more) network interfaces. You can use multiple `ip` arguments to configure multiple interfaces, but if you do you must specify an interface for every `ip=` argument, and you must specify which interface is the primary boot interface with `bootdev`. Accepts a few different forms; the most common are: `ip=`:: Try to bring up every interface using the given autoconf method. Defaults to `ip=dhcp` if network is required by `inst.repo`, `inst.ks`, `inst.updates`, etc. `ip=:`:: Bring up only one interface using the given autoconf method, e.g. `ip=eth0:dhcp`. `ip=::::::none`:: Bring up the given interface with a static network config, where: [horizontal] ``::: The client IP address. IPv6 addresses may be specified by putting them in square brackets, like so: `[2001:DB8::1]`. ``::: The default gateway. IPv6 addresses are accepted here too. ``::: The netmask (e.g. `255.255.255.0`) or prefix (e.g. `64`). ``::: Hostname for the client machine. This component is optional. `ip=:::::::`:: Bring up the given interface with the given autoconf method, but override the automatically obtained IP/gateway/etc. with the provided values. + Technically all of the items are optional, so if you want to use dhcp but also set a hostname you can use `ip=::::::dhcp`. === nameserver === Specify the address of a nameserver to use. May be used multiple times. === bootdev === Specify which interface is the boot device. Required if multiple ip= options are used. === ifname === `ifname=:`:: Assign the given interface name to the network device with the given MAC. May be used multiple times. === inst.dhcpclass === Set the DHCP vendor class identifier. footnote:[ISC `dhcpd` will see this value as "option vendor-class-identifier".] Defaults to `anaconda-$(uname -srm)`. Console / Display Options ------------------------- [[console]] === console === This is a kernel option that specifies what device to use as the primary console. For example, if your console should be on the first serial port, use `console=ttyS0`. You can use multiple `console=` options; boot message will be displayed on all consoles, but anaconda will put its display on the last console listed. Implies <>. === inst.lang === Set the language to be used during installation. The language specified must be valid for the `lang` kickstart command. === inst.geoloc === Configure geolocation usage in Anaconda. Geolocation is used to pre-set language and time zone. `inst.geoloc=0`:: Disables geolocation. `inst.geoloc=provider_fedora_geoip`:: Use the Fedora GeoIP API (default). `inst.geoloc=provider_hostip`:: Use the Hostip.info GeoIP API. === inst.keymap === Set the keyboard layout to use. The layout specified must be valid for use with the `keyboard` kickstart command. === inst.cmdline === Run the installer in command-line mode. This mode does not allow any interaction; all options must be specified in a kickstart file or on the command line. === inst.graphical === Run the installer in graphical mode. This is the default. [[inst.text]] === inst.text === Run the installer using a limited text-based UI. Unless you're using a kickstart file this probably isn't a good idea; you should use VNC instead. [[inst.vnc]] === inst.vnc === Run the installer GUI in a VNC session. You will need a VNC client application to interact with the installer. VNC sharing is enabled, so multiple clients may connect. A system installed with VNC will start in text mode (runlevel 3). ==== inst.vncpassword ==== Set a password on the VNC server used by the installer. ==== inst.vncconnect ==== `inst.vncconnect=[:]`:: Once the install starts, connect to a listening VNC client at the given host. Default port is 5900. + Use with `vncviewer -listen`. === inst.headless === Specify that the machine being installed onto doesn't have any display hardware, and that anaconda shouldn't bother looking for it. === inst.xdriver === Specify the X driver that should be used during installation and on the installed system. === inst.usefbx === Use the framebuffer X driver (`fbdev`) rather than a hardware-specific driver. Equivalent to `inst.xdriver=fbdev`. === inst.sshd === Start up `sshd` during system installation. You can then ssh in while the installation progresses to debug or monitor its progress. *NOTE*: The `root` account has no password by default. You can set one using the `sshpw` kickstart command. Debugging and Troubleshooting ----------------------------- === inst.mediacheck === Verify the installer media before starting the install. === inst.rescue === Run the rescue environment. This is useful for trying to diagnose and fix broken systems. [[inst.updates]] === inst.updates === Give the location of an `updates.img` to be applied to the installer runtime. Locations may be specified using any of the formats allowed for `inst.repo`. For any format the `` component defaults to `/updates.img` if it is omitted. === inst.loglevel === `inst.loglevel=`:: Set the minimum level required for messages to be logged on a terminal (log files always contain messages of all levels). The default value is `info`. === inst.syslog === `inst.syslog=[:]`:: Once installation is running, send log messages to the syslog process on the given host. The default port is 514 (UDP). + Requires the remote syslog process to accept incoming connections. === inst.virtiolog === Forward logs through the named virtio port (a character device at `/dev/virtio-ports/`). A port named `org.fedoraproject.anaconda.log.0` will be used by default, if found. Deprecated Options ------------------ These options should still be accepted by the installer, but they are deprecated and may be removed soon. === method === This is an alias for <>. === repo=nfsiso:... === The difference between an installable tree and a dir with an `.iso` file is autodetected, so this is the same as `inst.repo=nfs:`... === dns === Use <> instead. Note that `nameserver` does not accept comma-separated lists; use multiple `nameserver` options instead. === netmask, gateway, hostname === These can be provided as part of the <> option. === ip=bootif === A PXE-supplied BOOTIF option will be used automatically, so there's no need for this. === ksdevice === [horizontal] _Not present_:: The first device with a usable link is used `ksdevice=link`:: Ignored (this is the same as the default behavior) `ksdevice=bootif`:: Ignored (this is the default if `BOOTIF=` is present) `ksdevice=ibft`:: Replaced with <> `ksdevice=`:: Replaced with <> `ksdevice=`:: Replaced with <> === blacklist, nofirewire === `modprobe` handles blacklisting kernel modules on its own; try `modprobe.blacklist=,...` You can blacklist the firewire module with `modprobe.blacklist=firewire_ohci`. Removed Options --------------- These options are obsolete and have been removed. === askmethod, asknetwork === Anaconda's initramfs is now is completely non-interactive, so these have been removed. Instead, use <> or specify appropriate <> options. === serial === This option was never intended for public use; it was supposed to be used to force anaconda to use `/dev/ttyS0` as its console when testing it on a live machine. Use `console=ttyS0` or similar instead. See <> for details. === updates === Use <> instead. === essid, wepkey, wpakey === Dracut doesn't support wireless networking, so these don't do anything. === ethtool === Who needs to force half-duplex 10-base-T anymore? === gdb === This was used to debug `loader`, so it has been removed. There are plenty of options for debugging dracut-based initramfs - see the {dracutdebug}. === ks=floppy === We no longer support floppy drives. Try `inst.ks=hd:` instead. === display === For remote display of the UI, use <>. === utf8 === All this option actually did was set `TERM=vt100`. The default `TERM` setting works fine these days, so this was no longer necessary. === noipv6 === ipv6 is built into the kernel and can't be removed. You should be able to disable it with `ipv6.disable`, though. === upgradeany === Anaconda doesn't handle upgrades anymore. // vim: set tw=78 syntax=asciidoc: