Skip to content

Latest commit

 

History

History
71 lines (58 loc) · 2.02 KB

kickstart.md

File metadata and controls

71 lines (58 loc) · 2.02 KB

#Kickstart Support

Photon supports kickstart for unattended installations, the kickstart config file can reside in either the CD attached to the host or served through an http server.

##Kickstart capabilities

Photon supports the following configurations:

  • Setting hostname
  • Setting password
  • Setting disk to install
  • Choose Photon flavor to install (minimal or full)
  • Apply post installation script
  • Add public keys, this will allow root ssh login.

Here is a sample configuration file:

{
    "hostname": "<hostname>",
    "password": 
        {
            "crypted": <true|false>,
            "text": "<password whether it's plain text or encrypted>"
        },
    "disk": "/dev/sda",
    "type": "minimal",
    "postinstall": [
                    "#!/bin/sh",
                    "echo \"Hello World\" > /etc/postinstall"
                   ],
    "public_key": "<public_key>"
}

##Unattended installation though kickstart To have unattended installation, you have to pass ks=<config_file> parameter to the kernel command. The config file should be either:

  • on the iso ks=cdrom:\<config_file_path>,
  • or served over http server ks=http://<server>/<config_file_path>

##Building an iso with your kickstart config file Given a recent build photon.iso

# mount the photon.iso
mkdir /tmp/photon-iso
sudo mount photon.iso /tmp/photon-iso

#copy the content of the iso to a writable folder
mkdir /tmp/photon-ks-iso
cp -r /tmp/photon-iso/* /tmp/photon-ks-iso/

pushd /tmp/photon-ks-iso/

# write your ks config file
cp isolinux/sample_ks.cfg isolinux/my_ks.cfg
vim isolinux/my_ks.cfg

# add new item in the installation menu by modyfing isolinux/menu.cfg
cat >> isolinux/menu.cfg << EOF
label my_unattended
	menu label ^My Unattended Install
	kernel vmlinuz
	append initrd=initrd.img root=/dev/ram0 ks=cdrom:/isolinux/my_ks.cfg loglevel=3
EOF

# rebuild the iso
mkisofs -R -l -L -D -b isolinux/isolinux.bin -c isolinux/boot.cat \
		-no-emul-boot -boot-load-size 4 -boot-info-table -V "PHOTON_$(date +%Y%m%d)" \
		. > <new_iso_path>.iso

popd