= Notes on Building the Inventory Image= This consists of the following steps: * Creation of bootable directory via debootstrap * Installation of needed packages * Installation of Kernel * Installation of Inventory Scripts * Fixing device naming and driver load order * NFS server configuration to export it * exports are stored in /etc/exports on respository1 * after editing file, run {{{exportfs -ra}}} * PXE configuration so a node boots it * Debootstrap steps * create /export/inv_root/inventory_16.04 * run {{{sudo debootstrap --arch amd64 xenial /export/inv_root/inventory_16.04/}}} * Chroot into new directory * {{{ LANG=C.UTF-8 chroot /export/inv_root/inventory_16.04/ /bin/bash }}} * Install editor * vim * Update /etc/apt/sources.list {{{ ###### Ubuntu Main Repos deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted universe ###### Ubuntu Update Repos deb http://us.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe }}} * {{{apt update}}} * Add lines to /etc/fstab {{{ # proc /proc proc defaults 0 0 /dev/nfs / nfs defaults,ro 0 1 none /tmp tmpfs defaults 0 0 none /run tmpfs defaults 0 0 none /var/tmp tmpfs defaults 0 0 }}} * Add lines to /etc/network/interfaces {{{ auto lo iface lo inet loopback auto eth0 eth1 eth2 iface eth0 inet dhcp iface eth1 inet dhcp iface eth2 inet dhcp }}} * Install ssh * {{{apt install openssh-client openssh-server}}} * allow root passwd login in /etc/ssh/sshd_config * {{{PermitRootLogin yes}}} * {{{PermitEmptyPasswords yes}}} * set root password * passwd ... * ssh on 16.04 doesn't like empty root password, may be a PAM issue * Remove conflicting files * rm /etc/hostname * Install inventory specific packages * #nfs-common (unneeded, have it in kernel?) * {{{apt install software-properties-common}}} * For add-apt-ppa * add ettus PPA and UHD packages * {{{add-apt-repository ppa:ettusresearch/uhd}}} * {{{apt update}}} * {{{apt install libuhd003 libuhd-dev uhd-host}}} * Install Ruby 2.3 * {{{apt install build-essential}}} * {{{apt install ruby ruby-dev}}} * {{{gem install rest-client}}} * warning, depreciated, replace with rest-client * Install system tools * lshw * sysbench * smartmontools