Importing some older note files.
authorAaron Taylor <ataylor@subgeniuskitty.com>
Sat, 7 Nov 2020 07:36:52 +0000 (23:36 -0800)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Sat, 7 Nov 2020 07:36:52 +0000 (23:36 -0800)
16 files changed:
data/notes/debian_7.files/Pidgin-opensteamworks_pixmaps.zip [new file with mode: 0644]
data/notes/debian_7.files/Steam-mobile-1.4.tar.gz [new file with mode: 0644]
data/notes/debian_7.md [new file with mode: 0644]
data/notes/debian_7.metadata [new file with mode: 0644]
data/notes/debian_8.files/mutt_solarized.tar.gz [new file with mode: 0644]
data/notes/debian_8.files/vim_solarized.tar.gz [new file with mode: 0644]
data/notes/debian_8.md [new file with mode: 0644]
data/notes/debian_8.metadata [new file with mode: 0644]
data/notes/openbsd_on_linode/index.md [new file with mode: 0644]
data/notes/openbsd_on_linode/index.metadata [new file with mode: 0644]
data/notes/openbsd_router/apu4b4_front.jpg [new file with mode: 0644]
data/notes/openbsd_router/apu4b4_rear.jpg [new file with mode: 0644]
data/notes/openbsd_router/index.md [new file with mode: 0644]
data/notes/openbsd_router/index.metadata [new file with mode: 0644]
data/notes/windows_8.1_pro.md [new file with mode: 0644]
data/notes/windows_8.1_pro.metadata [new file with mode: 0644]

