#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 ```