[[TOC(Software/f*, depth=3)]] == Creating custom OS images == In order to use an OS other than the ones provided with stock images (Ubuntu based images), you can either provide your own (frisbee) image of the OS of your choice (that was prepared off-site) or use the netboot method on ORBIT infrastructure. Regardless of the method, the resulting image should support: * a serial console (@115K, 8, n, 1) on the first serial port * driver support for 2 gigabit network card * and dhcp on the 2nd wired gigabit network interface === Installing custom OS with PXE netboot method === The metod is based on [http://en.wikipedia.org/wiki/Preboot_Execution_Environment Preboot Execution Environment (PXE)] which is using a combination of DHCP and tftp services to download initial installation package (network installer software and it's configuration) onto the node. Once the installation package is downloaded, the control transfers to the installer. Please be sure the installer for the OS of your choice provides a serial console on the first serial port (@115K,8,n,1) and has appropriate network drivers. We will illustrate this process on the natty * The XML interface is self explanatory. * Copy your boot script to your tftp server (e.g. /tftpboot on repository1) * Configure the boot behavior of your node via the PXE aggregate manager. The PXE aggregate manager at: http://pxe:5052/pxe will show you all of the available URLs. What you need to use is: http://pxe:5052/pxe/nodeSetBootImage?img="image_file_name"&nodes="set-of-nodes" and: http://pxe:5052/pxe/nodeSetClearBootImage?img="image_file_name"&nodes="set-of-nodes" You have to come from the domain console to use this service (i.e. if you are working with the node in sb1 you have to issue this on console.sb1). To interact with your node, follow the instructions on our FAQ concerning interaction via serial consoles After you have an image, simply use {{{ omf save x,y }}} to save the image of the node in our repository for further use === Ubunty natty installation example === Create /tftpboot/ubuntu-natty direcotry and download network appropriate installation files: {{{ guest@repository1.:/tftpboot# mkdir ubuntu-natty guest@repository1.:/tftpboot# cd ubuntu-natty guest@repository1.:/tftpboot/ubuntu-natty# wget http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux --2011-09-13 10:00:46-- http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux Resolving archive.ubuntu.com... 91.189.92.170, 91.189.88.31, 91.189.88.40, ... Connecting to archive.ubuntu.com|91.189.92.170|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 4521296 (4.3M) [text/plain] Saving to: `linux' 100%[========================================>] 4,521,296 1.46M/s in 2.9s 2011-09-13 10:00:49 (1.46 MB/s) - `linux' saved [4521296/4521296] guest@repository1.:/tftpboot/ubuntu-natty# wget http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz --2011-09-13 10:00:59-- http://archive.ubuntu.com/ubuntu/dists/natty/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz Resolving archive.ubuntu.com... 91.189.92.169, 91.189.92.170, 91.189.88.31, ... Connecting to archive.ubuntu.com|91.189.92.169|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 7987143 (7.6M) [application/x-gzip] Saving to: `initrd.gz' 100%[========================================>] 7,987,143 2.26M/s in 3.4s 2011-09-13 10:01:03 (2.26 MB/s) - `initrd.gz' saved [7987143/7987143] guest@repository1.:/tftpboot/ubuntu-natty# }}} Create pxe configuraiton file in /tftpboot/pxelinux.cfg/ubuntu-natty that instruct PXE process to download installer kernel and filesystem from /tftpboot/ubunty-natty directory: {{{ SERIAL 0 115000 0 DEFAULT linux LABEL ubuntu-natty # ubuntu installer is installed in /tftpboot/ubuntu-natty (linux and initrd.gz). KERNEL ubuntu-natty/linux APPEND initrd=ubuntu-natty/initrd.gz ramdisk_size=32768 root=/dev/rd/0 rw contrpre seed/locale=en_US kbd-chooser/method=us netcfg/choose_interface=eth1 -- PROMPT 0 }}} https://help.ubuntu.com/11.04/installation-guide/amd64/preseed-contents.html [[Include(wiki:SaveNode)]]