3.4.4 Running the Installer

Once you have decided on target device and boot loader location, you can run the installer. The script is called ttylinux-installer. The following is the help output from the ttylinux-installer script, it describes how to invoke the script. The square brackets indicate an optional parameter, the partition device is used for the installation target device.

(C) 2008-2011 Douglas Jerome <douglas@ttylinux.org>

Usage: $(basename $0) [ <options> ] <source device> <target device>
Usage: $(basename $0) --config=<file> <source device>

     --help ......... Show this help.
     -m | --mbr ..... Put lilo boot loader onto the Master Boot Record of the
                      disk device containing the <target device> disk partition.
     --nolilo ....... Do not put the lilo boot loader onto the disk drive.
     --vcs=<name> ... Use <name> for the Virtual Context Script.

<source device> is the CD-ROM device that has the ttylinux CD-ROM.

<target device> is the disk partition device onto which ttylinux is installed;
                it needs to be a disk partition device, not the whole disk
                device.  An ext2 file system is created on this device.

Create an ext2 file system on the disk partition device <target device>,
install ttylinux from the CD-ROM <source device> into the new file system on
<target device>, and then maybe put a lilo boot loader onto the target disk.
The lilo boot loader is put onto the disk partition <target device> unless the
-m or --mbr option is present, in which case the it is put onto the Master Boot
Record of the disk device.  No lilo boot loader is put onto the disk if the
--nolilo option is preset or if the running architecture does not support lilo
e.g., ttylinux PowerPC.

For example, to install from the CD-ROM device /dev/hdc into partition device /dev/hda2 and placing LILO on the MBR, /dev/hda disk device, you would use:

	ttylinux-installer -m /dev/hdc /dev/hda2

Another example, installing from the second SATA CD-ROM device /dev/scd1 into the third partition device of the second SATA disk and placing LILO on the boot sector of the target partition:

	ttylinux-installer /dev/scd1 /dev/sdb3

The installer checks if the source CR-ROM device contains a ttylinux CD-ROM disc; if the CD-ROM disc is found then a summary of what is to be installed on which device is printed and you are given a choice of continuing or aborting. Enter "yes" to continue the installation.

The installer creates an ext2 file system on the target partition then copies the ttylinux distribution files onto the new file system, and then installs the LILO bootloader.

After the installer is finished you can remove the CD-ROM disc from your computer and reboot.

Using the Installation Configuration File

When you boot ttylinux from the CD-ROM image and log in as root, you will find a file named "install.conf" in the /root directory; this file is an example of an installation configuration file that can be used to direct the automated installtion activites of the ttylinux installer script. The example "install.conf" file is well documented; read it to learn how to use it.

You must first manually partition the hard drive, and then make sure the installation configuration file's fstab section matches the actual disk partitions.

Example, to install from the CD-ROM device /dev/hdc into partition device /dev/hda2, using the installation configuration file:

	ttylinux-installer --config=install.conf /dev/hda2

Using a Virtual Context Script

The ttylinux installer script supports a Virtual Context Script option in which the installed system is locked-down and boots with a startup sequence that mounts an iso9660 (CD-ROM) file system and runs a contextualization script from that file system. This is for running the installed ttylinux system in a virtual environment that may be prone to unauthorized log-in attempts.

The -vcs=<name> option names the Virtual Context Script to be invoked at boot startup each time the installed system boots. The named Virtual Context Script is inkvoked from an iso9660 file system that is mounted at boot startup; the block device for this file system must be available as /dev/hda, /dev/hdc, /dev/sr0, or /dev/cdrom.

When the -vcs=<name> option is used, the installed system is locked down by:
1. the user account is removed
2. the getty logins are all disabled
3. dropbear (sshd) is configured to run with passwords disabled
4. the firewall is enabled allowing only the SSH port
5. the Virtual Context Script is configured to be invoked at startup
6. the startup is configured to create a random root password

It is expected that the Virtual Context Script, which is invoked each time the installed system boots, puts an ssh-compliant public key into the /root/.ssh/authorized_keys file. This allows root login via SSH by someone with the corresponding SSH-compliant private key. See section 4.5 for some more information on dropbear and public/private key usage.