## About Cuni installs unix network installers. The aim of cuni is to be able to install any unix from any unix via network: * cuni creates a structure usable for PXE-networkbooting and installing To make use of what cuni provides, you need to run a tftp server to be able to install clients over the network. Cuni is a very basic infrastructure tool and helps you to setup and upgrade install servers. ## Using cuni Type ***cuni*** and read the usage description. ### Getting cuni git clone git://git.schottelius.org/cuni ## Using the unix installers Most unix installers have different semantics for execution. Some of them are able to do automatic installations, some of them even need a hint on what to boot from where. It is planned to make this information available directly in cuni, but until then, examples on how to use them are provided here: ### Debian/Ubuntu * Can be automated using Preseed Syslinux sample code: LABEL debian_lenny_amd64 MENU LABEL Debian Lenny amd64 KERNEL syslinux/pxechain.com APPEND ::debian/amd64/lenny/pxelinux.0 ### OpenBSD Syslinux sample code: # works, needs "openbsd/bsd.rd" LABEL openbesdtest MENU LABEL OpenBSD KERNEL syslinux/pxechain.com APPEND ::openbsd/pxeboot ## Adding a new OS installer Assume, you want to add support for the installer of OS "kroet", which requires the arguments "version" and "arch". * Define arguments needed kroet_args="version arch" # Add code here, that is executed in the destination directory cuni_kroet() { # MUST Define ddir: subdirectory which contains the actual installer ddir="${arch}/${version}" # MUST Define bootfile: file that should be booted bootfile="$ddir/pxelinux.0" # create os specific directory structure # get os specific installer } ## Testing a new OS installer You can test the new installation with qemu for example: qemu-kvm -boot n -net nic -net user,hostname=cunitest,tftp=/home/services/tftp/root,bootfile=/pxelinux.0