Me Andrew Gaffney
Email: andrew@agaffney.org
IRC: agaffney (on Freenode and OFTC)
Home
   
Personal
  About Me
  My Cats
   
Professional
  Resume (HTML)
  Resume (PDF)
  LinkedIn Profile
   
Projects
  GitHub
  Quickstart
   
   

Quickstart

Back in October 2006, I got bored one weekend and decided that GLI ("the installer") sucked and was no longer on track to achieve its original goal of acting as an installer for automated deployments of Gentoo to multiple machines. I decided that I would address one of the chief complaints about GLI (that python was too bloated to fit in a netboot image) by writing my replacement in POSIX sh, so that it could run with busybox ash. Thus, Quickstart was born.

The first version had a very cumbersome config syntax (defining vars in a "profile" which was sourced by install.sh). Newer versions use a config syntax that's modeled on Kickstart's config syntax. Under the hood, it's still the same arcane variables, but now they're hidden by pretty "wrapper" functions that set the variables appropriately based on the options passed to them. A list of all configurable options is available here. You can also find an example profile.

Supported Architectures

  • x86
  • x86_64 (amd64)
  • pa-risc (hppa)
  • sparc64

Features

  • partitioning from a blank disk (drive is wiped)
  • specify partition sizes in MB, GB, % of remaining, or + (all remaining)
  • creation of md raid arrays
  • creation of lvm2 volumes
  • ability to format partitions as ext2, ext3, swap, reiserfs, xfs, or jfs
  • specify local filesystems to be mounted during the install
  • specify network shares to be mounted during the install
  • choose your bootloader
  • automatic bootloader configuration (currently grub, palo, and silo)
  • specify device bootloader is installed to
  • choose your logger (or none)
  • choose your cron daemon (or none)
  • choose your root password (plain-text or pre-encrypted)
  • specify URI for stage 3 tarball (file, http, https, ftp, or rsync)
  • specify method for getting a portage tree (sync, webrsync, or snapshot)
  • specify the directory that is used for the chroot
  • specify extra packages to be emerged after the base system
  • specify extra options passed to genkernel
  • specify URI for pre-made kernel config
  • choose which kernel sources package to use to build your kernel
  • choose your timezone
  • choose which services to add to which runlevels
  • choose which services to remove from which runlevels
  • specify basic networking configuration
  • run custom code using pre-/post-install step hooks in the config file (it's just a sh file)
  • many more things that I just can't think of

Getting It

So, after reading all of the above, you're hot and bothered and excited to start using Quickstart? Good! There are a few ways to get it:

  • Releases
  • Check it out from Git:
    git clone git://git.agaffney.org/quickstart.git

Bugs/Contributing

Since this isn't an official Gentoo project (yet) and I'm too lazy to set up a bug tracker or something like it, any bug reports and/or patches can and should just be emailed to me at agaffney@gentoo.org.