From a106e91f8df23598a62e28944f47c85fb46041f6 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sat, 09 Apr 2016 12:47:54 -0400 Subject: hosts/alsvid200: Move to hosts/alsvid2 --- (limited to 'hosts/alsvid2') diff --git a/hosts/alsvid2 b/hosts/alsvid2 new file mode 100644 index 0000000..7aa7312 --- /dev/null +++ b/hosts/alsvid2 @@ -0,0 +1,242 @@ +#!/bin/sh + +# start,size,id,bootable +part_script=' + ,+,83,* + ' + +# fs mp type options dump pass +fstab=' + @DEV1@ / ext4 errors=remount-ro 0 1 + /var/swap swap swap defaults,pri=100 0 0 + ' + +mirror='http://httpredir.debian.org/debian' +suite='jessie' +arch='amd64' +extra_pkgs=' + linux-image-amd64 + sysvinit-core + ' + +hostname='alsvid2' + +locale='en_US' +supported_locales='en_US.UTF-8 en_DK.UTF-8' + +time_zone='UTC' + +passwd_shadow='on' +root_passwd_crypted='$6$XMSNMQ6H8G0$9J.jbKWARqSLj51uC1L3J9y0nO/E6.7/l6JdUAwL6Dn.KVeaYbmA2H4EBHT.d55a49gifPkF0AuUnziKN45rF.' +root_login=true +user_make=true +user_name='pj' +user_full_name='P. J. McDermott' +user_groups='adm cdrom floppy sudo audio dip video plugdev netdev' +user_passwd_crypted='$6$.4kiiaCvfP$WZtL6RXtWtW0lIRnx2GyJwaN1OdkQUEHOulzxyXlS.dKTClhaI9Hkq3.bdE6TC613VqgEekwPgm3.T1D9CCuk0' + +debconf_selections=' + keyboard-configuration keyboard-configuration/layout select English (US) + keyboard-configuration keyboard-configuration/variant select English (US) + wireshark-common wireshark-common/install-setuid boolean true + ' + +postinst_pkgs=' + bash mksh ksh zsh bash-completion + screen sudo adduser + bc + nocache + vcsh myrepos + vim bvi less wdiff vbindiff + git gitk build-essential autoconf automake pkg-config m4 bison flex gdb + patch quilt + sbuild devscripts lintian debootstrap + pciutils libpci-dev acpica-tools libfreetype6-dev + kpartx genisoimage syslinux-utils qemu-system-x86 + u-boot-tools heimdall-flash android-tools-adb android-tools-fastboot + flashrom + markdown + gnupg gnupg-agent openssl + sqlite3 + dnsutils whois + cups printer-driver-hpcups system-config-printer + xorg xserver-xorg-video-intel xserver-xorg-input-evdev + xinput xserver-xorg-input-synaptics desktop-base x11-xserver-utils + xdg-utils avahi-daemon libnss-mdns anacron eject iw alsa-utils alsa-base + fluxbox fbpanel fbpager clipit compton + xdm xscreensaver scrot + gnome-themes-standard + roxterm-gtk3 gtk-redshift workrave + mpd mpc ncmpcpp mpdscribble mpv sox audacity wodim youtube-dl + gpicview gimp inkscape dia fontforge tiled + librsvg2-bin xcftools imagemagick + kanatest + pidgin mumble gobby + claws-mail claws-mail-fancy-plugin + claws-mail-pgpmime claws-mail-pgpinline + claws-mail-spam-report html2ps + openssh-server openssh-client rsync netcat-openbsd + kicad gerbv openscad + libreoffice evince + planner ledger + minicom htop ntp ncdu + wicd-daemon wicd-gtk wicd-curses wicd-cli + wireshark + gnome-calculator units + fonts-mplus fonts-linuxlibertine fonts-freefont-ttf + fonts-dejavu fonts-liberation + fonts-droid fonts-ubuntu-title fonts-lato ttf-unifont + libhtml-tree-perl libhtml-template-perl + libemail-mime-perl libemail-sender-perl + libhtml-template-perl libjson-xs-perl libwww-perl + libparse-recdescent-perl libplack-perl liburi-perl + libcrypt-rijndael-perl + starman bsdgames fortune-mod fortunes-min fortunes-bofh-excuses + libdbi-perl libcurses-ui-perl perl-doc + ' + +do_postinst() +{ + # Make swap file and set vm.swappiness. + # mkswap needs to be given the full path to the swap file including the + # root file system's mount point, or else this false error happens: + # mkswap: error: /var/swap is mounted; will not make swapspace + fallocate -l 12GiB "${target}/var/swap" || return 1 + chmod 0600 "${target}/var/swap" || return 1 + mkswap "${target}/var/swap" || return 1 + printf 'vm.swappiness = 10\n' \ + >"${target}/etc/sysctl.d/vm-swappiness.conf" + + # Hibernation. + mkdir -p "${target}/boot/grub/" || return 1 + root="UUID=$(blkid -o value -s UUID "${dev}1")" + offset="$(in_target filefrag -v /var/swap | sed -n ' + /physical_offset:/{ + n; + s/^[ 0-9.]*:[ 0-9.]*: *\([0-9][0-9]*\)...*$/\1/; + p; + q; + };')" + cmdline="root=${root} ro quiet resume=${root} resume_offset=${offset}" + cat >"${target}/boot/grub/libreboot_grub.cfg" <<-EOF + set root=(ahci0,msdos1) + linux /vmlinuz ${cmdline} + initrd /initrd.img + boot + EOF + + # Disable mpd service. + in_target update-rc.d mpd disable + + # Add "deb-src" line and backports. + cat >"${target}/etc/apt/sources.list" <<-EOF + deb http://httpredir.debian.org/debian jessie main + deb-src http://httpredir.debian.org/debian jessie main + EOF + cat >"${target}/etc/apt/sources.list.d/jessie-backports.list" <<-EOF + deb http://httpredir.debian.org/debian jessie-backports main + deb-src http://httpredir.debian.org/debian jessie-backports main + EOF + in_target apt-get update || return 1 + in_target apt-get -q -y install midori || return 1 + + # Purge systemd. + in_target apt-get -q -y purge libpam-systemd systemd || return 1 + in_target apt-get -q -y --purge autoremove || return 1 + + # Remove packages from APT cache. + in_target apt-get clean || return 1 + + # Add user to groups created by postinst_pkgs. + in_target adduser pj scanner || return 1 + in_target adduser pj wireshark || return 1 + in_target adduser pj sbuild || return 1 + + # Install Vertex themes. + in_target apt-get -q -y install gnome-themes-standard \ + gtk2-engines-murrine libgtk-3-dev + in_target sudo -u pj sh <<-EOF + set -e + git clone https://github.com/horst3180/vertex-theme \ + /home/pj/src/vertex-theme/ + cd /home/pj/src/vertex-theme/ + ./autogen.sh --prefix=/home/pj/.local + make install + ln -s .local/share/themes/ /home/pj/.themes + EOF + [ ${?} -ne 0 ] && return 1 + + # Download wallpaper. + in_target sudo -u pj wget -O /home/pj/.wallpaper \ + http://product-files.libiquity.com/taurinus/boot-splash/x200/background.png + + # Use temporary configuation SSH key. + install -d -o 1000 -g 1000 -m 0700 "${target}/home/pj/.ssh" || return 1 + cat >"${target}/home/pj/.ssh/id_rsa" <<-EOF + -----BEGIN RSA PRIVATE KEY----- + MIICXAIBAAKBgQCzAF0zqeS2X0TuVOIxqMec3lMzZy/MHQswPP+BQkmc2D3YVb2x + px1YAAweQnfZ27pGJkDztStOtMQJeaOsnAVdm2NSe+hEdaKAOxf9p6t+F930HM/w + 1wkm1ddlsnCaaCipzGVOM77Q/brEItWvuq8G0+/fgN1o4pZzl4Bub/4D4QIDAQAB + AoGAS+wKnAAiXuv3m7LrIa75w2JVHcdVcZicB0DICnYoLNtXF+v+AlzkSE/009zT + YtccoeZVxEiCbuajA3XRY0PlzgGHTbsGn1BWqI9cjdXTiotnjzOH8zr3JiMZMWwf + hqwbtleP+yruNPHMxQ8dKVXv875NKJW+aArmQWtjeMOy/vECQQDdsvPJ4bUu8M7/ + MXqGtz8CJbrRp+ZMKUw0WuwSwTfHRs/Jp27mWf5+t/u+RN8WK/RRD8FHvz4azLhr + sNUFiE69AkEAzrI/DFBFOM5mUECujs2UvCCeWZiAi9QoJ7kDrrAkcG+hMalpNUU3 + SUZ76stBUk3hZNpc82aq0a0o8ac0VrBd9QJAB3nbYrlrxLN2J4Dhot1XEJl5HUzO + JU9XNITEZTWCzgODSkeNI9NxE5DcumPUKgk9aeZgHC1EyN6ScX87D76y+QJAL8DE + ii69X1toDeBzs7BRTYlnrCFsiWGRiWPYMvKk6IkRv6x5DwKXvEkZdexRghdWHHvK + f71Xd6u+yt2rXN/QRQJBALv6SwbokdXp5qKJV48QG452dSOT7FQEINnCsIeNUKP6 + 9YyaZxqLia6pEbEKTSRdztXaMqRsrmOG8E084sFg8DQ= + -----END RSA PRIVATE KEY----- + EOF + in_target chown pj:pj '/home/pj/.ssh/id_rsa' + in_target chmod 0600 '/home/pj/.ssh/id_rsa' + + # Set up SSH known hosts. + cat >"${target}/home/pj/.ssh/known_hosts" <<-EOF + |1|fypb7kn7NH0fqHGj9Xs/rdpO71s=|SCtg2BdMNB9zL5bAPYkJy1uiNSM= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXcG5BuZi4947D9WqY1L6CzaH4Qjw7YA7Dja+09y0nZjLVDd1saZCPkTjo1PEHxVCvSHvc0VmRqIZ2wUGtuqIlgGPMphCPAtdHN63YcNXqIhjEygLsaSZgy1Qz33YQF+YSANbeZQ4vnqiYr3C1IA7Cw4km/0s1BvP3t9yJf/iYODZqjVqUhqB4hzXJcBZHrgnM4LmPD4NH81fCqpwfRviNQNFAqd/aT1YTvgdn46HTVz7dV8ahW6SLXBTJZvO9dLAAKOPPZwuluaRphBqjPLC83zsihQ884SAH+AKcpN1ne73UZUuA1Gyk3HW+a/ngbzm1nmoeC0Sm1nNlTvC4WrLD + |1|z7it+otnWcn/98YKdeaBCXl+ug8=|NFRpdQZBMTAuWbUDAqXLptFR5Ao= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXcG5BuZi4947D9WqY1L6CzaH4Qjw7YA7Dja+09y0nZjLVDd1saZCPkTjo1PEHxVCvSHvc0VmRqIZ2wUGtuqIlgGPMphCPAtdHN63YcNXqIhjEygLsaSZgy1Qz33YQF+YSANbeZQ4vnqiYr3C1IA7Cw4km/0s1BvP3t9yJf/iYODZqjVqUhqB4hzXJcBZHrgnM4LmPD4NH81fCqpwfRviNQNFAqd/aT1YTvgdn46HTVz7dV8ahW6SLXBTJZvO9dLAAKOPPZwuluaRphBqjPLC83zsihQ884SAH+AKcpN1ne73UZUuA1Gyk3HW+a/ngbzm1nmoeC0Sm1nNlTvC4WrLD + EOF + in_target chown pj:pj '/home/pj/.ssh/known_hosts' + in_target chmod 0600 '/home/pj/.ssh/known_hosts' + + # Bootstrap vcsh and mr. + rm -f "${target}/home/pj/.profile" "${target}/home/pj/.bashrc" \ + "${target}/home/pj/.bash_logout" + in_target sudo -u pj vcsh clone \ + ssh://git@git.pehjota.net/dotfiles/mr.git mr || return 1 + in_target sudo -u pj mr update || return 1 + in_target sudo -u pj /home/pj/bin/dfen claws-mail clipit fluxbox \ + gpicview gimp gtk kicad midori mpd mpv redshift roxterm \ + xdg-user-dirs xscreensaver + + # Create XDG directories. + sed 's/#.*$//; /^$/d;' "${target}/home/pj/.config/user-dirs.dirs" | \ + while IFS='=' read var val; do + eval "mkdir '${target}/home/pj/'${val}" + done + + # Add empty folder list to prevent Claws Mail wizard from running. + cat >"${target}/home/pj/.claws-mail/folderlist.xml" <<-EOF + + + + + + + + EOF + + # Generate target's SSH keypair. + rm -f "${target}/home/pj/.ssh/id_rsa" \ + "${target}/home/pj/.ssh/id_rsa.pub" || return 1 + install -o 1000 -g 1000 -m 0600 '/home/pj/.ssh/id_rsa' \ + "${target}/home/pj/.ssh/id_rsa" || return 1 + install -o 1000 -g 1000 -m 0600 '/home/pj/.ssh/id_rsa.pub' \ + "${target}/home/pj/.ssh/id_rsa.pub" || return 1 + #in_target ssh-keygen -b 4096 -C pj@alsvid200 -t rsa \ + # -f /home/pj/.ssh/id_rsa