User:Lucas/Gentoo Install Notes

From stoney cloud
< User:Lucas
Revision as of 19:05, 22 February 2014 by Lucas (Talk | contribs)

Jump to: navigation, search
  • hack /usr/local/scripts/netfilter/local/chains/vms/kvm_0231_chain.sh on host to allow gateway conns
  • first hd is /dev/vda
  • default gentoo handbook install with lvm setup on vda3 and one large lv_root
  • install lvm2 so you can build a lvm initramfs
    • if you skip this you will have tons of fun loading lvm in the initramfs shell: lvm vgscan --mknodes && lvm lvchange -a ly vg01/lv_root
  • kernel build with: genkernel --install --lvm --menuconfig all (do not use --virtio, activate them in menuconfig instead, I had heaps of fun hunting down all the modules)
    • actually genkernel --install --lvm --kernel-config=/root/kernel.config all since lazy me hates using a ui
    • the --virtio switch seems screwed due to some oldconfig changes with the VIRTIO_MMIO system, but i haven't looked into that more
  • remember to also set GRUB_CMDLINE_LINUX="dolvm" in /etc/default/grub (as i said before, a ton of fun)
  • more things to install on new machines: emerge dev-vcs/git vim
  • now for puppet: USE="augeas vim-syntax" emerge puppet
  • before using puppet: emerge eix && eix-update
  • clone puppet tree: git clone https://github.com/purplehazech/purplehazech-orcatamer.git /etc/puppet/environments/development
  • install librarian: gem19 install librarian-puppet
  • load puppet modules: cd /etc/puppet/environments/development && librarian-puppet install
  • workaround some TODOs: ln -s /etc/puppet/environments/development/ /vagrant && mkdir /usr/local/portage && touch /usr/local/portage/make.conf && ulimit -n 2048
  • test if puppet is useable: puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/development/manifests/ -e 'notify{"test":}' --pluginsync
  • run puppet like so to find the first batch of stuff to fix: puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/developmen

t/manifests/ -e 'include ::role::puppet::master' --pluginsync --noop

  • let puppet rip: puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/developmen

t/manifests/ -e 'include ::role::puppet::master' --pluginsync

TODOs

  • replace silly headers in orcatamer with block chars with something that most tools dont bork on (ie. some ascii art)
    • I removed this on Puppetfile and Modulefile to get librarian to run
  • use github https URLs through out, they are simply proxy friendlier everywhere
  • refactor role and profile things into proper modules and use proper puppet:// data urls
  • dont' depend on /usr/local/portage/make.conf
  • figure out why the betagarden overlay needs ulimit -n 2048</clone> to clone