Where do I add boot parameters to use ks.cfg

5,592

system-config-kickstart Install system-config-kickstart

Basic Configuration: Location and language settings.

Installation Method: Switch this to ‘CD/ROM’.

Partition information: Create a minimum of a root (/) partition of ext4 format and a swap partition. You can set the root partition to fill the free space on the disk.

User configuration: Create one user account and no root account if you are comfortable with Ubuntu’s standard rootless setup.

Package selection: This isn’t implemented in Ubuntu.

Creating an unattended install consists of the following steps:

  1. Create a configuration file, ks.cfg, using the GUI Kickstart tool.
  2. Extract the files from the Ubuntu install ISO.
  3. Add the ks.cfg file to the install disk and alter the boot menu to add automatic install as an install option.
  4. Reconstitute the ISO file.

Much of Kickstart’s ease of use is thanks to its graphical configuration tool. It’s in the Ubuntu repositories, so search for it using the package manager or install it via the command line, as follows:

sudo apt-get install
system-config-kickstart

Once installed, the Kickstart GUI tool should place itself in the System Tools menu of the application launcher. Launching it, you’ll be presented with about a dozen pages of options, but fortunately, all of them should be fairly self-explanatory to anyone who has installed Ubuntu before.

Now save the Kickstart configuration file. By default it is called ks.cfg, but you can give it any name. It’s a good idea to check over the configuration file manually by launching it in a text editor. We now need to copy the files from the Ubuntu install CD-ROM into a directory on the hard disk. Download the alternative install ISO (rather than the live CD) from the Ubuntu website and place it in your home directory. Mount this disk from the command line:

mkdir iso_mount
sudo mount -o loop ubuntu-10.10-alternate-i386.iso.torrent iso_mount

This makes the files inside the ISO accessible via the directory iso_mount. Note that you can browse this directory using a file manager, but we’d recommend doing the actual file copying from the command line because hidden files and directories must be preserved. Copy the files to a directory inside your home directory and make them writable with:

mkdir ubuntu_files
rsync -a iso_mount/ ubuntu_files/
sudo chmod -R 777 ubuntu_files

Place the Kickstart file that you have created into the ubuntu_files directory. Now we have to tell the install system where to find the Kickstart configuration file when it boots. Load text.cfg, located in the isolinux directory, into a text editor. This file contains the menu options that you first see when you boot an Ubuntu installation disk. Locate the menu options for a standard install and then cut and paste them so that you have a second copy. We’re going to alter it so that it looks something like this:

label autoinstall menu label
^Automatically Install Ubuntu kernel
/install/vmlinuz append
file=/cdrom/preseed/ubuntu.seed
initrd=/install/initrd.gz
ks=cdrom:/ks.cfg –

We’ve altered the label and title of this new menu entry, added a reference to the location of the Kickstart file and removed the ‘quiet’ flag so that we get lots of progress information. This constitutes the entirety of the changes we have to make, and we can now re-create the ISO file.

cd ubuntu_files
mkisofs -D -r -V “$IMAGE_NAME” -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/autoinstall.iso .

Take our tip: try booting the ISO inside a virtual machine to make sure it works. Notice that it does require some interaction at the very first menu.

Share:
5,592

Related videos on Youtube

Darryl Matthews
Author by

Darryl Matthews

Updated on September 17, 2022

Comments

  • Darryl Matthews
    Darryl Matthews over 1 year

    I created a kickstart file ks.cfg and then I have put that in the bootable disk (Ubuntu 10.04), and then added the following line to the isolinux.cfg

    linux ks=ks.cfg
    

    and have not removed any other lines from the isoconfig.cfg file. But the installation is not automated, it is asking for language and all.

    If I remove include menu.cfg or any other line from isolinux.cfg I get a boot error.

    What should I do now to automate the installation. Where should i add the boot parameters so that installation will start from the ks.cfg?