diff --git a/data/notes/debian_7.files/Pidgin-opensteamworks_pixmaps.zip b/data/notes/debian_7.files/Pidgin-opensteamworks_pixmaps.zip
new file mode 100644 (file)
index 0000000..3443380
Binary files /dev/null and b/data/notes/debian_7.files/Pidgin-opensteamworks_pixmaps.zip differ
diff --git a/data/notes/debian_7.files/Steam-mobile-1.4.tar.gz b/data/notes/debian_7.files/Steam-mobile-1.4.tar.gz
new file mode 100644 (file)
index 0000000..f7625e2
Binary files /dev/null and b/data/notes/debian_7.files/Steam-mobile-1.4.tar.gz differ
diff --git a/data/notes/debian_7.md b/data/notes/debian_7.md
new file mode 100644 (file)
index 0000000..da3f7a9
--- /dev/null
@@ -0,0 +1,620 @@
+# Overview #
+
+These are my notes for installation of Debian Linux on my personal workstation. They are intended as a high level checklist rather than a step by step installation guide. I tend to start from a minimal, text-only Debian install.
+
+# Installation #
+
+## Hardware ##
+
+### ASUS P8H77-I ###
+
+Linux has poor support for the Realtek 8168F ethernet chip. If possible, buy a motherboard with an Intel ethernet chip instead. Firmware files for the Realtek are available from the Debian `firmware-nonfree` repository and must be supplied on a USB stick if using the netinst CD.
+
+### SSD Hard Drive ###
+
+Use a TRIM enabled filesystem such as ext4. 
+
+Locate partitions so they match the SSD block size. To check under Windows, execute `msinfo32` and check under Components -> Storage -> Disks, looking for "Partition Starting Offset". If it is divisible by 4096, all is well. If not, use the GParted Live CD and follow the [instructions](http://lifehacker.com/5837769/make-sure-your-partitions-are-correctly-aligned-for-optimal-solid-state-drive-performance lifehacker).
+
+Set AHCI mode in the BIOS.
+
+Install package `hdparm` and check for TRIM support with
+
+    hdparm -I /dev/<your device>
+
+under "Data Set Management TRIM supported".
+
+Create daily TRIM cronjob by creating the following file in `/etc/cron.daily/fstrim` (remember to make it executable)
+
+    #!/bin/sh
+    # Perform manual filesystem TRIM
+    #
+    LOG=/var/log/trim.log
+    echo "*** $(date -R) ***" >> $LOG
+    fstrim -v / >> $LOG
+
+To reduce disk writes, mount the SSD filesystems with the relatime option in `/etc/fstab` to reduce file and directory access time updates.
+
+### USB Automounting ###
+
+Install package `usbmount` and add "ntfs" to valid partition types in `/etc/usbmount/usbmount.conf` so the line reads
+
+    FILESYSTEMS="ntfs vfat ext2 ext3 ext4 hfsplus
+
+### Graphics Drivers ###
+
+Add the `contrib` and `non-free` repositories to `/etc/apt/sources.list` and then install the `fglrx-driver` and `fglrx-control` packages. 
+
+As root, execute `aticonfig --initial` to generate an initial Xorg config file.
+
+For my dual head configuration (30" 2560x1600 in landscape and 24" 1920x1200 in portrait) create new file `~/.xinitrc` with the following contents:
+
+    #!/bin/sh
+    xrandr --output DFP10 --mode 2560x1600 --pos 0x0 --output DFP11 --rotate left --mode 1920x1200 --pos -1200x-150
+    . /etc/X11/Xsession
+
+### Audio ###
+
+Install relevant packages and then use `alsamixer` to set audio levels. Later, after fluxbox is installed, can add key bindings for volume control.
+
+    apt-get install libasound2 libasound2-doc alsa-base alsa-utils alsa-oss alsamixergui
+
+### Printer ###
+
+Install packages `cups` and `cups-client`.
+
+    /etc/init.d/cups start
+    usermod -a -G lpadmin ataylor
+
+In a browser, visit [http://localhost:631](http://localhost:631) and add printer via this interface (autodetects the networked HP LJ4). Go to "Printers" tab, then click printer name. From "Administration" dropdown, make this printer the default for this server. From "Maintenance" dropdown, print a test page.
+
+### Scanner ###
+
+Install relevant packages:
+
+    apt-get install xsane sane sane-utils xsltproc libtiff-tools
+
+Download Epson ImageScan software and install
+
+    dpkg -i iscan-data_1.22.0-1_all.deb
+    dpkg -i iscan_2.29.1-5~usb0.1.ltdl7_amd64.deb
+    dpkg -i iscan-plugin-gt-x770_2.1.2-1_amd64.deb
+
+## Basic Services ##
+
+### Package Repositories ###
+
+Add the following line to `/etc/apt/sources.list` to enable the backports repository. 
+
+    deb http://backports.debian.org/debian-backports squeeze-backports main
+
+### Install basic packages ###
+
+    apt-get install openssh-server bzip2 zip
+
+### Email Forwarding ###
+
+The minimal OS install includes `exim4`. Execute `dpkg-reconfigure exim4-config` and select "mail sent by smarthost; no local mail" unless you intend to host a mail server on this machine.
+
+Create file `~/.forward` containing destination email address.
+
+Check `/etc/aliases` to make sure system/daemon users are routed the way you want.
+
+### NTP Configuration ###
+
+Install package `ntp` and check servers with `ntpq -p`. Default configuration should cause daemon to start at boot and sync automatically.
+
+### ZFS File Archive ###
+
+Obtain latest .deb package for ZFSonLinux and install.
+
+    wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
+    dpkg -i zfsonlinux_2~wheezy_all.deb
+    apt-get update
+    apt-get install debian-zfs
+
+Do `modprobe zfs` and add "zfs" to `/etc/modules` so it loads on boot. 
+
+Can now use normal ZFS commands to manage existing, or create new zpools. 
+
+Remember to add zpool scrubs and status update to cron with delivery to email so you know if a drive develops problems.
+
+### Data Partitions ###
+
+Partition with `cfdisk /dev/sda`
+
+Use NTFS format for drives that will be shared. If needed, install package `ntfs-3g`.
+
+Entries in `/etc/fstab` should be of the form:
+
+    UUID=4A0E269F181DD6BB  /mnt/int_share  ntfs    uid=1000,gid=1000,dmask=027,fmask=137,utf8            0       0
+
+UUID can be determined with `blkid /dev/sda1`.
+
+Use option "noauto" in `/etc/fstab` for external USB drives otherwise they will give timeout errors as they spin up. The usb automounting will put them in the right place if they have an entry in `/etc/fstab`.
+
+### Dropbox ###
+
+Download .deb from [dropbox.com](dropbox.com) rather than using the `nautilus-dropbox` package. After package installation, install the daemon with `dropbox start -i`. Create the following init script as `/etc/init.d/dropbox` and install with `update-rc.d dropbox defaults`
+
+    #!/bin/sh
+    ### BEGIN INIT INFO
+    # Provides: dropbox
+    # Required-Start: $local_fs $remote_fs $network $syslog $named
+    # Required-Stop: $local_fs $remote_fs $network $syslog $named
+    # Default-Start: 2 3 4 5
+    # Default-Stop: 0 1 6
+    # X-Interactive: false
+    # Short-Description: dropbox service
+    ### END INIT INFO
+    DROPBOX_USERS="ataylor"
+    DAEMON=.dropbox-dist/dropbox
+    start() {
+       echo "Starting dropbox..."
+       for dbuser in $DROPBOX_USERS; do
+           HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
+           if [ -x $HOMEDIR/$DAEMON ]; then
+               HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
+           fi
+       done
+    }
+    stop() {
+       echo "Stopping dropbox..."
+       for dbuser in $DROPBOX_USERS; do
+           HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
+           if [ -x $HOMEDIR/$DAEMON ]; then
+               start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
+           fi
+       done
+    }
+    status() {
+       for dbuser in $DROPBOX_USERS; do
+           dbpid=`pgrep -u $dbuser dropbox`
+           if [ -z $dbpid ] ; then
+               echo "dropboxd for USER $dbuser: not running."
+           else
+               echo "dropboxd for USER $dbuser: running (pid $dbpid)"
+           fi
+       done
+    }
+    case "$1" in
+       start)
+           start
+           ;;
+       stop)
+           stop
+           ;;
+       restart|reload|force-reload)
+           stop
+           start
+           ;;
+       status)
+           status
+           ;;
+       *)
+           echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
+           exit 1
+    esac
+    exit 0
+
+### NFS Server/Client ###
+
+Server: install `portmap` and `nfs-kernel-server`
+
+Client: install `portmap` and `nfs-common`
+
+Configure `/etc/exports` on the server. For example:
+
+    /example 192.168.1.0/255.255.255.0(rw,no_root_squash,subtree_check)
+
+Configure `/etc/fstab` for any filesystems you want to automount at boot.
+
+## GUI ##
+
+### X, Fluxbox ###
+
+Install the following packages:
+
+    apt-get install xorg fluxbox
+
+Modify `~/.fluxbox/keys` file to change Mouse[4,5] when On[Desktop,Toolbar] to [Prev,Next]Window instead of [Prev,Next]Workspace. Also, add the following key shortcuts:
+
+    # open a terminal
+    Mod1 F1 :Exec xterm
+    # open a dialog to run programs
+    Mod1 F2 :Exec fbrun
+    # Open file manager
+    Mod1 F3 :Exec nautilus
+    # Take a screenshot
+    107 :Exec /home/ataylor/bin/take_screenshot.sh
+    # volume settings, using common keycodes
+    # if these don't work, use xev to find out your real keycodes
+    123 :Exec amixer sset Master,0 1+
+    122 :Exec amixer sset Master,0 1-
+    121 :Exec amixer sset Master,0 toggle
+    # Start screensaver, lock screen
+    127 :Exec xscreensaver-command -lock
+    # current window commands
+    Mod1 F4 :Close
+    Mod1 F5 :MacroCmd {ResizeTo 1200 950} {Moveto 0 0 UpperLeft}
+    Mod1 F6 :MacroCmd {ResizeTo 1200 950} {Moveto 0 0 LowerLeft}
+    Mod1 F7 :MacroCmd {ResizeTo 1250 1600} {Moveto 0 0 UpperLeft}
+    Mod1 F8 :MacroCmd {ResizeTo 1250 1600} {Moveto 0 0 UpperRight}
+    Mod1 F9 :Minimize
+    Mod1 F10 :Maximize
+    Mod1 F11 :Fullscreen
+    # Window sizing commands
+    136 :MacroCmd {ResizeTo 1200 950} {Moveto 0 0 UpperLeft}
+    137 :MacroCmd {ResizeTo 1200 950} {Moveto 0 0 LowerLeft}
+    138 :MacroCmd {ResizeTo 1250 1600} {Moveto 0 0 UpperLeft}
+    139 :MacroCmd {ResizeTo 1250 1600} {Moveto 0 0 UpperRight}
+    140 :Maximize
+    141 :Minimize
+    142 :Fullscreen
+
+Use "meta" style in fluxbox
+
+Install `numlockx` package and add `numlockx &` to `~/.fluxbox/startup`
+
+Ensure `~/.xinitrc` ends in `. /etc/X11/Xsession` if the file doesn't already exist.
+
+Add any apps that I want to autostart in `~/.fluxbox/startup` (pidgin, deluge-gtk, etc)
+
+Set "focus on mouse" and NOT "raise on focus" in the right-click menu.
+
+### Screensaver ###
+
+Install the following packages:
+
+    xscreensaver xscreensaver-gl xscreensaver-gl-extra xscreensaver-screensaver-bsod xscreensaver-screensaver-webcollage
+
+Execute `xscreensaver-demo` to configure the screensaver.
+
+Add `xscreensaver -nosplash &` to `~/.xinitrc`.
+
+### Wallpaper Rotation ###
+
+Install `nitrogen` package. Execute `nitrogen` once and set wallpaper manually to create initial config files.
+
+Create file `~/bin/wallpaper_rotation.sh` as shown below and add to `~/.xinitrc` as `sh /home/ataylor/bin/wallpaper_rotation.sh &`
+
+    #!/bin/sh
+    # 
+    # Automatic wallpaper rotation, multi-monitor aware
+    
+    CONFIG="$HOME/.config/nitrogen/bg-saved.cfg"
+    
+    while true; do
+    
+    rm ${CONFIG}
+    
+    cat <<CREATECONFIG > ${CONFIG}
+    [xin_0]
+    file=$(find  ~/documents/wallpaper/ratio_16_10 -type f | sort -R | tail -1)
+    mode=0
+    bgcolor=#000000
+    [xin_1]
+    file=$(find  ~/documents/wallpaper/ratio_10_16 -type f | sort -R | tail -1)
+    mode=0
+    bgcolor=#000000
+    CREATECONFIG
+    
+    nitrogen --restore
+    sleep 1m
+    done
+
+### Screenshots ###
+
+Create screenshot directory `~/screenshots`.
+
+Write the following to `~/bin/take_screenshot.sh`
+
+    #!/bin/bash
+    
+    SAVEDIR="$HOME/documents/screenshots"
+    DATE=`date +%Y%m%d-%T`
+    
+    if [! -d ${SAVEDIR} ]
+    then
+    mkdir -p {$SAVEDIR}
+    fi
+    
+    xwd | xwdtopnm | pnmtopng > "${SAVEDIR}"/"${DATE}".png
+
+Update `~/.fluxbox/keys` with line `107 :Exec /home/ataylor/documents/screenshots/take_screenshot.sh` or use `xev` to select a different key.
+
+### xterm ###
+
+Set xterm fonts by creating `~/.Xresources` with contents shown below. Afterward, restart X or run `xrdb -merge ~/.Xresources`.
+
+    xterm*faceName: Liberaqtion Mono:size=12:antialias=true
+    xterm*font: 7x13 
+
+## Desktop Applications ##
+
+### Web Browser ###
+
+Download Chrome .deb directly from Google. Then, `dpkg -i chrome.file.deb` and `apt-get -f install` to clear up dependencies. Create symlink in `~/bin` for `chrome`->`google-chrome`.
+
+Install `iceweasel` package with plugins: Adblock Plus, NoScript, Image Zoom, Save Image in Folder, Thumbnail Zoom Plus, Enhanced Steam.
+
+Install `icedtea-plugin`.
+
+### Email ###
+
+Install package `mutt-patched` since it includes the sidebar-folder-path.
+
+Configure `~/.muttrc`
+
+    # .muttrc configuration file
+    
+    # General Configuration
+    set editor='vim'
+    set imap_check_subscribed=yes
+    set print_cmd="muttprint"
+    set print_split
+    set certificate_file=".mutt_certs"
+    
+    # Sidebar
+    set sidebar_width=20
+    set sidebar_visible=yes
+    set sidebar_sort=yes
+    
+    # View URLs inside mutt
+    macro index \cd "|urlview\n"
+    macro pager \cd "|urlview\n"
+    
+    # Handle HTML emails
+    auto_view text/html
+    alternative_order text/plain text/enriched text/html
+    
+    ### Account: ataylor@subgeniuskitty.com
+    source "~/.mutt/ataylor_subgeniuskitty_com"
+    folder-hook 'imaps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:993' 'source ~/.mutt/ataylor_subgeniuskitty_com'
+    
+    # Macros to handle multiple accounts
+    macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/ataylor_subgeniuskitty_com<enter><change-folder>!<enter>'
+
+Configure `~/.mutt/ataylor_subgeniuskitty_com`
+
+    # Read from IMAP server 
+    set imap_user="ataylor@subgeniuskitty.com"
+    set imap_pass="pass"
+    set folder="imaps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:993"
+    set spoolfile="+INBOX"
+    
+    # Send through SMTP server
+    set smtp_url="smtps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:465"
+    set smtp_pass="pass"
+    set from="ataylor@subgeniuskitty.com"
+    set realname="Aaron Taylor"
+    set postponed="=Drafts"
+    set record="=Sent"
+    
+    # Account Hook -- Important
+    account-hook $folder "set imap_user=ataylor@subgeniuskitty.com imap_pass=pass"
+
+Install package `elinks` and add following line to `~/.mailcap`.
+
+    text/html; elinks -dump %s ; copiousoutput
+
+Install packages `muttprint` and `ospics`, and create `~/.muttprintrc` file with contents shown below.
+
+    # Muttprint Configuration File
+    
+    PRINT_COMMAND="lp"
+    PENGUIN=/usr/share/ospics/Debian_color.eps
+
+Install package `urlview`
+
+### IRC ###
+
+Install package `irssi` and add relevant nick/pass/channel/server for autostart with
+
+    /server add -auto -network freenode chat.freenode.net 6667 <password>
+    /network add -nick <nickname> freenode
+    /channel add -auto #hoggit freenode
+
+Cut down on the chatter
+
+    /ignore * JOINS QUITS PARTS
+
+Enable autologging and quasi-rotation by making log dir and setting ownership. Then, in irssi,
+
+    /set autolog_path /path/to/logdir/$tag/$0.%Y%m%d.log
+    /set autolog on
+    /save
+
+Add the following scripts to `~/.irssi/scripts` and symlink to `~/.irssi/scripts/autostart`:
+
+    adv_windowlist
+    nickcolor
+    trackbar
+
+Add to `~/.xinitrc` but for some reason, must manually specify xterm colors otherwise they default to black text on white background rather than system defaults.
+
+    xterm -fg AliceBlue -bg Black irssi &
+
+### Sage ###
+
+Might want to install `mpmath` package first. I had problems with Bessel functions when I installed it after Sage. Also, install PDF viewer and LaTeX environment before compiling Sage.
+
+    useradd sage
+    mkdir /home/sage /usr/local/sage /var/log/sage
+    chown -R sage:sage /home/sage /usr/local/sage /var/log/sage
+    su sage
+    cd /usr/local/sage
+    (download the sage source)
+    (untar source)
+    export MAKE="make -j4" (or whatever is appropriate for current machine)
+    make ("apt-get install build-essential" if necessary)
+    ./sage -upgrade 
+    ./sage
+    sage: optional_packages()
+    sage: install_package('openmpi-xxx')   (if needed)
+    sage: install_package('mpi4py-xxx')    (if needed)
+    sage: quit
+    ./sage -notebook   (answer onscreen prompts)
+
+Create script `/etc/init.d/SGKsage` with contents:
+
+    #!/bin/bash
+    
+    ### BEGIN INIT INFO
+    # Provides:          sage
+    # Required-Start:    $remote_fs $syslog
+    # Required-Stop:     $remote_fs $syslog
+    # Default-Start:     2 3 4 5
+    # Default-Stop:      0 1 6
+    # Short-Description: Start daemon at boot time
+    # Description:       Enable service provided by daemon.
+    ### END INIT INFO
+    
+    # Aaron Taylor
+    # Start/Stop init script for sage mathematics program
+    # Stop method is hacky
+    
+    # Configuration
+    SAGE_HOME="/usr/local/sage"
+    SAGE_OPTS="-notebook"
+    SAGE_LOG="/var/log/sage"
+    USER="sage"
+    NAME="sage"
+    
+    sage_start() {
+            echo "Starting Sage..."
+            start-stop-daemon --start --background --chuid "$USER" --chdir "$SAGE_HOME" --exec $SAGE_HOME/sage -- $SAGE_OPTS
+    }
+    
+    sage_stop() {
+            echo "Stopping Sage..."
+            kill `cat "/home/$USER/.sage/sage_notebook.sagenb/sagenb.pid"`
+    }
+    
+    case $1 in
+            start)
+                    sage_start
+                    ;;
+            stop)
+                    sage_stop
+                    ;;
+            restart)
+                    sage_stop
+                    sleep 5
+                    sage_start
+                    ;;
+            *)
+                    echo "Usage: $0 {start|stop|restart}"
+                    exit 1
+                    ;;
+    esac
+    exit 0
+
+Then install with an appropriate priority.
+
+    chmod +x /etc/init.d/SGKsage
+    update-rc.d SGKsage defaults 95
+    /etc/init.d/SGKsage start
+
+### Programming IDE ###
+
+Can use Netbeans from Debian repository but it only works with specific JDK versions. Prefer to install directly from Oracle with Oracle JDK.
+
+### Torrent ###
+
+Install package `deluge-gtk`.
+
+Set to autorun in `~/.fluxbox/startup`.
+
+Configure to autostart torrents from `/mnt/downloads/torrent/torrents` and to use relevant directories for in-progress and finished torrents.
+
+Install the scheduler plugin and set reasonable limits.
+
+### Misc Software ###
+
+A list of misc packages in the Debian repository to install.
+
+    Text Editor      - vim vim-gtk vim-addon-manager
+    Science/Data     - texlive texlive-science texlive-math-extra gnuplot scilab octave dx python-scitools paraview
+    Document Viewers - okular okular-extra-backends
+    Communication    - pidgin
+    Office Suite     - libreoffice gnumeric abiword scribus
+    System Tools     - dvd+rw-tools nautilus virtualbox-ose cellwriter wine
+    Graphics         - gimp rawtherapee inkscape geeqie
+    Media            - vlc browser-plugin-vlc quodlibet ffmpeg
+    Programming      - valgrind libgmp-dev libplot-dev plotutils glade libncurses5-dev libmysqlclient-dev
+    Misc             - kicad golly
+
+Note: After installing `pidgin`, do the following to add Steam chat support:
+
+* Install the build dependencies via `apt-get build-dep pidgin`. This should grab all the required dependencies. If it doesn't grab `libnss3-dev`, `libnspr4-dev` and `libjson-glib-dev`, manually install those packages. 
+* Manually install `libgnome-keyring-dev` package.
+* Download the [pidgin-opensteamworks plugin source](http://code.google.com/p/pidgin-opensteamworks/). Compile with `make libsteam.so`.
+* Copy the library to `~/.purple/plugins` (create if necessary).
+* Download the pixmaps and place in `/usr/share/pixmaps/pidgin/protocols`
+* Files:
+  * [pixmaps](debian_7.files/Pidgin-opensteamworks_pixmaps.zip)
+  * [source code](debian_7.files/Steam-mobile-1.4.tar.gz)
+
+# Misc #
+
+## Sun Microsystems Keyboard Codes ##
+
+    name               sun code    sun name                usb code    usb name           alternative    alt USB code    alt windows vkey
+    
+    help               0x76        lf(16)                  0x75        help               f13            0x68            124
+    stop               0x01        buckybits+systembit     0x78        stop               f14            0x69            125
+    again              0x03        lf(2)                   0x79        again              f15            0x6A            126
+    props              0x19        lf(3)                   0x76        keyboard menu      f16            0x6B            127
+    undo               0x1A        lf(4)                   0x7A        undo               f17            0x6C            128    
+    front              0x31        lf(5)                   0x77        select             f18            0x6D            129
+    copy               0x33        lf(6)                   0x7C        copy               f19            0x6E            130
+    open               0x48        lf(7)                   0x74        execute            f20            0x6F            131
+    paste              0x49        lf(8)                   0x7D        paste              f21            0x70            132
+    find               0x5F        lf(9)                   0x7E        find               f22            0x71            133
+    cut                0x61        lf(10)                  0x7B        cut                f23            0x72            134
+    
+    mute               0x2D        rf(4)                   0x7F        mute               f24            0x73            135
+    vol down           0x02        -                       0x81        volume down        intl'1         0x87            193    
+    vol up             0x04        -                       0x80        volume up          intl'6         0x8C            234
+    power              0x30        bf(13)                  0x66        keyboard power*    -              -               -
+    
+    compose            0x43        COMPOSE                 0x65        app                right gui
+    left meta          0x78        BUCKYBITS+METABIT       0xE3        left gui           left alt
+    right meta         0x7A        BUCKYBITS+METABIT       0xE7        right gui          right alt
+    escape**           0x1D        ESC                     0x29        escape             tilde
+    tilde**            0x2A        `                       0x35        tilde              escape
+    caps lock**        0x77        SHIFTKEYS+CAPSLOCK      0x39        caps lock          control
+    control**          0x4C        SHIFTKEYS+LEFTCTRL      0xE0        control            caps lock
+    alt                0x13        SHIFTKEYS+ALT           0xE2        left alt           left gui
+    alt graph          0x0D        -                       0xE6        right alt          right control
+
+## Keyboard Shortcuts: mutt ##
+
+    D ~A     - Delete all in folder
+    $        - Purge
+    c        - Change folder
+    T ~A     - Tag all in folder
+    ;s       - Save all tagged messages
+    Ctrl-B   - Show URLs
+
+## Burning CD/DVD ##
+
+Create ISO from filesystem(maximizing compatiblity with long filenames):
+
+    genisoimage -r -J -l -d -joliet-long -allow-multidot -V undergrad_files -o target.iso /path/to/source/directory
+
+For DVD ISO burning:
+
+    growisofs -dvd-compat -Z /dev/sro=name.of.iso
+
+For CD ISO burning:
+
+    wodim -v -sao dev=/dev/sr0 name.of.iso
+
+## Multipage PDFs ##
+
+First scan and get everything ready as TIFFs
+
+    tiffcp scan_???.tiff multipage.tiff
+    tiff2pdf -j -o output.pdf multipage.tiff
diff --git a/data/notes/debian_7.metadata b/data/notes/debian_7.metadata
new file mode 100644 (file)
index 0000000..2a708bd
--- /dev/null
@@ -0,0 +1,6 @@
+[DEFAULT]
+page_title = Debian 7 Notes
+meta_keywords = 
+meta_description = 
+menu_text = Debian 7
+menu_priority = 2000
diff --git a/data/notes/debian_8.files/mutt_solarized.tar.gz b/data/notes/debian_8.files/mutt_solarized.tar.gz
new file mode 100644 (file)
index 0000000..06a456c
Binary files /dev/null and b/data/notes/debian_8.files/mutt_solarized.tar.gz differ
diff --git a/data/notes/debian_8.files/vim_solarized.tar.gz b/data/notes/debian_8.files/vim_solarized.tar.gz
new file mode 100644 (file)
index 0000000..c5324c9
Binary files /dev/null and b/data/notes/debian_8.files/vim_solarized.tar.gz differ
diff --git a/data/notes/debian_8.md b/data/notes/debian_8.md
new file mode 100644 (file)
index 0000000..cbbabe9
--- /dev/null
@@ -0,0 +1,681 @@
+# Overview #
+
+These are my notes for installation of Debian Linux on my personal workstation. They are intended as a high level checklist rather than a step by step installation guide. I tend to start from a minimal, text-only Debian install.
+
+# Installation #
+
+## Hardware ##
+
+### NVMe SSD ###
+
+As of 20160903, the version of GRUB included with the Debian installer contains a bug preventing it from working with NVMe drives. Also, the 3.16 kernel included with Debian 8 predates some important NVMe improvements. Perform an expert installation, enable backports and, before installing a bootloader, drop to a shell and chroot to the install.
+
+    cd /target
+    mount -t proc /proc proc/
+    mount --rbind /sys sys/
+    mount --rbind /dev dev/
+    mount --rbind /run run/
+    chroot . /bin/bash
+
+Now install the kernel and grub from backports.
+
+    apt-get update
+    apt-get -t jessie-backports install linux-image-amd64
+    apt-get -t jessie-backports install grub-pc
+    update-grub
+    grub-install
+
+The last two steps may not be necessary. GRUB has automatically detected installed OSes and installed itself with most of my configurations. If EFI ever offers a compelling benefit, install the package grub-efi instead of grub-pc.
+
+### SSD Hard Drive ###
+
+Use a TRIM enabled filesystem such as ext4. 
+
+Locate partitions so they match the SSD block size. To check under Windows, execute `msinfo32` and check under Components -> Storage -> Disks, looking for "Partition Starting Offset". If it is divisible by 4096, all is well. If not, use the GParted Live CD and follow [these instructions](http://lifehacker.com/5837769/make-sure-your-partitions-are-correctly-aligned-for-optimal-solid-state-drive-performance lifehacker).
+
+Set AHCI mode in the BIOS
+
+Install package `hdparm` and check for TRIM support with
+
+    hdparm -I /dev/<your device>
+
+under "Data Set Management TRIM supported".
+
+Create daily TRIM cronjob by creating the following file in `/etc/cron.daily/fstrim` (remember to make it executable)
+
+    #!/bin/sh
+    # Perform manual filesystem TRIM
+    #
+    LOG=/var/log/trim.log
+    echo "*** $(date -R) ***" >> $LOG
+    fstrim -v / >> $LOG
+
+To reduce disk writes, mount the SSD filesystems with the relatime option in /etc/fstab to reduce file and directory access time updates.
+
+### USB Automounting ###
+
+Install package `usbmount` and add `ntfs` to valid partition types in `/etc/usbmount/usbmount.conf` so the line reads 
+
+    FILESYSTEMS="ntfs vfat ext2 ext3 ext4 hfsplus"
+
+### Graphics Drivers ###
+
+Add the `contrib` and `non-free` repositories to `/etc/apt/sources.list` and then install the `linux-headers-amd64`, `fglrx-driver` and `fglrx-control` packages. If you installed the backports kernel earlier for NVMe support, be sure to use backports for the video drivers so they compile the kernel module correctly. Ignore this and you will be chasing very misleading error messages again.
+
+As root, execute `aticonfig --initial` to generate an initial Xorg config file.
+
+For my dual head configuration (40" 3840x2160 in landscape and 30" 2560x1600 in portrait) create new file `~/.xinitrc` with the following contents:
+
+    #!/bin/sh
+    xrandr --output DFP9 --mode 3840x2160 --pos 0x0 --output DFP10 --rotate left --mode 2560x1600 --pos 3840x-150
+    . /etc/X11/Xsession
+
+Add a `Virtual` line to `/etc/X11/xorg.conf` in the `Display` section defining a large enough virtual desktop.
+
+    Section "Screen"
+            Identifier "aticonfig-Screen[0]-0"
+            Device     "aticonfig-Device[0]-0"
+            Monitor    "aticonfig-Monitor[0]-0"
+            DefaultDepth     24
+            SubSection "Display"
+                    Viewport   0 0
+                    Depth     24
+                    Virtual 5440 2560
+            EndSubSection
+    EndSection
+
+Note: The open source radeon driver is getting better. If you go this route in the future, remember that apt does not remove the radeon blacklist installed by fglrx-driver in /etc/modprobe.d and it must be done manually.
+
+### Audio ###
+
+Install relevant packages and then use `alsamixer` to set audio levels. Later, after fluxbox is installed, can add key bindings for volume control.
+
+    apt-get install libasound2 libasound2-doc alsa-base alsa-utils alsa-oss alsamixergui
+
+### Printer ###
+
+Install packages cups and cups-client
+
+    /etc/init.d/cups start
+    usermod -a -G lpadmin ataylor
+
+In a browser, visit [http://localhost:631](http://localhost:631) and add printer via this interface (autodetects the networked HP LJ4). Go to "Printers" tab, then click printer name. From "Administration" dropdown, make this printer the default for this server. From "Maintenance" dropdown, print a test page.
+
+### Scanner ###
+
+Install relevant packages:
+
+    apt-get install xsane sane sane-utils xsltproc libtiff-tools
+
+Download Epson ImageScan software and install
+
+    dpkg -i iscan-data_1.22.0-1_all.deb
+    dpkg -i iscan_2.29.1-5~usb0.1.ltdl7_amd64.deb
+    dpkg -i iscan-plugin-gt-x770_2.1.2-1_amd64.deb
+
+## Basic Services ##
+
+### Install basic packages ###
+
+    apt-get install openssh-server bzip2 zip
+
+### Email Forwarding ###
+
+The minimal OS install includes `exim4`. Execute `dpkg-reconfigure exim4-config` and select "mail sent by smarthost; no local mail" unless you intend to host a mail server on this machine.
+
+Create file `~/.forward` that contains destination email address.
+
+Check `/etc/aliases` to make sure system/daemon users are routed the way you want.
+
+### NTP Configuration ###
+
+Install package `ntp` and check servers with `ntpq -p`. Default configuration should cause daemon to start at boot and sync automatically.
+
+### SMB Client ###
+
+Install `cifs-utils`.
+
+Create `/etc/smb_credentials` as root with permissions 0600. Do not include spaces around the equal sign.
+
+    username=windows_username
+    password=windows_password
+
+Create a new mount point in the filesystem and add it to `/etc/fstab`.
+
+    //192.168.1.5/zfs_stripe_0      /mnt/talisker_stripe_0  cifs    credentials=/etc/smb_credentials,file_mode=0664, \
+        dir_mode=0775,iocharset=utf8,sec=ntlm,uid=1000,gid=1000,noserverino   0       0
+
+## GUI ##
+### X, Fluxbox ###
+
+Install the following packages:
+
+    apt-get install xorg fluxbox
+
+Overwrite existing ~/.fluxbox/keys file with the following key shortcuts:
+
+    # click on the desktop to get menus
+    OnDesktop Mouse1 :HideMenus
+    OnDesktop Mouse2 :WorkspaceMenu
+    OnDesktop Mouse3 :RootMenu
+    
+    # scroll on the desktop to change workspaces
+    OnDesktop Mouse4 :PrevWorkspace
+    OnDesktop Mouse5 :NextWorkspace
+    
+    # alt + left/right click to move/resize a window
+    OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
+    OnWindowBorder Move1 :StartMoving
+    
+    OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
+    OnLeftGrip Move1 :StartResizing bottomleft
+    OnRightGrip Move1 :StartResizing bottomright
+    
+    # control-click a window's titlebar and drag to attach windows
+    OnTitlebar Control Mouse1 :StartTabbing
+    
+    # double click on the titlebar to shade
+    OnTitlebar Double Mouse1 :Shade
+    
+    # left click on the titlebar to move the window
+    OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
+    OnTitlebar Move1  :StartMoving
+    
+    # middle click on the titlebar to lower
+    OnTitlebar Mouse2 :Lower
+    
+    # right click on the titlebar for a menu of options
+    OnTitlebar Mouse3 :WindowMenu
+    
+    # open a terminal
+    Mod1 F1 :Exec xterm
+    # open a dialog to run programs
+    Mod1 F2 :Exec fbrun
+    # Open file manager
+    Mod1 F3 :Exec spacefm
+    # current window commands
+    Mod1 F4 :Close
+    
+    # Take a screenshot
+    107 :Exec /home/ataylor/bin/take_screenshot.sh
+    
+    # Start screensaver, lock screen
+    127 :Exec xscreensaver-command -lock
+    
+    # Window sizing commands
+    Control F1 :Minimize
+    Control F2 :Shade
+    Control F3 :Maximize
+    Control F4 :Fullscreen
+    
+    Control F5 :MacroCmd {ResizeTo 1600 1250} {Moveto 0 0 UpperLeft}
+    Control F6 :MacroCmd {ResizeTo 1600 1250} {Moveto 0 0 LowerLeft}
+    
+    Control F7 :MacroCmd {ResizeTo 1905 2160} {Moveto 0 0 UpperLeft}
+    Control F8 :MacroCmd {ResizeTo 1905 2160} {Moveto 0 0 UpperRight}
+    
+    Control F9 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 UpperLeft}
+    Control F10 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 UpperRight}
+    Control F11 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 LowerLeft}
+    Control F12 :MacroCmd {ResizeTo 1920 1080} {Moveto 0 0 LowerRight}
+
+Use "meta" style in fluxbox
+
+Install `numlockx` package and add `numlockx &` to `~/.fluxbox/startup`.
+
+Ensure `~/.xinitrc` ends in `. /etc/X11/Xsession` if the file doesn't already exist.
+
+Add any apps that I want to autostart in `~/.fluxbox/startup` (`pidgin`, `deluge-gtk`, etc)
+
+Set "focus on mouse" and NOT "raise on focus" in the right-click menu.
+
+Add the following to `~/.fluxbox/startup` if not already present.
+
+    # Set numlock                                                                                       
+    numlockx &                                                                                          
+    # Chat software                                                                                     
+    pidgin &                                                                                            
+    # Get colors for xterms                                                                             
+    xrdb ~/.Xresources &                                                                                
+    # Wallpaper rotation                                                                                
+    # /home/ataylor/bin/wallpaper_rotation.sh &                                                         
+    # Xscreensaver                                                                                      
+    xscreensaver -nosplash &
+    # Change your keymap:                                                                               
+    xmodmap "/home/ataylor/.Xmodmap"
+
+### Control/Capslock Swap ###
+
+Create or edit `~/.Xmodmap` to contain:
+
+    !
+    ! Swap Caps_Lock and Control_L
+    !
+    remove Lock = Caps_Lock
+    remove Control = Control_L
+    keysym Control_L = Caps_Lock
+    keysym Caps_Lock = Control_L
+    add Lock = Caps_Lock
+    add Control = Control_L
+
+### Screensaver ###
+
+Install the following packages:
+
+    xscreensaver xscreensaver-gl xscreensaver-gl-extra xscreensaver-screensaver-bsod xscreensaver-screensaver-webcollage
+
+Execute `xscreensaver-demo` to configure the screensaver.
+
+Add `xscreensaver -nosplash &` to `~/.fluxbox/startup`.
+
+### Wallpaper Rotation ###
+
+
+Install `nitrogen` package. Execute `nitrogen` once and set wallpaper manually to create initial config files.
+
+Create file `~/bin/wallpaper_rotation.sh` as shown below and add to `~/.fluxbox/startup` as `/home/ataylor/bin/wallpaper_rotation.sh &`.
+
+    #!/usr/bin/python
+    # This script creates a wallpaper slideshow.
+    
+    ##### Configuration
+    
+    # List of image source directories
+    # Each sublist is of the form:
+    # [monitor ID, absolute path to directory containing images for this monitor]
+    source_dir = [
+                  [0,"/mnt/talisker_mirror_0/wallpaper/ratio_16_9"],
+                  [1,"/mnt/talisker_mirror_0/wallpaper/ratio_10_16"]
+                 ]
+    
+    # This list will be populated during runtime.
+    # Each sublist is of the form:
+    # [monitor ID, absolute path to image file to display on this monitor]
+    current_wallpaper = [
+                         [0,""],
+                         [1,""]
+                        ]
+    
+    # Path to nitrogen configuration file
+    nitrogen_config = "/home/ataylor/.config/nitrogen/bg-saved.cfg"
+    
+    ##### Dependencies
+    
+    from subprocess import call
+    from os import listdir
+    from os.path import isfile, join
+    from random import choice
+    from time import sleep
+    
+    ##### Source Code
+    
+    def write_config():
+            config_file = open(nitrogen_config, 'w')
+            for monitor in current_wallpaper:
+                    # Indenting the following triple-quoted text inserts leading whitespace in the
+                    # nitrogen config file. However, nitrogen strips leading whitespace before
+                    # processing its config file and the extra whitespace makes this Python script
+                    # more readable.
+                    template = """[xin_{monitor_n}]
+                                  file={wallpaper_file}
+                                  mode=0
+                                  bgcolor=#000000
+                               """
+                    context = {
+                               "monitor_n":monitor[0],
+                               "wallpaper_file":monitor[1]
+                              }
+                    config_file.write(template.format(**context))
+            config_file.close()
+    
+    def refresh_wallpaper():
+            write_config()
+            call(["/usr/bin/nitrogen", "--restore"])
+    
+    def get_rand_from_dir():
+            file_choices = [x for x in listdir(source_dir[current_monitor][1]) if isfile(join(source_dir[current_monitor][1], x))]
+            filename = choice(file_choices)
+            filename = join(source_dir[current_monitor][1], filename)
+            current_wallpaper[current_monitor][1] = filename
+    
+    # Put something up on all monitors
+    for i in range(len(source_dir)):
+            current_monitor = i
+            get_rand_from_dir()
+    refresh_wallpaper()
+    
+    # Eternal slideshow loop
+    while 1:
+            current_monitor = (current_monitor + 1) % len(source_dir)
+            get_rand_from_dir()
+            refresh_wallpaper()
+            sleep(10)
+
+### Screenshots ###
+
+Create screenshot directory `~/screenshots`.
+
+Install packages `x11-apps` (for xwd) and `netpbm` (for xwdtopnm and pnmtopng)
+
+Write the following to `~/bin/take_screenshot.sh`
+
+    #!/bin/bash
+    
+    SAVEDIR="$HOME/screenshots"
+    DATE=`date +%Y%m%d-%T`
+    
+    if [! -d ${SAVEDIR} ]
+    then
+    mkdir -p {$SAVEDIR}
+    fi
+    
+    xwd | xwdtopnm | pnmtopng > "${SAVEDIR}"/"${DATE}".png
+
+Update `~/.fluxbox/keys` with line `107 :Exec /home/ataylor/documents/screenshots/take_screenshot.sh` or use `xev` to select a different key.
+
+### xterm ###
+
+Set xterm fonts and colors by creating `~/.Xresources` with contents shown below. Add the line `xrdb ~/.Xresources &` to `~/.fluxbox/startup` and restart X.
+
+    xterm*faceName: Liberaqtion Mono:size=12:antialias=true
+    xterm*font: 7x13
+    
+    ! Solarized color scheme for the X Window System                                                    
+    !                                                                                                   
+    ! http://ethanschoonover.com/solarized                                                              
+    ! Common                                                                                            
+    #define S_yellow #b58900                                                                            
+    #define S_orange #cb4b16                                                                            
+    #define S_red #dc322f                                                                               
+    #define S_magenta #d33682                                                                           
+    #define S_violet #6c71c4                                                                            
+    #define S_blue #268bd2                                                                              
+    #define S_cyan #2aa198                                                                              
+    #define S_green #859900                                                                             
+    ! Dark                                                                                              
+    !#define S_base03 #002b36                                                                           
+    !#define S_base02 #073642                                                                           
+    !#define S_base01 #586e75                                                                           
+    !#define S_base00 #657b83                                                                           
+    !#define S_base0 #839496                                                                            
+    !#define S_base1 #93a1a1                                                                            
+    !#define S_base2 #eee8d5                                                                            
+    !#define S_base3 #fdf6e3                                                                            
+    ! Light                                                                                             
+    #define S_base03 #fdf6e3                                                                            
+    #define S_base02 #eee8d5                                                                            
+    #define S_base01 #93a1a1                                                                            
+    #define S_base00 #839496                                                                            
+    #define S_base0 #657b83                                                                             
+    #define S_base1 #586e75                                                                             
+    #define S_base2 #073642                                                                             
+    #define S_base3 #002b36                                                                             
+    ! To only apply colors to your terminal, for example, prefix                                        
+    ! the color assignment statement with its name. Example:                                            
+    !                                                                                                   
+    ! URxvt*background: S_base03                                                                        
+    *background: S_base03                                                                               
+    *foreground: S_base0                                                                                
+    *fading: 40                                                                                         
+    *fadeColor: S_base03                                                                                
+    *cursorColor: S_base1                                                                               
+    *pointerColorBackground: S_base01                                                                   
+    *pointerColorForeground: S_base1                                                                    
+    *color0: S_base02                                                                                   
+    *color1: S_red                                                                                      
+    *color2: S_green                                                                                    
+    *color3: S_yellow                                                                                   
+    *color4: S_blue                                                                                     
+    *color5: S_magenta                                                                                  
+    *color6: S_cyan                                                                                     
+    *color7: S_base2                                                                                    
+    *color9: S_orange                                                                                   
+    *color8: S_base03                                                                                   
+    *color10: S_base01                                                                                  
+    *color11: S_base00                                                                                  
+    *color12: S_base0                                                                                   
+    *color13: S_violet                                                                                  
+    *color14: S_base1                                                                                   
+    *color15: S_base3
+
+### vim ###
+
+Install packages `vim`, `vim-gtk`, `vim-addon-manager`.
+
+Install file `~/.vim/colors/solarized.vim`
+
+Create `~/.vimrc` as shown below.
+
+    set nocompatible              " be iMproved, required
+    filetype off                  " required
+    
+    set number
+    syntax on
+    set tabstop=4
+    set expandtab
+    set background=dark
+    colorscheme solarized
+    
+    "Folding
+    "http://vim.wikia.com/wiki/Folding_for_plain_text_files_based_on_indentation
+    "set foldmethod=expr
+    "set foldexpr=(getline(v:lnum)=~'^$')?-1:((indent(v:lnum)<indent(v:lnum+1))?('>'.indent(v:lnum+1)):indent(v:lnum))
+    "set foldtext=getline(v:foldstart)
+    "set fillchars=fold:\ "(there's a space after that \)
+    "highlight Folded ctermfg=DarkGreen ctermbg=Black
+    "set foldcolumn=6
+    
+    " Color the 100th column.
+    set colorcolumn=100
+    highlight ColorColumn ctermbg = darkgray
+    
+    " Support for tags, currently for Moodle sanity
+    set tags=tags;/
+
+## Desktop Applications ##
+
+### Web Browser ###
+
+Install `iceweasel` package
+
+Install plugins: Adblock Plus, NoScript, Image Zoom, Save Image in Folder, Thumbnail Zoom Plus, Enhanced Steam.
+
+In about:config, set browser.newtabpage.enabled = False.
+
+Since Firefox follows the freedesktop.org guidelines, tell it to stop creating stupid directories in my homedir. Create `~/.null` in homedir. Edit `~/.config/user-dirs.dirs` and change all values to point to `$HOME/.null`. Example below.
+
+    # This file is written by xdg-user-dirs-update
+    # If you want to change or add directories, just edit the line you're
+    # interested in. All local changes will be retained on the next run
+    # Format is XDG_xxx_DIR="$HOME/.null/yyy", where yyy is a shell-escaped
+    # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
+    # absolute path. No other format is supported.
+    # 
+    XDG_DESKTOP_DIR="$HOME/.null"
+    XDG_DOWNLOAD_DIR="$HOME/.null"
+    XDG_TEMPLATES_DIR="$HOME/.null"
+    XDG_PUBLICSHARE_DIR="$HOME/.null"
+    XDG_DOCUMENTS_DIR="$HOME/.null"
+    XDG_MUSIC_DIR="$HOME/.null"
+    XDG_PICTURES_DIR="$HOME/.null"
+    XDG_VIDEOS_DIR="$HOME/.null"
+
+### Email ###
+
+Install package `mutt-patched` since it includes the sidebar-folder-path.
+
+Installed solarized colorscheme to `~/.mutt/colors_solarized`
+
+Configure `.muttrc`
+
+    # .muttrc configuration file
+    
+    # General Configuration
+    set editor='vim'
+    set imap_check_subscribed=yes
+    set print_cmd="muttprint"
+    set print_split
+    set certificate_file=".mutt_certs"
+    source /home/ataylor/.mutt/colors_solarized/mutt-colors-solarized-light-16.muttrc
+    
+    # Sidebar
+    set sidebar_width=20
+    set sidebar_visible=yes
+    set sidebar_sort=yes
+    
+    # View URLs inside mutt
+    macro index \cd "|urlview\n"
+    macro pager \cd "|urlview\n"
+    
+    # Handle HTML emails
+    auto_view text/html
+    alternative_order text/plain text/enriched text/html
+    
+    ### Account: ataylor@subgeniuskitty.com
+    source "~/.mutt/ataylor_subgeniuskitty_com"
+    folder-hook 'imaps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:993' 'source ~/.mutt/ataylor_subgeniuskitty_com'
+    
+    # Macros to handle multiple accounts
+    macro index <f2> '<sync-mailbox><enter-command>source ~/.mutt/ataylor_subgeniuskitty_com<enter><change-folder>!<enter>'
+
+    # ~/.mutt/ataylor_subgeniuskitty_com
+    
+    # Read from IMAP server 
+    set imap_user="ataylor@subgeniuskitty.com"
+    set imap_pass="pass"
+    set folder="imaps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:993"
+    set spoolfile="+INBOX"
+    
+    # Send through SMTP server
+    set smtp_url="smtps://ataylor\@subgeniuskitty.com@mail.subgeniuskitty.com:465"
+    set smtp_pass="pass"
+    set from="ataylor@subgeniuskitty.com"
+    set realname="Aaron Taylor"
+    set postponed="=Drafts"
+    set record="=Sent"
+    
+    # Account Hook -- Important
+    account-hook $folder "set imap_user=ataylor@subgeniuskitty.com imap_pass=pass"
+
+Install package `elinks` and add following line to `.mailcap`
+
+    text/html; elinks -dump %s ; copiousoutput
+
+Install packages `muttprint` and `ospics`, and create `.muttprintrc` file with contents shown below.
+
+    # Muttprint Configuration File
+    
+    PRINT_COMMAND="lp"
+    PENGUIN=/usr/share/ospics/Debian_color.eps
+
+Install package `urlview`.
+
+### IRC ###
+
+Install package `irssi` and add relevant nick/pass/channel/server for autostart with
+
+    /server add -auto -network freenode chat.freenode.net 6667 <password>
+    /network add -nick <nickname> freenode
+    /channel add -auto #hoggit freenode
+
+Cut down on the chatter
+
+    /ignore * JOINS QUITS PARTS
+
+Enable autologging and quasi-rotation by making log dir and setting ownership. Then, in irssi,
+
+    /set autolog_path /path/to/logdir/$tag/$0.%Y%m%d.log
+    /set autolog on
+    /save
+
+Add the following scripts to `~/.irssi/scripts` and symlink to `~/.irssi/scripts/autostart`:
+    adv_windowlist
+    nickcolor
+    trackbar
+
+Add to `~/.xinitrc` but for some reason, must manually specify xterm colors otherwise they default to black text on white background rather than system defaults.
+
+    xterm -fg AliceBlue -bg Black irssi &
+
+### Misc Software ###
+
+A list of misc packages in the Debian repository to install.
+
+    Text Editor      - vim vim-gtk vim-addon-manager
+    Science/Data     - texlive texlive-science texlive-math-extra gnuplot scilab octave dx python-scitools paraview
+    Document Viewers - okular okular-extra-backends
+    Communication    - pidgin
+    Office Suite     - libreoffice gnumeric abiword scribus
+    System Tools     - dvd+rw-tools spacefm virtualbox-ose cellwriter wine smartmontools
+    Graphics         - gimp rawtherapee inkscape geeqie
+    Media            - vlc browser-plugin-vlc quodlibet ffmpeg
+    Programming      - valgrind libgmp-dev libplot-dev plotutils glade libncurses5-dev libmysqlclient-dev
+    Misc             - kicad golly
+
+# Misc #
+
+## Sun Microsystems Keyboard Codes ##
+
+    name               sun code    sun name                usb code    usb name           alternative    alt USB code    alt windows vkey
+    
+    help               0x76        lf(16)                  0x75        help               f13            0x68            124
+    stop               0x01        buckybits+systembit     0x78        stop               f14            0x69            125
+    again              0x03        lf(2)                   0x79        again              f15            0x6A            126
+    props              0x19        lf(3)                   0x76        keyboard menu      f16            0x6B            127
+    undo               0x1A        lf(4)                   0x7A        undo               f17            0x6C            128    
+    front              0x31        lf(5)                   0x77        select             f18            0x6D            129
+    copy               0x33        lf(6)                   0x7C        copy               f19            0x6E            130
+    open               0x48        lf(7)                   0x74        execute            f20            0x6F            131
+    paste              0x49        lf(8)                   0x7D        paste              f21            0x70            132
+    find               0x5F        lf(9)                   0x7E        find               f22            0x71            133
+    cut                0x61        lf(10)                  0x7B        cut                f23            0x72            134
+    
+    mute               0x2D        rf(4)                   0x7F        mute               f24            0x73            135
+    vol down           0x02        -                       0x81        volume down        intl'1         0x87            193    
+    vol up             0x04        -                       0x80        volume up          intl'6         0x8C            234
+    power              0x30        bf(13)                  0x66        keyboard power*    -              -               -
+    
+    compose            0x43        COMPOSE                 0x65        app                right gui
+    left meta          0x78        BUCKYBITS+METABIT       0xE3        left gui           left alt
+    right meta         0x7A        BUCKYBITS+METABIT       0xE7        right gui          right alt
+    escape**           0x1D        ESC                     0x29        escape             tilde
+    tilde**            0x2A        `                       0x35        tilde              escape
+    caps lock**        0x77        SHIFTKEYS+CAPSLOCK      0x39        caps lock          control
+    control**          0x4C        SHIFTKEYS+LEFTCTRL      0xE0        control            caps lock
+    alt                0x13        SHIFTKEYS+ALT           0xE2        left alt           left gui
+    alt graph          0x0D        -                       0xE6        right alt          right control
+
+## Keyboard Shortcuts: mutt ##
+
+    D ~A     - Delete all in folder
+    $        - Purge
+    c        - Change folder
+    T ~A     - Tag all in folder
+    ;s       - Save all tagged messages
+    Ctrl-B   - Show URLs
+
+## Burning CD/DVD ##
+
+Create ISO from filesystem(maximizing compatiblity with long filenames):
+
+    genisoimage -r -J -l -d -joliet-long -allow-multidot -V undergrad_files -o target.iso /path/to/source/directory
+
+For DVD ISO burning:
+
+    growisofs -dvd-compat -Z /dev/sro=name.of.iso
+
+For CD ISO burning:
+
+    wodim -v -sao dev=/dev/sr0 name.of.iso
+
+## Multipage PDFs ##
+
+First scan and get everything ready as TIFFs
+
+    tiffcp scan_???.tiff multipage.tiff
+    tiff2pdf -j -o output.pdf multipage.tiff
+
+# Files #
+
+* [vim solarized theme](debian_8.files/vim_solarized.tar.gz)
+* [mutt solarized theme](debian_8.files/mutt_solarized.tar.gz)
diff --git a/data/notes/debian_8.metadata b/data/notes/debian_8.metadata
new file mode 100644 (file)
index 0000000..f96ff24
--- /dev/null
@@ -0,0 +1,6 @@
+[DEFAULT]
+page_title = Debian 8 Notes
+meta_keywords = 
+meta_description = 
+menu_text = Debian 8
+menu_priority = 2000
diff --git a/data/notes/openbsd_on_linode/index.md b/data/notes/openbsd_on_linode/index.md
new file mode 100644 (file)
index 0000000..1064617
--- /dev/null
@@ -0,0 +1,62 @@
+# Overview #
+
+Linode doesn't offer OpenBSD as an installation choice. These notes describe
+the creation of an OpenBSD VM on Linode using the Linode rescue image to
+bootstrap the OpenBSD installer.
+
+# OpenBSD Installation #
+
+ 1. Create a new linode. The "Nanode 1GB" plan at $5/month is sufficient.
+
+ 2. Under the "Advanced" tab, delete the existing disks and create two new
+    disks, both unformatted raw. The first should be 16 GB, named `root`. The
+    second should be 1 GB, named `install`.
+
+ 3. Under the "Rescue" tab, set `/dev/sda` to the `install` disk and submit.
+    The system should boot into Finnix where you can download and apply the OpenBSD
+    install image. For example:
+
+        root@ttyS0:~# dmesg | grep "sda"
+        [    1.455839] sd 0:0:0:1: [sda] 2097152 512-byte logical blocks: (1.07 GB/1.00)
+        <snip>
+        root@ttyS0:~# wget http://mirrors.syringanetworks.net/pub/OpenBSD/6.5/amd64/install65.fs
+        root@ttyS0:~# dd if=./install65.fs of=/dev/sda
+        922496+0 records in
+        922496+0 records out
+        472317952 bytes (472 MB) copied, 64.5331 s, 7.3 MB/s
+        root@ttyS0:~# shutdown -h now
+
+ 4. Under the "Advanced" tab, delete the existing "configuration" and create a
+    new configuration with the following settings:
+
+        Label: OpenBSD - Install
+        VM Mode: Full virtualization
+        Select a Kernel: Direct disk
+        Run Level: Run Default Level
+        Memory Limit: Do not set any limits on memory usage
+        Block Device Assignment:
+            /dev/sda: boot
+            /dev/sdb: install
+            /dev/sdX: None
+        Root Device: /dev/sdb
+        Filesystem/Boot Helpers: No to all
+
+ 5. Boot the newly created configuration. From the console, perform a normal
+    OpenBSD install using `/dev/sda` as the target disk.
+
+ 6. Under the "Advanced" tab, create a second configuration with the following
+    settings:
+
+        Label: OpenBSD - Normal Operation
+        VM Mode: Full virtualization
+        Select a Kernel: Direct disk
+        Run Level: Run Default Level
+        Memory Limit: Do not set any limits on memory usage
+        Block Device Assignment:
+            /dev/sda: boot
+            /dev/sdX: None
+        Root Device: /dev/sda
+        Filesystem/Boot Helpers: No to all
+
+ 7. Boot the new configuration. You should be able to login to the new system
+    via SSH.
diff --git a/data/notes/openbsd_on_linode/index.metadata b/data/notes/openbsd_on_linode/index.metadata
new file mode 100644 (file)
index 0000000..cfa429d
--- /dev/null
@@ -0,0 +1,6 @@
+[DEFAULT]
+page_title = OpenBSD on Linode
+meta_keywords = 
+meta_description = 
+menu_text = OpenBSD Linode
+menu_priority = 1000
diff --git a/data/notes/openbsd_router/apu4b4_front.jpg b/data/notes/openbsd_router/apu4b4_front.jpg
new file mode 100644 (file)
index 0000000..3dd8572
Binary files /dev/null and b/data/notes/openbsd_router/apu4b4_front.jpg differ
diff --git a/data/notes/openbsd_router/apu4b4_rear.jpg b/data/notes/openbsd_router/apu4b4_rear.jpg
new file mode 100644 (file)
index 0000000..30b5685
Binary files /dev/null and b/data/notes/openbsd_router/apu4b4_rear.jpg differ
diff --git a/data/notes/openbsd_router/index.md b/data/notes/openbsd_router/index.md
new file mode 100644 (file)
index 0000000..4029629
--- /dev/null
@@ -0,0 +1,775 @@
+# OpenBSD Router #
+
+These notes describe the creation of an OpenBSD router with firewall, NAT,
+DHCP, caching DNS, and AutoSSH tunnel.
+
+The four ports of the router are connected to four subnets:
+
+    em0 - 192.168.0.3/24 - internet connection
+    em1 - 192.168.1.1/24 - personal subnet
+    em2 - 192.168.2.1/24 - vintage computing subnet
+    em3 - 192.168.3.1/24 - guest subnet
+
+# Hardware #
+
+This router is based on a PC Engines [APU4](https://pcengines.ch/apu4c4.htm)
+with a 1 GHz, quad-core AMD GX-412TC CPU, 4 GB RAM and quad Intel i211AT NICs.
+
+The two photos below are shamelessly stolen from the PC Engines website since
+I forgot to take photos before installing the PCB in the case.
+
+%%BEGIN_GALLERY%%
+openbsd_router/apu4b4_front.jpg|Front
+openbsd_router/apu4b4_rear.jpg|Rear
+%%END_GALLERY%%
+
+Total costs for the project in 2019 were:
+
+| Price   | Part Num.   | Description     |
+| :------ | :---------- | :-------------- |
+| $117.50 | apu4c4      | PC Engines APU4 |
+| $9.40   | case1d4redu | Enclosure       |
+| $4.10   | ac12vus2    | AC Adapter      |
+| $12.80  | msata16h    | 16 GB mSATA SSD |
+| $16.20  | NA          | Shipping        |
+
+The CPU requires a thermal connection to the case. Although everything
+necessary is included with the order, the thermal pad should be replaced any
+time the PCB is removed from the case. Suitable replacements should be 0.5mm
+thick and have a thermal conductivity of 6 W/mK or better.
+
+# OpenBSD Installation #
+
+Download `installXX.fs` from <https://openbsd.org> and `dd` to a USB flash drive.
+These notes are for `amd64/install65.fs` downloaded on 20190918.
+
+Connect a serial terminal configured for `115200 8N1` to the APU4. At the
+appropriate prompt, press `F10` and boot from the USB drive. Upon reaching the
+`boot>` prompt, we must tell the installer to use the serial port for the
+console.
+
+    boot> stty com0 115200
+    boot> set tty com0
+
+After this, proceed to install OpenBSD as on any other x64 server. A complete
+installation log through first boot is included at the bottom of these notes.
+
+After installation is complete, the date may be incorrect, prompting errors
+during package installation.
+
+    # pkg_add -v nmap
+    ftp: SSL write error: certificate verification failed: certificate is not yet valid
+
+If the clock is too far out of sync, manual intervention may be required.
+
+    # rcctl stop ntpd
+    # ntpd -d -s
+    # date
+    <confirm>
+    # rcctl enable ntpd
+    # rcctl start ntpd
+
+Setup all network interfaces and enable IP forwarding since this is a router.
+
+    # echo 'net.inet.ip.forwarding=1' >> /etc/sysctl.conf
+    # echo 'inet 192.168.1.1 255.255.255.0' > /etc/hostname.em1
+    # echo 'inet 192.168.2.1 255.255.255.0' > /etc/hostname.em2
+    # echo 'inet 192.168.3.1 255.255.255.0' > /etc/hostname.em3
+
+Edit `/etc/ssh/sshd_config` and configure `sshd` to listen only on the private
+network interface.
+
+    ListenAddress 192.168.1.1
+
+Disable a few services that aren't necessary in this application by adding
+these lines to `/etc/rc.conf.local`.
+
+    sndiod_flags=NO
+    slaacd_flags=NO
+    smtpd_flags=NO
+
+# DHCP Server #
+
+A simple DHCP configuration for each subnet.
+
+    # rcctl enable dhcpd
+    # rcctl set dhcpd flags em1 em2 em3
+    # ed /etc/dhcpd.conf
+    a
+    subnet 192.168.1.0 netmask 255.255.255.0 {
+        option routers 192.168.1.1;
+        option domain-name-servers 192.168.1.1;
+        range 192.168.1.100 192.168.1.200;
+    }
+    subnet 192.168.2.0 netmask 255.255.255.0 {
+        option routers 192.168.2.1;
+        option domain-name-servers 192.168.2.1;
+        range 192.168.2.100 192.168.2.200;
+    }
+    subnet 192.168.3.0 netmask 255.255.255.0 {
+        option routers 192.168.3.1;
+        option domain-name-servers 192.168.3.1;
+        range 192.168.3.100 192.168.3.200;
+    }
+    w
+    453
+    q
+    # rcctl restart dhcpd
+    dhcpd(ok)
+
+# Firewall #
+
+The firewall configuration is located at `/etc/pf.conf` and can be reloaded
+with `pfctl` (see below). While the configuration itself is commented, the
+general idea is that `em0` is the public connection to the internet, `em1`,
+`em2`, and `em3` are private networks accessing the internet through NAT.
+Additionally, although hosts on `em1` should be able to reach anything, hosts
+on `em2` or `em3` should only be able to reach the internet.
+
+    # Subgeniuskitty Firewall Config
+    # Last updated on 20190918
+    
+    # Interfaces:
+    #     em0: Internet connection
+    #     em1: Personal network
+    #     em2: Vintage computing network
+    #     em3: Guest network
+    
+    # Non-routable IPv4 addresses (per RFC 5735 section 4).
+    table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16     \
+                       172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 224.0.0.0/4 \
+                       192.168.0.0/16 198.18.0.0/15 198.51.100.0/24        \
+                       203.0.113.0/24 }
+    
+    # Drop instead of returning a TCP RST.
+    set block-policy drop
+    
+    # Log statistics for internet interface.
+    set loginterface egress
+    
+    # No processing on any loopback packets.
+    set skip on lo0
+    
+    # Normalize and defragment
+    match in all scrub (no-df random-id max-mss 1440)
+    
+    # NAT for the LAN
+    match out on egress inet from !(egress:network) to any nat-to (egress:0)
+    
+    # Spoofers and Martians
+    antispoof quick for { egress em1 em2 em3 }
+    block in quick on egress from <martians> to any
+    block return out quick on egress from any to <martians>
+    
+    # Policy: deny by default.
+    block all
+    
+    # Allow outbound IPv4 traffic.
+    pass out quick inet
+    
+    # Allow em1 to reach any port
+    pass in quick from em1:network to any
+    
+    # Only allow em2 to reach the internet, not other internal networks.
+    block in quick from em2:network to em0:network
+    block in quick from em2:network to em1:network
+    block in quick from em2:network to em3:network
+    pass in quick from em2:network to any
+    
+    # Only allow em3 to reach the internet, not other internal networks.
+    block in quick from em3:network to em0:network
+    block in quick from em3:network to em1:network
+    block in quick from em3:network to em2:network
+    pass in quick from em3:network to any
+
+A few simple `pfctl` commands:
+
+    # pfctl -f /etc/pf.conf     Load the pf.conf file
+    # pfctl -nf /etc/pf.conf    Parse the pf.conf file, but don't load it
+    # pfctl -sr                 Show the current ruleset
+    # pfctl -ss                 Show the current state table
+    # pfctl -si                 Show filter stats and counters
+    # pfctl -sa                 Show everything
+
+# DNS Cache #
+
+The sample configuration below should be located at `/var/unbound/etc/unbound.conf`.
+
+    # Subgeniuskitty DNS Cache Config
+    # Last updated on 20190918
+    
+    server:
+        interface: 127.0.0.1
+        interface: 192.168.1.1
+        interface: 192.168.2.1
+        interface: 192.168.3.1
+        access-control: 127.0.0.0/8 allow
+        access-control: 192.168.1.0/24 allow
+        access-control: 192.168.2.0/24 allow
+        access-control: 192.168.3.0/24 allow
+        do-not-query-localhost: no
+        hide-identity: yes
+        hide-version: yes
+    forward-zone:
+        name: "."                               # use for ALL queries
+        forward-addr: 8.8.8.8                   # Google's public DNS server
+
+After the configuration is ready, enable the daemon.
+
+    # rcctl enable unbound
+
+Unbound can also serve DNS entries directly.
+
+    # Serve zones authoritatively from Unbound to resolver clients.
+    # Not for external service.
+    #
+    #local-zone: "local." static
+    #local-data: "mycomputer.local. IN A 192.0.2.51"
+    #local-zone: "2.0.192.in-addr.arpa." static
+    #local-data-ptr: "192.0.2.51 mycomputer.local"
+
+# AutoSSH Tunnel #
+
+AutoSSH creates and sustains SSH tunnels. This router will use it to build a
+tunnel through another host with a public IP address.
+
+    # pkg_add -v autossh
+    Update candidates: quirks-3.124 -> quirks-3.124
+    quirks-3.124 signed on 2019-09-16T08:18:29Z
+    autossh-1.4g: ok
+    Extracted 72468 from 72794
+    # ^D
+    $ ssh-keygen
+    Generating public/private rsa key pair.
+    Enter file in which to save the key (/home/ataylor/.ssh/id_rsa): /home/ataylor/.ssh/rtunnel_nopwd
+    Enter passphrase (empty for no passphrase): <empty>
+    Enter same passphrase again:  <empty>
+    Your identification has been saved in /home/ataylor/.ssh/rtunnel_nopwd.
+    Your public key has been saved in /home/ataylor/.ssh/rtunnel_nopwd.pub.
+    The key fingerprint is:
+    SHA256:Dh3H+q3WTKq5nhvmbBSBRiLmzxk9ZTV4jIBMiaiv4BE ataylor@gandalf.subgeniuskitty.com
+    The key's randomart image is:
+    +---[RSA 3072]----+
+    | .o+o+ooo=o      |
+    |.o..+ooo+.o.     |
+    |. . ..o .oo      |
+    |.E o o o.+       |
+    | .. + . S.       |
+    |...    o.. ..    |
+    |o..    .+ .=.    |
+    |..     +.+o.o    |
+    |       oX=.      |
+    +----[SHA256]-----+
+
+Copy the resulting `rtunnel_nopwd.pub` key into `~/.ssh/authorized_hosts` on
+the far end of the tunnel, in this case `backdoor.subgeniuskitty.com`. Verify
+that you can login without a password, as in the example below.
+
+    $ ssh -i /home/ataylor/.ssh/rtunnel_nopwd ataylor@backdoor.subgeniuskitty.com
+
+Edit `/etc/rc.local` to start the tunnel at boot. For example:
+
+    echo 'building autossh tunnel to backdoor.subgeniuskitty.com'
+    /usr/local/bin/autossh -N -M 10200 \
+    -o "PubkeyAuthentication=yes" \
+    -o "PasswordAuthentication=no" \
+    -i /home/ataylor/.ssh/rtunnel_nopwd \
+    -R 6600:localhost:22 \
+    ataylor@backdoor.subgeniuskitty.com &
+
+# Installation Log: OpenBSD 6.5 on APU4 #
+
+    PC Engines apu4
+    coreboot build 20190402
+    BIOS version v4.0.24
+    
+    <screen clears>
+    
+    SeaBIOS (version rel-1.12.0.1-0-g393dc9c)
+    
+    Press F10 key now for boot menu
+    
+    Select boot device:
+    
+    1. USB MSC Drive PNY USB 3.0 FD
+    2. ata0-0: Hoodisk SSD ATA-11 Hard-Disk (15272 MiBytes)
+    3. Payload [memtest]
+    4. Payload [setup]
+    
+    Booting from Hard Disk...
+    Using drive 0, partition 3.
+    Loading......
+    probing: pc0 com0 com1 com2 com3 mem[639K 3582M 496M a20=on]
+    disk: hd0+ hd1+*
+    >> OpenBSD/amd64 BOOT 3.43
+    boot> stty com0 115200
+    boot> set tty com0
+    switching console to com>> OpenBSD/amd64 BOOT 3.43
+    boot>
+    0
+    cannot open hd0a:/etc/random.seed: No such file or directory
+    booting hd0a:/6.5/amd64/bsd.rd: 3683153+1524736+3888856+0+593920 [367459+128+450384+299805]=0xa51258
+    entry point at 0x1001000
+    Copyright (c) 1982, 1986, 1989, 1991, 1993
+            The Regents of the University of California.  All rights reserved.
+    Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org
+    
+    OpenBSD 6.5 (RAMDISK_CD) #3: Sat Apr 13 14:55:38 MDT 2019
+        deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/RAMDISK_CD
+    real mem = 4261203968 (4063MB)
+    avail mem = 4128083968 (3936MB)
+    mainbus0 at root
+    bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xdffd7020 (7 entries)
+    bios0: vendor coreboot version "v4.0.24" date 02/04/2019
+    bios0: PC Engines apu4
+    acpi0 at bios0: rev 2
+    acpi0: tables DSDT FACP SSDT APIC HEST SSDT SSDT HPET
+    acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
+    cpu0 at mainbus0: apid 0 (boot processor)
+    cpu0: AMD GX-412TC SOC, 998.24 MHz, 16-30-01
+    cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,\
+        SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,\
+        3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,T
+    cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
+    cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
+    cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
+    cpu0: apic clock running at 99MHz
+    cpu0: mwait min=64, max=64, IBE
+    cpu at mainbus0: not configured
+    cpu at mainbus0: not configured
+    cpu at mainbus0: not configured
+    ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins
+    ioapic1 at mainbus0: apid 5 pa 0xfec20000, version 21, 32 pins, remapped
+    acpiprt0 at acpi0: bus 0 (PCI0)
+    acpiprt1 at acpi0: bus 1 (PBR4)
+    acpiprt2 at acpi0: bus 2 (PBR5)
+    acpiprt3 at acpi0: bus 3 (PBR6)
+    acpiprt4 at acpi0: bus 4 (PBR7)
+    acpiprt5 at acpi0: bus -1 (PBR8)
+    acpicpu at acpi0 not configured
+    "PNP0C0C" at acpi0 not configured
+    "PNP0A08" at acpi0 not configured
+    acpicmos0 at acpi0
+    pci0 at mainbus0 bus 0
+    pchb0 at pci0 dev 0 function 0 "AMD AMD64 16h Root Complex" rev 0x00
+    pchb1 at pci0 dev 2 function 0 "AMD AMD64 16h Host" rev 0x00
+    ppb0 at pci0 dev 2 function 1 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci1 at ppb0 bus 1
+    em0 at pci1 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:34
+    ppb1 at pci0 dev 2 function 2 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci2 at ppb1 bus 2
+    em1 at pci2 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:35
+    ppb2 at pci0 dev 2 function 3 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci3 at ppb2 bus 3
+    em2 at pci3 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:36
+    ppb3 at pci0 dev 2 function 4 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci4 at ppb3 bus 4
+    em3 at pci4 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:37
+    ccp0 at pci0 dev 8 function 0 "AMD Cryptographic Co-processor v3" rev 0x00
+    xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x11: msi, xHCI 1.0
+    usb0 at xhci0: USB revision 3.0
+    uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
+    ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: apic 4 int 19, AHCI 1.3
+    ahci0: port 0: 6.0Gb/s
+    scsibus0 at ahci0: 32 targets
+    sd0 at scsibus0 targ 0 lun 0: <ATA, Hoodisk SSD, SBFM> SCSI3 0/direct fixed t10.ATA_Hoodisk_SSD_K2TTC7A11253904_
+    sd0: 15272MB, 512 bytes/sector, 31277232 sectors, thin
+    ehci0 at pci0 dev 18 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
+    usb1 at ehci0: USB revision 2.0
+    uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
+    ehci1 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
+    usb2 at ehci1: USB revision 2.0
+    uhub2 at usb2 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
+    "AMD Hudson-2 SMBus" rev 0x42 at pci0 dev 20 function 0 not configured
+    "AMD Hudson-2 LPC" rev 0x11 at pci0 dev 20 function 3 not configured
+    sdhc0 at pci0 dev 20 function 7 "AMD Bolton SD/MMC" rev 0x01: apic 4 int 16
+    sdhc0: SDHC 2.0, 50 MHz base clock
+    sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
+    pchb2 at pci0 dev 24 function 0 "AMD AMD64 16h Link Cfg" rev 0x00
+    pchb3 at pci0 dev 24 function 1 "AMD AMD64 16h Address Map" rev 0x00
+    pchb4 at pci0 dev 24 function 2 "AMD AMD64 16h DRAM Cfg" rev 0x00
+    pchb5 at pci0 dev 24 function 3 "AMD AMD64 16h Misc Cfg" rev 0x00
+    pchb6 at pci0 dev 24 function 4 "AMD AMD64 16h CPU Power" rev 0x00
+    pchb7 at pci0 dev 24 function 5 "AMD AMD64 16h Misc Cfg" rev 0x00
+    isa0 at mainbus0
+    com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
+    com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
+    com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo
+    umass0 at uhub0 port 2 configuration 1 interface 0 "PNY Technologies USB 3.0 FD" rev 3.00/1.00 addr 2
+    umass0: using SCSI over Bulk-Only
+    scsibus1 at umass0: 2 targets, initiator 0
+    sd1 at scsibus1 targ 1 lun 0: <PNY, USB 3.0 FD, > SCSI4 0/direct removable serial.154b00b25C3C10D19D29
+    sd1: 119743MB, 512 bytes/sector, 245235199 sectors
+    uhub3 at uhub1 port 1 configuration 1 interface 0 "vendor 0x0438 product 0x7900" rev 2.00/0.18 addr 2
+    uhub4 at uhub2 port 1 configuration 1 interface 0 "vendor 0x0438 product 0x7900" rev 2.00/0.18 addr 2
+    softraid0 at root
+    scsibus2 at softraid0: 256 targets
+    root on rd0a swap on rd0b dump on rd0b
+    erase ^?, werase ^W, kill ^U, intr ^C, status ^T
+    
+    Welcome to the OpenBSD/amd64 6.5 installation program.
+    (I)nstall, (U)pgrade, (A)utoinstall or (S)hell? I
+    At any prompt except password prompts you can escape to a shell by
+    typing '!'. Default answers are shown in []'s and are selected by
+    pressing RETURN.  You can exit this program at any time by pressing
+    Control-C, but this can leave your system in an inconsistent state.
+    
+    Terminal type? [vt220]
+    System hostname? (short form, e.g. 'foo') gandalf
+    
+    Available network interfaces are: em0 em1 em2 em3 vlan0.
+    Which network interface do you wish to configure? (or 'done') [em0]
+    IPv4 address for em0? (or 'dhcp' or 'none') [dhcp] 192.168.0.3
+    Netmask for em0? [255.255.255.0]
+    IPv6 address for em0? (or 'autoconf' or 'none') [none]
+    Available network interfaces are: em0 em1 em2 em3 vlan0.
+    Which network interface do you wish to configure? (or 'done') [done]
+    Default IPv4 route? (IPv4 address or none) 192.168.0.1
+    add net default: gateway 192.168.0.1
+    DNS domain name? (e.g. 'example.com') [my.domain] subgeniuskitty.com
+    DNS nameservers? (IP address list or 'none') [none] 192.168.0.1
+    
+    Password for root account? (will not echo)
+    Password for root account? (again)
+    Start sshd(8) by default? [yes]
+    Change the default console to com0? [yes]
+    Available speeds are: 9600 19200 38400 57600 115200.
+    Which speed should com0 use? (or 'done') [115200] 115200
+    Setup a user? (enter a lower-case loginname, or 'no') [no] ataylor
+    Full name for user ataylor? [ataylor] Aaron Taylor
+    Password for user ataylor? (will not echo)
+    Password for user ataylor? (again)
+    WARNING: root is targeted by password guessing attacks, pubkeys are safer.
+    Allow root ssh login? (yes, no, prohibit-password) [no] no
+    
+    Available disks are: sd0 sd1.
+    Which disk is the root disk? ('?' for details) [sd0] ?
+    sd0: ATA, Hoodisk SSD, SBFM t10.ATA_Hoodisk_SSD_K2TTC7A11253904_ (14.9G)
+    sd1: PNY, USB 3.0 FD serial.154b00b25C3C10D19D29 (116.9G)
+    Available disks are: sd0 sd1.
+    Which disk is the root disk? ('?' for details) [sd0] sd0
+    No valid MBR or GPT.
+    Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole] W
+    Setting OpenBSD MBR partition to whole sd0...done.
+    The auto-allocated layout for sd0 is:
+    #                size           offset  fstype [fsize bsize   cpg]
+      a:           384.1M               64  4.2BSD   2048 16384     1 # /
+      b:           548.3M           786784    swap
+      c:         15272.1M                0  unused
+      d:           494.6M          1909664  4.2BSD   2048 16384     1 # /tmp
+      e:           688.8M          2922656  4.2BSD   2048 16384     1 # /var
+      f:          1534.1M          4333248  4.2BSD   2048 16384     1 # /usr
+      g:           524.5M          7475168  4.2BSD   2048 16384     1 # /usr/X11R6
+      h:          1726.4M          8549312  4.2BSD   2048 16384     1 # /usr/local
+      i:          1393.7M         12085024  4.2BSD   2048 16384     1 # /usr/src
+      j:          5307.3M         14939232  4.2BSD   2048 16384     1 # /usr/obj
+      k:          2663.0M         25808608  4.2BSD   2048 16384     1 # /home
+    Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] c
+    Label editor (enter '?' for help at any prompt)
+    sd0> ?
+    Available commands:
+     ? | h    - show help                 n [part] - set mount point
+     A        - auto partition all space  p [unit] - print partitions
+     a [part] - add partition             q        - quit & save changes
+     b        - set OpenBSD boundaries    R [part] - resize auto allocated partition
+     c [part] - change partition size     r        - display free space
+     D        - reset label to default    s [path] - save label to file
+     d [part] - delete partition          U        - undo all changes
+     e        - edit drive parameters     u        - undo last change
+     g [d|u]  - [d]isk or [u]ser geometry w        - write label to disk
+     i        - modify disklabel UID      X        - toggle expert mode
+     l [unit] - print disk label header   x        - exit & lose changes
+     M        - disklabel(8) man page     z        - delete all partitions
+     m [part] - modify partition
+    
+    Suffixes can be used to indicate units other than sectors:
+     'b' (bytes), 'k' (kilobytes), 'm' (megabytes), 'g' (gigabytes) 't' (terabytes)
+     'c' (cylinders), '%' (% of total disk), '&' (% of free space).
+    Values in non-sector units are truncated to the nearest cylinder boundary.
+    sd0> p
+    OpenBSD area: 64-31262490; size: 31262426; free: 31262426
+    #                size           offset  fstype [fsize bsize   cpg]
+      c:         31277232                0  unused
+    sd0> a
+    partition: [a]
+    offset: [64]
+    size: [31262426] 8G
+    FS type: [4.2BSD]
+    mount point: [none] /
+    sd0> a
+    partition: [b]
+    offset: [16787904]
+    size: [14474586] 1G
+    FS type: [swap]
+    sd0> a
+    partition: [d]
+    offset: [18892440]
+    size: [12370050] 1G
+    FS type: [4.2BSD]
+    mount point: [none] /tmp
+    sd0> a
+    partition: [e]
+    offset: [20996928]
+    size: [10265562] 1G
+    FS type: [4.2BSD]
+    mount point: [none] /var
+    sd0> a
+    partition: [f]
+    offset: [23101440]
+    size: [8161050] 1G
+    FS type: [4.2BSD]
+    mount point: [none] /home
+    sd0> a
+    partition: [g]
+    offset: [25205984]
+    size: [6056506]
+    FS type: [4.2BSD]
+    mount point: [none] /usr
+    sd0> p
+    OpenBSD area: 64-31262490; size: 31262426; free: 34
+    #                size           offset  fstype [fsize bsize   cpg]
+      a:         16787840               64  4.2BSD   2048 16384     1 # /
+      b:          2104536         16787904    swap
+      c:         31277232                0  unused
+      d:          2104480         18892448  4.2BSD   2048 16384     1 # /tmp
+      e:          2104512         20996928  4.2BSD   2048 16384     1 # /var
+      f:          2104544         23101440  4.2BSD   2048 16384     1 # /home
+      g:          6056480         25205984  4.2BSD   2048 16384     1 # /usr
+    sd0> w
+    sd0> q
+    No label changes.
+    /dev/rsd0a: 8197.2MB in 16787840 sectors of 512 bytes
+    41 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
+    /dev/rsd0f: 1027.6MB in 2104544 sectors of 512 bytes
+    6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
+    /dev/rsd0d: 1027.6MB in 2104480 sectors of 512 bytes
+    6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
+    /dev/rsd0g: 2957.3MB in 6056480 sectors of 512 bytes
+    15 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
+    /dev/rsd0e: 1027.6MB in 2104512 sectors of 512 bytes
+    6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
+    Available disks are: sd1.
+    Which disk do you wish to initialize? (or 'done') [done]
+    /dev/sd0a (ad5e78601fae8b9b.a) on /mnt type ffs (rw, asynchronous, local)
+    /dev/sd0f (ad5e78601fae8b9b.f) on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid)
+    /dev/sd0d (ad5e78601fae8b9b.d) on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid)
+    /dev/sd0g (ad5e78601fae8b9b.g) on /mnt/usr type ffs (rw, asynchronous, local, nodev)
+    /dev/sd0e (ad5e78601fae8b9b.e) on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid)
+    
+    Let's install the sets!
+    Location of sets? (disk http or 'done') [http] disk
+    Is the disk partition already mounted? [yes] no
+    Available disks are: sd0 sd1.
+    Which disk contains the install media? (or 'done') [sd1] sd1
+      a:           920512             1024  4.2BSD   2048 16384 16142
+      i:              960               64   MSDOS
+    Available sd1 partitions are: a i.
+    Which sd1 partition has the install sets? (or 'done') [a] a
+    Pathname to the sets? (or 'done') [6.5/amd64]
+    
+    Select sets by entering a set name, a file name pattern or 'all'. De-select
+    sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'.
+        [X] bsd           [X] base65.tgz    [X] game65.tgz    [X] xfont65.tgz
+        [X] bsd.mp        [X] comp65.tgz    [X] xbase65.tgz   [X] xserv65.tgz
+        [X] bsd.rd        [X] man65.tgz     [X] xshare65.tgz
+    Set name(s)? (or 'abort' or 'done') [done] -game*
+        [X] bsd           [X] base65.tgz    [ ] game65.tgz    [X] xfont65.tgz
+        [X] bsd.mp        [X] comp65.tgz    [X] xbase65.tgz   [X] xserv65.tgz
+        [X] bsd.rd        [X] man65.tgz     [X] xshare65.tgz
+    Set name(s)? (or 'abort' or 'done') [done] -x*
+        [X] bsd           [X] base65.tgz    [ ] game65.tgz    [ ] xfont65.tgz
+        [X] bsd.mp        [X] comp65.tgz    [ ] xbase65.tgz   [ ] xserv65.tgz
+        [X] bsd.rd        [X] man65.tgz     [ ] xshare65.tgz
+    Set name(s)? (or 'abort' or 'done') [done] done
+    Directory does not contain SHA256.sig. Continue without verification? [no] yes
+    Installing bsd          100% |**************************| 15163 KB    00:00
+    Installing bsd.mp       100% |**************************| 15248 KB    00:00
+    Installing bsd.rd       100% |**************************|  9984 KB    00:00
+    Installing base65.tgz   100% |**************************|   190 MB    00:26
+    Extracting etc.tgz      100% |**************************|   260 KB    00:00
+    Installing comp65.tgz   100% |**************************| 71916 KB    00:14
+    Installing man65.tgz    100% |**************************|  7385 KB    00:01
+    Location of sets? (disk http or 'done') [done] done
+    
+    What timezone are you in? ('?' for list) [Canada/Mountain] US/Pacific
+    Saving configuration files... done.
+    Making all device nodes... done.
+    Multiprocessor machine; using bsd.mp instead of bsd.
+    Relinking to create unique kernel... done.
+    
+    CONGRATULATIONS! Your OpenBSD install has been successfully completed!
+    
+    When you login to your new system the first time, please read your mail
+    using the 'mail' command.
+    
+    Exit to (S)hell, (H)alt or (R)eboot? [reboot]
+    
+    <remove USB flash drive>
+    
+    
+    
+    SeaBIOS (version rel-1.12.0.1-0-g393dc9c)
+    
+    Press F10 key now for boot menu
+    
+    Booting from Hard Disk...
+    Using drive 0, partition 3.
+    Loading......
+    probing: pc0 com0 com1 com2 com3 mem[639K 3582M 496M a20=on]
+    disk: hd0+
+    >> OpenBSD/amd64 BOOT 3.43
+    switching console to com>> OpenBSD/amd64 BOOT 3.43
+    boot> 0
+    
+    booting hd0a:/bsd: 10688280+2458640+344096+0+675840 [677254+128+856800+597186]=0xf8d9b0
+    entry point at 0x1001000
+    [ using 2132400 bytes of bsd ELF symbol table ]
+    Copyright (c) 1982, 1986, 1989, 1991, 1993
+            The Regents of the University of California.  All rights reserved.
+    Copyright (c) 1995-2019 OpenBSD. All rights reserved.  https://www.OpenBSD.org
+    
+    OpenBSD 6.5 (GENERIC.MP) #3: Sat Apr 13 14:48:43 MDT 2019
+        deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
+    real mem = 4261208064 (4063MB)
+    avail mem = 4122431488 (3931MB)
+    mpath0 at root
+    scsibus0 at mpath0: 256 targets
+    mainbus0 at root
+    bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xdffd7020 (7 entries)
+    bios0: vendor coreboot version "v4.0.24" date 02/04/2019
+    bios0: PC Engines apu4
+    acpi0 at bios0: rev 2
+    acpi0: sleep states S0 S1 S2 S3 S4 S5
+    acpi0: tables DSDT FACP SSDT APIC HEST SSDT SSDT HPET
+    acpi0: wakeup devices PWRB(S4) PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) UOH1(S3) UOH3(S3) UOH5(S3) XHC0(S4)
+    acpitimer0 at acpi0: 3579545 Hz, 32 bits
+    acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
+    cpu0 at mainbus0: apid 0 (boot processor)
+    cpu0: AMD GX-412TC SOC, 998.27 MHz, 16-30-01
+    cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,\
+        SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,\
+        3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,T
+    cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
+    cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
+    cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
+    cpu0: smt 0, core 0, package 0
+    mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
+    <missed recording a few lines here due to overflow>
+    cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
+    cpu2: smt 0, core 2, package 0
+    cpu3 at mainbus0: apid 3 (application processor)
+    cpu3: AMD GX-412TC SOC, 998.14 MHz, 16-30-01
+    cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,\
+        SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,\
+        3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,T
+    cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
+    cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
+    cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
+    cpu3: smt 0, core 3, package 0
+    ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins
+    ioapic1 at mainbus0: apid 5 pa 0xfec20000, version 21, 32 pins, remapped
+    acpihpet0 at acpi0: 14318180 Hz
+    acpiprt0 at acpi0: bus 0 (PCI0)
+    acpiprt1 at acpi0: bus 1 (PBR4)
+    acpiprt2 at acpi0: bus 2 (PBR5)
+    acpiprt3 at acpi0: bus 3 (PBR6)
+    acpiprt4 at acpi0: bus 4 (PBR7)
+    acpiprt5 at acpi0: bus -1 (PBR8)
+    acpicpu0 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
+    acpicpu1 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
+    acpicpu2 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
+    acpicpu3 at acpi0: C2(0@400 io@0x1771), C1(@1 halt!), PSS
+    acpibtn0 at acpi0: PWRB
+    acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
+    acpicmos0 at acpi0
+    cpu0: 998 MHz: speeds: 1000 800 600 MHz
+    pci0 at mainbus0 bus 0
+    pchb0 at pci0 dev 0 function 0 "AMD AMD64 16h Root Complex" rev 0x00
+    pchb1 at pci0 dev 2 function 0 "AMD AMD64 16h Host" rev 0x00
+    ppb0 at pci0 dev 2 function 1 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci1 at ppb0 bus 1
+    em0 at pci1 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:34
+    ppb1 at pci0 dev 2 function 2 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci2 at ppb1 bus 2
+    em1 at pci2 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:35
+    ppb2 at pci0 dev 2 function 3 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci3 at ppb2 bus 3
+    em2 at pci3 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:36
+    ppb3 at pci0 dev 2 function 4 "AMD AMD64 16h PCIE" rev 0x00: msi
+    pci4 at ppb3 bus 4
+    em3 at pci4 dev 0 function 0 "Intel I211" rev 0x03: msi, address 00:0d:b9:52:f4:37
+    ccp0 at pci0 dev 8 function 0 "AMD Cryptographic Co-processor v3" rev 0x00
+    xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x11: msi, xHCI 1.0
+    usb0 at xhci0: USB revision 3.0
+    uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
+    ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: apic 4 int 19, AHCI 1.3
+    ahci0: port 0: 6.0Gb/s
+    scsibus1 at ahci0: 32 targets
+    sd0 at scsibus1 targ 0 lun 0: <ATA, Hoodisk SSD, SBFM> SCSI3 0/direct fixed t10.ATA_Hoodisk_SSD_K2TTC7A11253904_
+    sd0: 15272MB, 512 bytes/sector, 31277232 sectors, thin
+    ehci0 at pci0 dev 18 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
+    usb1 at ehci0: USB revision 2.0
+    uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
+    ehci1 at pci0 dev 19 function 0 "AMD Hudson-2 USB2" rev 0x39: apic 4 int 18
+    usb2 at ehci1: USB revision 2.0
+    uhub2 at usb2 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
+    piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x42: SMBus disabled
+    pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
+    sdhc0 at pci0 dev 20 function 7 "AMD Bolton SD/MMC" rev 0x01: apic 4 int 16
+    sdhc0: SDHC 2.0, 50 MHz base clock
+    sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma
+    pchb2 at pci0 dev 24 function 0 "AMD AMD64 16h Link Cfg" rev 0x00
+    pchb3 at pci0 dev 24 function 1 "AMD AMD64 16h Address Map" rev 0x00
+    pchb4 at pci0 dev 24 function 2 "AMD AMD64 16h DRAM Cfg" rev 0x00
+    km0 at pci0 dev 24 function 3 "AMD AMD64 16h Misc Cfg" rev 0x00
+    pchb5 at pci0 dev 24 function 4 "AMD AMD64 16h CPU Power" rev 0x00
+    pchb6 at pci0 dev 24 function 5 "AMD AMD64 16h Misc Cfg" rev 0x00
+    isa0 at pcib0
+    isadma0 at isa0
+    com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
+    com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
+    com2 at isa0 port 0x3e8/8 irq 5: ns16550a, 16 byte fifo
+    pcppi0 at isa0 port 0x61
+    spkr0 at pcppi0
+    lpt0 at isa0 port 0x378/4 irq 7
+    wbsio0 at isa0 port 0x2e/2: NCT5104D rev 0x53
+    vmm0 at mainbus0: SVM/RVI
+    uhub3 at uhub1 port 1 configuration 1 interface 0 "Advanced Micro Devices product 0x7900" rev 2.00/0.18 addr 2
+    uhub4 at uhub2 port 1 configuration 1 interface 0 "Advanced Micro Devices product 0x7900" rev 2.00/0.18 addr 2
+    vscsi0 at root
+    scsibus2 at vscsi0: 256 targets
+    softraid0 at root
+    scsibus3 at softraid0: 256 targets
+    root on sd0a (ad5e78601fae8b9b.a) swap on sd0b dump on sd0b
+    Process (pid 1) got signal 31
+    Automatic boot in progress: starting file system checks.
+    /dev/sd0a (ad5e78601fae8b9b.a): file system is clean; not checking
+    /dev/sd0f (ad5e78601fae8b9b.f): file system is clean; not checking
+    /dev/sd0d (ad5e78601fae8b9b.d): file system is clean; not checking
+    /dev/sd0g (ad5e78601fae8b9b.g): file system is clean; not checking
+    /dev/sd0e (ad5e78601fae8b9b.e): file system is clean; not checking
+    pf enabled
+    starting network
+    reordering libraries: done.
+    openssl: generating isakmpd/iked RSA keys... done.
+    ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
+    starting early daemons: syslogd pflogd ntpd.
+    starting RPC daemons:.
+    savecore: no core dump
+    checking quotas: done.
+    clearing /tmp
+    kern.securelevel: 0 -> 1
+    creating runtime link editor directory cache.
+    preserving editor files.
+    starting network daemons: sshd smtpd sndiod.
+    running rc.firsttime
+    Path to firmware: http://firmware.openbsd.org/firmware/6.5/
+    Installing: vmm-firmware
+    Checking for available binary patches...
+    ftp: SSL write error: certificate verification failed: certificate is not yet valid
+    starting local daemons: cron.
+    Tue Dec 12 16:50:18 PST 2017
+    
+    OpenBSD/amd64 (gandalf.subgeniuskitty.com) (tty00)
+    
+    login:
diff --git a/data/notes/openbsd_router/index.metadata b/data/notes/openbsd_router/index.metadata
new file mode 100644 (file)
index 0000000..f26a87c
--- /dev/null
@@ -0,0 +1,6 @@
+[DEFAULT]
+page_title = OpenBSD Router on PC Engines APU4
+meta_keywords = 
+meta_description = 
+menu_text = OpenBSD Router
+menu_priority = 1000
diff --git a/data/notes/windows_8.1_pro.md b/data/notes/windows_8.1_pro.md
new file mode 100644 (file)
index 0000000..4fe533b
--- /dev/null
@@ -0,0 +1,11 @@
+# Overview #
+
+Installation notes for Windows 8.1 Pro workstation.
+
+# RTC / NTP #
+
+Since we prefer to set the RTC to UTC but Windows expects the RTC to be localtime, create/set the following registry entry.
+
+    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal -> DWORD 0x01
+
+After saving the changes, right click the clock on the taskbar and select "Adjust date/time". On the "Internet Time" tab, disable NTP. The RTC can now be set to UTC and Windows will both correctly interpret it and avoid changing it.
diff --git a/data/notes/windows_8.1_pro.metadata b/data/notes/windows_8.1_pro.metadata
new file mode 100644 (file)
index 0000000..7ba2877
--- /dev/null
@@ -0,0 +1,6 @@
+[DEFAULT]
+page_title = Windows 8.1 Pro Notes
+meta_keywords = 
+meta_description = 
+menu_text = Windows 8.1 Pro
+menu_priority = 1000