<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://crancho.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ohayden</id>
	<title>Oh Mad Lab - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://crancho.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ohayden"/>
	<link rel="alternate" type="text/html" href="https://crancho.com/wiki/Special:Contributions/Ohayden"/>
	<updated>2026-05-02T05:06:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://crancho.com/w/index.php?title=Main_Page&amp;diff=1462</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Main_Page&amp;diff=1462"/>
		<updated>2022-10-22T15:52:45Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Build Sheets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;Every problem is an opportunity waiting to be solved.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
[[HouseRobot|House Robot v2]] - This robot is intended to be used in my vacation home in Oklahoma as an inside surveillance bot.  He will be allow me to experiment and work towards my ultimate goal of an outside surveillance bot.&lt;br /&gt;
&lt;br /&gt;
[[DSCAlarm|DSC Alarm]] - Information on the custom interface to the DSC alarm.&lt;br /&gt;
&lt;br /&gt;
[[GreenStar|Power Saving External USB Drive]] - A need to build a external hard drive for more storage, but I don&#039;t want to waste electricity by leaving it on all the time.&lt;br /&gt;
&lt;br /&gt;
[[HackWii|Hack for Wii]] - Run HomeBrew games from a SD card, and backed up games from an USB hard drive or DVD-R&lt;br /&gt;
&lt;br /&gt;
[[Gumstix|General Gumstix Tidbits]] - Various bits about the Gumstix and my findings with buildroot, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
[[i2c|i2C]] - Playing with i2c.&lt;br /&gt;
&lt;br /&gt;
[[BusPirate|Bus Pirate]] - How to use the Bus Pirate for AVR programming, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
= Future Projects =&lt;br /&gt;
&lt;br /&gt;
*Use gumstix/robostix to create an alarm&lt;br /&gt;
*Linux based camera interface&lt;br /&gt;
*http://www.olimex.com/dev/images/enc28j60-sch.gif&lt;br /&gt;
*http://www.saelig.com/ICTCPEB/ICTCPEB001.htm&lt;br /&gt;
&lt;br /&gt;
= Chip Makers =&lt;br /&gt;
*http://www.maxim-ic.com&lt;br /&gt;
*http://www.microchip.com&lt;br /&gt;
*http://www.onsemi.com&lt;br /&gt;
*http://www.national.com&lt;br /&gt;
*http://www.ti.com&lt;br /&gt;
*http://www.analog.com&lt;br /&gt;
*http://www.intersil.com&lt;br /&gt;
*http://www.freescale.com&lt;br /&gt;
*http://www.cypress.com&lt;br /&gt;
=Electronic Components=&lt;br /&gt;
*http://www.digikey.com&lt;br /&gt;
*http://www.sparkfun.com&lt;br /&gt;
*http://www.mouser.com&lt;br /&gt;
*http://www.jameco.com&lt;br /&gt;
*http://www.alliedelec.com&lt;br /&gt;
*http://www.pololu.com&lt;br /&gt;
*http://www.futureelectronics.com&lt;br /&gt;
&lt;br /&gt;
= Build Sheets =&lt;br /&gt;
[[DSCAlarm:Router|Siren / Orc]] - Linksys WRTSL54GS - Interface with DSC alarm&lt;br /&gt;
&lt;br /&gt;
[[LinkStation|Buffalo LinkStation NAS]] - Customize backup solution&lt;br /&gt;
&lt;br /&gt;
[[Hydra|Hydra]] - Ranch&#039;s Desktop / Debian&lt;br /&gt;
&lt;br /&gt;
[[Griffin|Griffin]] - Ranch&#039;s Storage and Remote Dial-Up (backup connectivity solution for DSC alarm)&lt;br /&gt;
&lt;br /&gt;
[https://crancho.com/private/wiki/index.php?title=Golem Golem] - Router, NAS, Plex, VMs&lt;br /&gt;
&lt;br /&gt;
[[Elf|Elf]] - Netbook - Asus eee 901&lt;br /&gt;
&lt;br /&gt;
[[Muse|Muse]] - Wife&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Dryad|Dryad]] - Mom&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Lupin|Lupin]] - Development + Gaming&lt;br /&gt;
&lt;br /&gt;
= California =&lt;br /&gt;
[[HVACReset|How to Reset the HVAC]]&lt;br /&gt;
&lt;br /&gt;
= Oklahoma =&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaTODOS: Oklahoma To Dos]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaInfo: Oklahoma Info]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20090626 Oklahoma Trip: June 26th, 2009]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20080530 Oklahoma Trip: May 30th, 2008]&lt;br /&gt;
&lt;br /&gt;
Reset CAM: http://&amp;lt;IP&amp;gt;/setup/restart.vspx&lt;br /&gt;
Oklahoma&lt;br /&gt;
&lt;br /&gt;
To get IP when DSL modem wigs out, grab IP from brackets [::ffff:173.186.223.251]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[tucana]$ ftpwho -v&lt;br /&gt;
standalone FTP daemon [8643], up for 11 days, 23 hrs 25 min&lt;br /&gt;
10097 camok    [  0m9s] (n/a) STOR video_20111213091611.jpg&lt;br /&gt;
	KB/s: inf&lt;br /&gt;
	client: ::ffff:173.186.223.25 [::ffff:173.186.223.251]&lt;br /&gt;
	server: ::ffff:173.236.192.96:21 (DreamHost FTP)&lt;br /&gt;
	protocol: ftp&lt;br /&gt;
	location: /cam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
[[Geany|Geany]] - Decent programming editor that works quite well with a multitude of languages&lt;br /&gt;
&lt;br /&gt;
[[Android|Android]]&lt;br /&gt;
&lt;br /&gt;
[[lxc|lxc]] - Linux Containers - Similar to a chroot&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=FWD Free World Dialup]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=ARS ARS]&lt;br /&gt;
&lt;br /&gt;
[[ARS|Work Related Stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Philosophy:IT|IT Philosophy]]&lt;br /&gt;
&lt;br /&gt;
[[Psychology|Psychology]]&lt;br /&gt;
&lt;br /&gt;
[[Recipes|Recipes]]&lt;br /&gt;
&lt;br /&gt;
[[Code|Code]]&lt;br /&gt;
&lt;br /&gt;
[[CanonCameraOnLinux|Canon camera on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[CapturingPacketsRemotely|Capturing Packets Remotely (Asterisk / Wireshark / tshark]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Commands|Linux Commands]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Printing|Linux Printing]]&lt;br /&gt;
&lt;br /&gt;
[[RJ45568BWiring|RJ45 EIA/TIA 568B WIRING STANDARD]]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
==Potential Projects==&lt;br /&gt;
*[http://www.codeproject.com/KB/cs/control_e_appliances.aspx Control devices through a parallel port and C#]&lt;br /&gt;
*[http://www.sparkfun.com/commerce/product_info.php?products_id=8602 Nordic FOB, part # WRL-08602 (use for alarm control)]&lt;br /&gt;
*[http://www.mouser.com/ProductDetail/Atmel/ATNGW100/?qs=x9Fa6eo0USlyY2%2fbR9WJ6g%3d%3d ATNGW100 - Alarm main board / GPIO]&lt;br /&gt;
*[http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm Bandwidth Limiting for *nix / HTB Linux queuing discipline manual]&lt;br /&gt;
&lt;br /&gt;
==Stuff==&lt;br /&gt;
*[http://www.i2cchip.com/linksys.html i2chip / linksys]&lt;br /&gt;
*[http://tldp.org/LDP/abs/html/ Advanced Bash Scripting Guide]&lt;br /&gt;
*[http://www.baranharper.com/pdfs/it-100%20developers%20guide.pdf DSC IT-100 Data Interface Module Developer&#039;s Guide]&lt;br /&gt;
*[http://www.digital-loggers.com/EPCR2.html  Ethernet Power Controller II]&lt;br /&gt;
*[http://www.digital-loggers.com/lpc.html Web Power Switch II]&lt;br /&gt;
*[http://www.linuxquestions.org/hcl Linux Hardware Compatibility List]&lt;br /&gt;
*[http://www.pathname.com/fhs/pub/fhs-2.3.html Filesystem Hierarchy Standard] This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.&lt;br /&gt;
&lt;br /&gt;
==Games==&lt;br /&gt;
*[http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/ Defender of the favicon]&lt;br /&gt;
*[http://www.ninjakiwi.com/templates/gameajax.php?name=Bloons%20Tower%20Defense%203&amp;amp;game=http://www.ninjakiwi.com/images/stories/Games/bloonstd3.swf Bloon Tower Defense 3]&lt;br /&gt;
*[http://www.freemariogames.org/play/tuper-tario-tros.html Mario/Tetris Mashup]&lt;br /&gt;
&lt;br /&gt;
==Docs==&lt;br /&gt;
*[http://gentoo-wiki.com/TIP_Using_screen Using Screen]&lt;br /&gt;
*[http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent Guide]&lt;br /&gt;
&lt;br /&gt;
==Wants==&lt;br /&gt;
*[http://store.jimwagnerrealitybased.com/jimwagnerrealitybasedbladeserrations.aspx Jim Wagner Reality Based Blade (Serrations)]&lt;br /&gt;
&lt;br /&gt;
*http://www.ubnt.com/products/rspro.php&lt;br /&gt;
&lt;br /&gt;
*Smith &amp;amp; Wesson Model 649: http://www.smith-wesson.com/webapp/wcs/stores/servlet/CompareProductsDisplay?storeId=750001&amp;amp;catalogId=750051&amp;amp;langId=-1&amp;amp;catentryId=764944&amp;amp;catentryId=764945&lt;br /&gt;
&lt;br /&gt;
*Ideas for hardware / customizing (although I&#039;d prefer XBMC over Boxee)-&amp;gt; http://openboxeebox.com/the-boxeebox-cookbook/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Main_Page&amp;diff=1461</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Main_Page&amp;diff=1461"/>
		<updated>2022-10-22T15:51:27Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Build Sheets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;Every problem is an opportunity waiting to be solved.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
[[HouseRobot|House Robot v2]] - This robot is intended to be used in my vacation home in Oklahoma as an inside surveillance bot.  He will be allow me to experiment and work towards my ultimate goal of an outside surveillance bot.&lt;br /&gt;
&lt;br /&gt;
[[DSCAlarm|DSC Alarm]] - Information on the custom interface to the DSC alarm.&lt;br /&gt;
&lt;br /&gt;
[[GreenStar|Power Saving External USB Drive]] - A need to build a external hard drive for more storage, but I don&#039;t want to waste electricity by leaving it on all the time.&lt;br /&gt;
&lt;br /&gt;
[[HackWii|Hack for Wii]] - Run HomeBrew games from a SD card, and backed up games from an USB hard drive or DVD-R&lt;br /&gt;
&lt;br /&gt;
[[Gumstix|General Gumstix Tidbits]] - Various bits about the Gumstix and my findings with buildroot, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
[[i2c|i2C]] - Playing with i2c.&lt;br /&gt;
&lt;br /&gt;
[[BusPirate|Bus Pirate]] - How to use the Bus Pirate for AVR programming, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
= Future Projects =&lt;br /&gt;
&lt;br /&gt;
*Use gumstix/robostix to create an alarm&lt;br /&gt;
*Linux based camera interface&lt;br /&gt;
*http://www.olimex.com/dev/images/enc28j60-sch.gif&lt;br /&gt;
*http://www.saelig.com/ICTCPEB/ICTCPEB001.htm&lt;br /&gt;
&lt;br /&gt;
= Chip Makers =&lt;br /&gt;
*http://www.maxim-ic.com&lt;br /&gt;
*http://www.microchip.com&lt;br /&gt;
*http://www.onsemi.com&lt;br /&gt;
*http://www.national.com&lt;br /&gt;
*http://www.ti.com&lt;br /&gt;
*http://www.analog.com&lt;br /&gt;
*http://www.intersil.com&lt;br /&gt;
*http://www.freescale.com&lt;br /&gt;
*http://www.cypress.com&lt;br /&gt;
=Electronic Components=&lt;br /&gt;
*http://www.digikey.com&lt;br /&gt;
*http://www.sparkfun.com&lt;br /&gt;
*http://www.mouser.com&lt;br /&gt;
*http://www.jameco.com&lt;br /&gt;
*http://www.alliedelec.com&lt;br /&gt;
*http://www.pololu.com&lt;br /&gt;
*http://www.futureelectronics.com&lt;br /&gt;
&lt;br /&gt;
= Build Sheets =&lt;br /&gt;
[[DSCAlarm:Router|Siren / Orc]] - Linksys WRTSL54GS - Interface with DSC alarm&lt;br /&gt;
&lt;br /&gt;
[[LinkStation|Buffalo LinkStation NAS]] - Customize backup solution&lt;br /&gt;
&lt;br /&gt;
[[Hydra|Hydra]] - Ranch&#039;s Desktop / Debian&lt;br /&gt;
&lt;br /&gt;
[[Griffin|Griffin]] - Ranch&#039;s Storage and Remote Dial-Up (backup connectivity solution for DSC alarm)&lt;br /&gt;
&lt;br /&gt;
[[https://crancho.com/private/wiki/index.php?title=Golem|Golem]] - Gateway / Firewall, NAS, Plex, VMs&lt;br /&gt;
&lt;br /&gt;
[[Elf|Elf]] - Netbook - Asus eee 901&lt;br /&gt;
&lt;br /&gt;
[[Muse|Muse]] - Wife&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Dryad|Dryad]] - Mom&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Lupin|Lupin]] - Development + Gaming&lt;br /&gt;
&lt;br /&gt;
= California =&lt;br /&gt;
[[HVACReset|How to Reset the HVAC]]&lt;br /&gt;
&lt;br /&gt;
= Oklahoma =&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaTODOS: Oklahoma To Dos]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaInfo: Oklahoma Info]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20090626 Oklahoma Trip: June 26th, 2009]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20080530 Oklahoma Trip: May 30th, 2008]&lt;br /&gt;
&lt;br /&gt;
Reset CAM: http://&amp;lt;IP&amp;gt;/setup/restart.vspx&lt;br /&gt;
Oklahoma&lt;br /&gt;
&lt;br /&gt;
To get IP when DSL modem wigs out, grab IP from brackets [::ffff:173.186.223.251]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[tucana]$ ftpwho -v&lt;br /&gt;
standalone FTP daemon [8643], up for 11 days, 23 hrs 25 min&lt;br /&gt;
10097 camok    [  0m9s] (n/a) STOR video_20111213091611.jpg&lt;br /&gt;
	KB/s: inf&lt;br /&gt;
	client: ::ffff:173.186.223.25 [::ffff:173.186.223.251]&lt;br /&gt;
	server: ::ffff:173.236.192.96:21 (DreamHost FTP)&lt;br /&gt;
	protocol: ftp&lt;br /&gt;
	location: /cam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
[[Geany|Geany]] - Decent programming editor that works quite well with a multitude of languages&lt;br /&gt;
&lt;br /&gt;
[[Android|Android]]&lt;br /&gt;
&lt;br /&gt;
[[lxc|lxc]] - Linux Containers - Similar to a chroot&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=FWD Free World Dialup]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=ARS ARS]&lt;br /&gt;
&lt;br /&gt;
[[ARS|Work Related Stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Philosophy:IT|IT Philosophy]]&lt;br /&gt;
&lt;br /&gt;
[[Psychology|Psychology]]&lt;br /&gt;
&lt;br /&gt;
[[Recipes|Recipes]]&lt;br /&gt;
&lt;br /&gt;
[[Code|Code]]&lt;br /&gt;
&lt;br /&gt;
[[CanonCameraOnLinux|Canon camera on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[CapturingPacketsRemotely|Capturing Packets Remotely (Asterisk / Wireshark / tshark]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Commands|Linux Commands]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Printing|Linux Printing]]&lt;br /&gt;
&lt;br /&gt;
[[RJ45568BWiring|RJ45 EIA/TIA 568B WIRING STANDARD]]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
==Potential Projects==&lt;br /&gt;
*[http://www.codeproject.com/KB/cs/control_e_appliances.aspx Control devices through a parallel port and C#]&lt;br /&gt;
*[http://www.sparkfun.com/commerce/product_info.php?products_id=8602 Nordic FOB, part # WRL-08602 (use for alarm control)]&lt;br /&gt;
*[http://www.mouser.com/ProductDetail/Atmel/ATNGW100/?qs=x9Fa6eo0USlyY2%2fbR9WJ6g%3d%3d ATNGW100 - Alarm main board / GPIO]&lt;br /&gt;
*[http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm Bandwidth Limiting for *nix / HTB Linux queuing discipline manual]&lt;br /&gt;
&lt;br /&gt;
==Stuff==&lt;br /&gt;
*[http://www.i2cchip.com/linksys.html i2chip / linksys]&lt;br /&gt;
*[http://tldp.org/LDP/abs/html/ Advanced Bash Scripting Guide]&lt;br /&gt;
*[http://www.baranharper.com/pdfs/it-100%20developers%20guide.pdf DSC IT-100 Data Interface Module Developer&#039;s Guide]&lt;br /&gt;
*[http://www.digital-loggers.com/EPCR2.html  Ethernet Power Controller II]&lt;br /&gt;
*[http://www.digital-loggers.com/lpc.html Web Power Switch II]&lt;br /&gt;
*[http://www.linuxquestions.org/hcl Linux Hardware Compatibility List]&lt;br /&gt;
*[http://www.pathname.com/fhs/pub/fhs-2.3.html Filesystem Hierarchy Standard] This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.&lt;br /&gt;
&lt;br /&gt;
==Games==&lt;br /&gt;
*[http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/ Defender of the favicon]&lt;br /&gt;
*[http://www.ninjakiwi.com/templates/gameajax.php?name=Bloons%20Tower%20Defense%203&amp;amp;game=http://www.ninjakiwi.com/images/stories/Games/bloonstd3.swf Bloon Tower Defense 3]&lt;br /&gt;
*[http://www.freemariogames.org/play/tuper-tario-tros.html Mario/Tetris Mashup]&lt;br /&gt;
&lt;br /&gt;
==Docs==&lt;br /&gt;
*[http://gentoo-wiki.com/TIP_Using_screen Using Screen]&lt;br /&gt;
*[http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent Guide]&lt;br /&gt;
&lt;br /&gt;
==Wants==&lt;br /&gt;
*[http://store.jimwagnerrealitybased.com/jimwagnerrealitybasedbladeserrations.aspx Jim Wagner Reality Based Blade (Serrations)]&lt;br /&gt;
&lt;br /&gt;
*http://www.ubnt.com/products/rspro.php&lt;br /&gt;
&lt;br /&gt;
*Smith &amp;amp; Wesson Model 649: http://www.smith-wesson.com/webapp/wcs/stores/servlet/CompareProductsDisplay?storeId=750001&amp;amp;catalogId=750051&amp;amp;langId=-1&amp;amp;catentryId=764944&amp;amp;catentryId=764945&lt;br /&gt;
&lt;br /&gt;
*Ideas for hardware / customizing (although I&#039;d prefer XBMC over Boxee)-&amp;gt; http://openboxeebox.com/the-boxeebox-cookbook/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Main_Page&amp;diff=1436</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Main_Page&amp;diff=1436"/>
		<updated>2022-09-04T13:20:52Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Build Sheets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;Every problem is an opportunity waiting to be solved.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
[[HouseRobot|House Robot v2]] - This robot is intended to be used in my vacation home in Oklahoma as an inside surveillance bot.  He will be allow me to experiment and work towards my ultimate goal of an outside surveillance bot.&lt;br /&gt;
&lt;br /&gt;
[[DSCAlarm|DSC Alarm]] - Information on the custom interface to the DSC alarm.&lt;br /&gt;
&lt;br /&gt;
[[GreenStar|Power Saving External USB Drive]] - A need to build a external hard drive for more storage, but I don&#039;t want to waste electricity by leaving it on all the time.&lt;br /&gt;
&lt;br /&gt;
[[HackWii|Hack for Wii]] - Run HomeBrew games from a SD card, and backed up games from an USB hard drive or DVD-R&lt;br /&gt;
&lt;br /&gt;
[[Gumstix|General Gumstix Tidbits]] - Various bits about the Gumstix and my findings with buildroot, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
[[i2c|i2C]] - Playing with i2c.&lt;br /&gt;
&lt;br /&gt;
[[BusPirate|Bus Pirate]] - How to use the Bus Pirate for AVR programming, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
= Future Projects =&lt;br /&gt;
&lt;br /&gt;
*Use gumstix/robostix to create an alarm&lt;br /&gt;
*Linux based camera interface&lt;br /&gt;
*http://www.olimex.com/dev/images/enc28j60-sch.gif&lt;br /&gt;
*http://www.saelig.com/ICTCPEB/ICTCPEB001.htm&lt;br /&gt;
&lt;br /&gt;
= Chip Makers =&lt;br /&gt;
*http://www.maxim-ic.com&lt;br /&gt;
*http://www.microchip.com&lt;br /&gt;
*http://www.onsemi.com&lt;br /&gt;
*http://www.national.com&lt;br /&gt;
*http://www.ti.com&lt;br /&gt;
*http://www.analog.com&lt;br /&gt;
*http://www.intersil.com&lt;br /&gt;
*http://www.freescale.com&lt;br /&gt;
*http://www.cypress.com&lt;br /&gt;
=Electronic Components=&lt;br /&gt;
*http://www.digikey.com&lt;br /&gt;
*http://www.sparkfun.com&lt;br /&gt;
*http://www.mouser.com&lt;br /&gt;
*http://www.jameco.com&lt;br /&gt;
*http://www.alliedelec.com&lt;br /&gt;
*http://www.pololu.com&lt;br /&gt;
*http://www.futureelectronics.com&lt;br /&gt;
&lt;br /&gt;
= Build Sheets =&lt;br /&gt;
[[DSCAlarm:Router|Siren / Orc]] - Linksys WRTSL54GS - Interface with DSC alarm&lt;br /&gt;
&lt;br /&gt;
[[LinkStation|Buffalo LinkStation NAS]] - Customize backup solution&lt;br /&gt;
&lt;br /&gt;
[[Hydra|Hydra]] - Ranch&#039;s Desktop / Debian&lt;br /&gt;
&lt;br /&gt;
[[Griffin|Griffin]] - Ranch&#039;s Storage and Remote Dial-Up (backup connectivity solution for DSC alarm)&lt;br /&gt;
&lt;br /&gt;
[[Golem|Golem]] - Gateway / Firewall, NAS, Plex, VMs&lt;br /&gt;
&lt;br /&gt;
[[Elf|Elf]] - Netbook - Asus eee 901&lt;br /&gt;
&lt;br /&gt;
[[Muse|Muse]] - Wife&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Dryad|Dryad]] - Mom&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Lupin|Lupin]] - Development + Gaming&lt;br /&gt;
&lt;br /&gt;
= California =&lt;br /&gt;
[[HVACReset|How to Reset the HVAC]]&lt;br /&gt;
&lt;br /&gt;
= Oklahoma =&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaTODOS: Oklahoma To Dos]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaInfo: Oklahoma Info]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20090626 Oklahoma Trip: June 26th, 2009]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20080530 Oklahoma Trip: May 30th, 2008]&lt;br /&gt;
&lt;br /&gt;
Reset CAM: http://&amp;lt;IP&amp;gt;/setup/restart.vspx&lt;br /&gt;
Oklahoma&lt;br /&gt;
&lt;br /&gt;
To get IP when DSL modem wigs out, grab IP from brackets [::ffff:173.186.223.251]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[tucana]$ ftpwho -v&lt;br /&gt;
standalone FTP daemon [8643], up for 11 days, 23 hrs 25 min&lt;br /&gt;
10097 camok    [  0m9s] (n/a) STOR video_20111213091611.jpg&lt;br /&gt;
	KB/s: inf&lt;br /&gt;
	client: ::ffff:173.186.223.25 [::ffff:173.186.223.251]&lt;br /&gt;
	server: ::ffff:173.236.192.96:21 (DreamHost FTP)&lt;br /&gt;
	protocol: ftp&lt;br /&gt;
	location: /cam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
[[Geany|Geany]] - Decent programming editor that works quite well with a multitude of languages&lt;br /&gt;
&lt;br /&gt;
[[Android|Android]]&lt;br /&gt;
&lt;br /&gt;
[[lxc|lxc]] - Linux Containers - Similar to a chroot&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=FWD Free World Dialup]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=ARS ARS]&lt;br /&gt;
&lt;br /&gt;
[[ARS|Work Related Stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Philosophy:IT|IT Philosophy]]&lt;br /&gt;
&lt;br /&gt;
[[Psychology|Psychology]]&lt;br /&gt;
&lt;br /&gt;
[[Recipes|Recipes]]&lt;br /&gt;
&lt;br /&gt;
[[Code|Code]]&lt;br /&gt;
&lt;br /&gt;
[[CanonCameraOnLinux|Canon camera on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[CapturingPacketsRemotely|Capturing Packets Remotely (Asterisk / Wireshark / tshark]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Commands|Linux Commands]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Printing|Linux Printing]]&lt;br /&gt;
&lt;br /&gt;
[[RJ45568BWiring|RJ45 EIA/TIA 568B WIRING STANDARD]]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
==Potential Projects==&lt;br /&gt;
*[http://www.codeproject.com/KB/cs/control_e_appliances.aspx Control devices through a parallel port and C#]&lt;br /&gt;
*[http://www.sparkfun.com/commerce/product_info.php?products_id=8602 Nordic FOB, part # WRL-08602 (use for alarm control)]&lt;br /&gt;
*[http://www.mouser.com/ProductDetail/Atmel/ATNGW100/?qs=x9Fa6eo0USlyY2%2fbR9WJ6g%3d%3d ATNGW100 - Alarm main board / GPIO]&lt;br /&gt;
*[http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm Bandwidth Limiting for *nix / HTB Linux queuing discipline manual]&lt;br /&gt;
&lt;br /&gt;
==Stuff==&lt;br /&gt;
*[http://www.i2cchip.com/linksys.html i2chip / linksys]&lt;br /&gt;
*[http://tldp.org/LDP/abs/html/ Advanced Bash Scripting Guide]&lt;br /&gt;
*[http://www.baranharper.com/pdfs/it-100%20developers%20guide.pdf DSC IT-100 Data Interface Module Developer&#039;s Guide]&lt;br /&gt;
*[http://www.digital-loggers.com/EPCR2.html  Ethernet Power Controller II]&lt;br /&gt;
*[http://www.digital-loggers.com/lpc.html Web Power Switch II]&lt;br /&gt;
*[http://www.linuxquestions.org/hcl Linux Hardware Compatibility List]&lt;br /&gt;
*[http://www.pathname.com/fhs/pub/fhs-2.3.html Filesystem Hierarchy Standard] This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.&lt;br /&gt;
&lt;br /&gt;
==Games==&lt;br /&gt;
*[http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/ Defender of the favicon]&lt;br /&gt;
*[http://www.ninjakiwi.com/templates/gameajax.php?name=Bloons%20Tower%20Defense%203&amp;amp;game=http://www.ninjakiwi.com/images/stories/Games/bloonstd3.swf Bloon Tower Defense 3]&lt;br /&gt;
*[http://www.freemariogames.org/play/tuper-tario-tros.html Mario/Tetris Mashup]&lt;br /&gt;
&lt;br /&gt;
==Docs==&lt;br /&gt;
*[http://gentoo-wiki.com/TIP_Using_screen Using Screen]&lt;br /&gt;
*[http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent Guide]&lt;br /&gt;
&lt;br /&gt;
==Wants==&lt;br /&gt;
*[http://store.jimwagnerrealitybased.com/jimwagnerrealitybasedbladeserrations.aspx Jim Wagner Reality Based Blade (Serrations)]&lt;br /&gt;
&lt;br /&gt;
*http://www.ubnt.com/products/rspro.php&lt;br /&gt;
&lt;br /&gt;
*Smith &amp;amp; Wesson Model 649: http://www.smith-wesson.com/webapp/wcs/stores/servlet/CompareProductsDisplay?storeId=750001&amp;amp;catalogId=750051&amp;amp;langId=-1&amp;amp;catentryId=764944&amp;amp;catentryId=764945&lt;br /&gt;
&lt;br /&gt;
*Ideas for hardware / customizing (although I&#039;d prefer XBMC over Boxee)-&amp;gt; http://openboxeebox.com/the-boxeebox-cookbook/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1435</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1435"/>
		<updated>2017-10-01T17:46:47Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* New 6TB Drive */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar par2&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Sickbeard ==&lt;br /&gt;
Used to track tv shows...&lt;br /&gt;
 * Written in python and also uses cheetah&lt;br /&gt;
 * Download source from here https://github.com/midgetspy/Sick-Beard/&lt;br /&gt;
 aptitude install python-cheetah&lt;br /&gt;
&lt;br /&gt;
== CouchPotato ==&lt;br /&gt;
Used to track movies...&lt;br /&gt;
 aptitude install unzip&lt;br /&gt;
 wget https://github.com/RuudBurger/CouchPotatoServer/archive/master.zip&lt;br /&gt;
 unzip master.zip&lt;br /&gt;
 mv CouchPotatoServer-master/ couchpotato&lt;br /&gt;
 cd couchpotato&lt;br /&gt;
 python CouchPotato.py --quiet --daemon&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New 6TB Drive ==&lt;br /&gt;
  parted -a optimal /dev/sda&lt;br /&gt;
  mklabel gpt&lt;br /&gt;
  mkpart primary ext4 1 -1&lt;br /&gt;
  quit&lt;br /&gt;
  mkfs.ext4 /dev/sda1&lt;br /&gt;
  mkdir /share/mount&lt;br /&gt;
  mount /dev/sda1 /share/store&lt;br /&gt;
  lsblk -io NAME,SIZE,TYPE,MOUNTPOINT,MODEL,UUID&lt;br /&gt;
* Take note of UUID&lt;br /&gt;
  vim /etc/fstab&lt;br /&gt;
* Add the following (UUID was 543c0747-6c25-4934-a3b5-29b3c191cab7):&lt;br /&gt;
  # 6TB Drive&lt;br /&gt;
  UUID=543c0747-6c25-4934-a3b5-29b3c191cab7 /share/store ext4 errors=remount-ro 0 1&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1434</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1434"/>
		<updated>2017-10-01T17:42:15Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Unresolved issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar par2&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Sickbeard ==&lt;br /&gt;
Used to track tv shows...&lt;br /&gt;
 * Written in python and also uses cheetah&lt;br /&gt;
 * Download source from here https://github.com/midgetspy/Sick-Beard/&lt;br /&gt;
 aptitude install python-cheetah&lt;br /&gt;
&lt;br /&gt;
== CouchPotato ==&lt;br /&gt;
Used to track movies...&lt;br /&gt;
 aptitude install unzip&lt;br /&gt;
 wget https://github.com/RuudBurger/CouchPotatoServer/archive/master.zip&lt;br /&gt;
 unzip master.zip&lt;br /&gt;
 mv CouchPotatoServer-master/ couchpotato&lt;br /&gt;
 cd couchpotato&lt;br /&gt;
 python CouchPotato.py --quiet --daemon&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== New 6TB Drive ==&lt;br /&gt;
  parted -a optimal /dev/sda&lt;br /&gt;
  mklabel gpt&lt;br /&gt;
  mkpart primary ext4 1 -1&lt;br /&gt;
  quit&lt;br /&gt;
  mkfs.ext4 /dev/sda1&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1433</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1433"/>
		<updated>2013-12-17T12:59:51Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* nzbget */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar par2&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Sickbeard ==&lt;br /&gt;
Used to track tv shows...&lt;br /&gt;
 * Written in python and also uses cheetah&lt;br /&gt;
 * Download source from here https://github.com/midgetspy/Sick-Beard/&lt;br /&gt;
 aptitude install python-cheetah&lt;br /&gt;
&lt;br /&gt;
== CouchPotato ==&lt;br /&gt;
Used to track movies...&lt;br /&gt;
 aptitude install unzip&lt;br /&gt;
 wget https://github.com/RuudBurger/CouchPotatoServer/archive/master.zip&lt;br /&gt;
 unzip master.zip&lt;br /&gt;
 mv CouchPotatoServer-master/ couchpotato&lt;br /&gt;
 cd couchpotato&lt;br /&gt;
 python CouchPotato.py --quiet --daemon&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1432</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1432"/>
		<updated>2013-08-25T15:05:27Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* CouchPotato */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Sickbeard ==&lt;br /&gt;
Used to track tv shows...&lt;br /&gt;
 * Written in python and also uses cheetah&lt;br /&gt;
 * Download source from here https://github.com/midgetspy/Sick-Beard/&lt;br /&gt;
 aptitude install python-cheetah&lt;br /&gt;
&lt;br /&gt;
== CouchPotato ==&lt;br /&gt;
Used to track movies...&lt;br /&gt;
 aptitude install unzip&lt;br /&gt;
 wget https://github.com/RuudBurger/CouchPotatoServer/archive/master.zip&lt;br /&gt;
 unzip master.zip&lt;br /&gt;
 mv CouchPotatoServer-master/ couchpotato&lt;br /&gt;
 cd couchpotato&lt;br /&gt;
 python CouchPotato.py --quiet --daemon&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1431</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1431"/>
		<updated>2013-08-25T13:24:27Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Sickbeard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Sickbeard ==&lt;br /&gt;
Used to track tv shows...&lt;br /&gt;
 * Written in python and also uses cheetah&lt;br /&gt;
 * Download source from here https://github.com/midgetspy/Sick-Beard/&lt;br /&gt;
 aptitude install python-cheetah&lt;br /&gt;
&lt;br /&gt;
== CouchPotato ==&lt;br /&gt;
Used to track movies...&lt;br /&gt;
 aptitude install unzip&lt;br /&gt;
 wget https://github.com/RuudBurger/CouchPotato/zipball/master -O couchpotato.zip&lt;br /&gt;
 unzip couchpotato.zip&lt;br /&gt;
 mv RuudBurger-CouchPotato-135b333/ couchpotato&lt;br /&gt;
 python CouchPotato.py -d -q&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1430</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1430"/>
		<updated>2013-07-11T00:36:52Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Power Backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Sickbeard ==&lt;br /&gt;
 * Written in python and also uses cheetah&lt;br /&gt;
 * Download source from here https://github.com/midgetspy/Sick-Beard/&lt;br /&gt;
 aptitude install python-cheetah&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1429</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1429"/>
		<updated>2013-07-11T00:21:19Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* libpar2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
 vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/nzbget&lt;br /&gt;
 update-rc.d nzbget defaults&lt;br /&gt;
 /etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1428</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1428"/>
		<updated>2013-07-11T00:20:45Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* libpar2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied nzbget configuration file from previous install into /etc folder&lt;br /&gt;
* Startup&lt;br /&gt;
vim /etc/init.d/nzbget&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Start/stop the NZBget daemon.&lt;br /&gt;
#&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
start)   echo -n &amp;quot;Start services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -D&lt;br /&gt;
   ;;&lt;br /&gt;
stop)   echo -n &amp;quot;Stop services: NZBget&amp;quot;&lt;br /&gt;
   /usr/local/bin/nzbget -Q&lt;br /&gt;
   ;;&lt;br /&gt;
restart)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
        ;;&lt;br /&gt;
*)   echo &amp;quot;Usage: $0 start|stop|restart&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
chmod 755 /etc/init.d/nzbget&lt;br /&gt;
update-rc.d nzbget defaults&lt;br /&gt;
/etc/init.d/nzbget start&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1427</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1427"/>
		<updated>2013-07-10T22:49:42Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* libpar2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 su&lt;br /&gt;
 make install&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied in post.sh and post.conf from previous install into the /share/nzbget/bin folder&lt;br /&gt;
* Copied .nzbget configuration file from previous install into ~/ folder&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1426</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1426"/>
		<updated>2013-07-10T22:49:13Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* nzbget */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
* Back to nzbget&lt;br /&gt;
 cd /share/nzbget/nzbget-11.0/&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied in post.sh and post.conf from previous install into the /share/nzbget/bin folder&lt;br /&gt;
* Copied .nzbget configuration file from previous install into ~/ folder&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1425</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1425"/>
		<updated>2013-07-10T22:48:06Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Plex Media Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-11.0.tar.gz&lt;br /&gt;
 cd nzbget-11.0/&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; It complained about libpar2 not having supplied patches, so I installed libpar2 from source&lt;br /&gt;
&lt;br /&gt;
=== libpar2 ===&lt;br /&gt;
&lt;br /&gt;
* Download latest source from here and push to /share/libpar2/&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/libpar2&lt;br /&gt;
 tar zxvf libpar2-0.2.tar.gz&lt;br /&gt;
 cd libpar2-0.2/&lt;br /&gt;
 cp /share/nzbget/nzbget-11.0/libpar2-0.2-* ./&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-bugfixes.patch&lt;br /&gt;
 patch &amp;lt; libpar2-0.2-cancel.patch&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
* Setup&lt;br /&gt;
* Copied in post.sh and post.conf from previous install into the /share/nzbget/bin folder&lt;br /&gt;
* Copied .nzbget configuration file from previous install into ~/ folder&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Lupin&amp;diff=1424</id>
		<title>Lupin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Lupin&amp;diff=1424"/>
		<updated>2013-04-29T13:18:01Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Samsung Captivate Issue in VirtualBox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lupin - Development + Gaming =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Phenom II X4 / HDZ965FBGMBOX ||  AMD Phenom II X4 965 Black Edition, Deneb, 64Bit, 125W, 3.4GHz, 4x512KB L2 Cache, 6MB L3 Cache, Socket AM3 Quad-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=617 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103727 Purchased] || $159.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M4A785TD-M EVO || AM3, Micro ATX, 4x240pin DDR3, ATI Radeon HD 4200, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;NB:AMD 785G, SB:AMD SB710, LAN: Realtek 8112L, Audio:VIA VT1708S || [http://www.asus.com/product.aspx?P_ID=QHbvGVB1mXmmD8qQ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131406 Purchased] || $89.99&lt;br /&gt;
|- &lt;br /&gt;
| G.SKILL || F3-10666CL9D-8GBRL ||  Ripjaws Series, 2x4GB 240-Pin DDR3 SDRAM 1333 (PC3 10666), CL9, 9-9-9-24-2N, 1.5V || [http://www.gskill.com/products.php?index=233 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820231311 Purchased] || $84.99&lt;br /&gt;
|- &lt;br /&gt;
| Western Digital || Caviar Green / WD20EARS || 2TB 64MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: 51.0AB51 || [http://www.wdc.com/en/products/products.aspx?id=120 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822136514 Purchased] || $79.99&lt;br /&gt;
|- &lt;br /&gt;
| DVD/CD Burner || ? || ? || &amp;lt;From Previous Build&amp;gt; || $0.00&lt;br /&gt;
|- &lt;br /&gt;
| Thermaltake || TR2 Series / TR-500P || ATX12V V2.3/ EPS12V 2.91, 500W, PFC:Active, Efficiency:80+% Bronze Certified, Micro ATX&amp;lt;br&amp;gt;Connectors:1x20+4+4, 5xPeripheral, 5xSATA, 1xFloppy, 2xPCI-E || [http://www.thermaltakeusa.com/Product.aspx?C=1247&amp;amp;ID=1977 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16817153139 Purchased] || $79.99&lt;br /&gt;
|- &lt;br /&gt;
| HEC || 6T Series / 6T10BB  || MicroATX Mini Tower, 0.7mm SECC Steel, Black, Ext. 5&amp;quot;:2, Ext. 3&amp;quot;:2, Int. 5&amp;quot;:4, Int. 3&amp;quot;:1 || [http://hecgroupusa.com/products/pc-cases/mini-tower/6t10bb/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811121071 Purchased] || $24.99 &lt;br /&gt;
|- &lt;br /&gt;
| Acer || P235H || 23&amp;quot; Widescreen, 1920x1080, 60Hz, VA:160°(H) &amp;amp; 160°(V), 5ms, D-Sub, DVI, HDMI, Built-in Speakers|| [http://us.acer.com/acer/product.do;jsessionid=E4CB3370680827D34E84604DD86AFC89.public_a_us004?LanguageISOCtxParam=en&amp;amp;rcond5e.c2att92=453&amp;amp;inu49e.current.c2att92=453&amp;amp;link=ln314e&amp;amp;CountryISOCtxParam=US&amp;amp;kcond47e.c2att92=453&amp;amp;rcond159e.att21k=1&amp;amp;kcond48e.c2att101=60624&amp;amp;rcond190e.att21k=1&amp;amp;acond23=US&amp;amp;rcond4e.att21k=1&amp;amp;sp=page17e&amp;amp;rcond157e.c2att92=453&amp;amp;ctx1g.c2att92=453&amp;amp;rcond42e.att21k=1&amp;amp;kcond50e.c2att92=453&amp;amp;rcond45e.att21k=1&amp;amp;rcond158e.c2att1=25&amp;amp;ctx2.c2att1=25&amp;amp;inu53e.current.c2att92=453&amp;amp;rcond38e.c2att1=25&amp;amp;var13e=US&amp;amp;rcond44e.c2att1=25&amp;amp;rcond186e.c2att92=453&amp;amp;rcond3e.c2att1=25&amp;amp;rcond28e.attN2B2F2EEF=3264&amp;amp;rcond189e.c2att1=25&amp;amp;ctx1.att21k=1&amp;amp;CRC=1214101304 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16824009179 Purchased] || $149.99&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* Default BIOS options&lt;br /&gt;
** In the CPU settings, I enabled &amp;quot;Secure virtual machine mode&amp;quot;, which is &amp;quot;AMD-V&amp;quot; and allows VirtualBox to run more optimized.&lt;br /&gt;
** Enabled Plug and Play OS&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0 / Squeeze with a desktop environment&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
 Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
 Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
 This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
 noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
 noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
 PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
 vim /etc/default/grub&lt;br /&gt;
Add &amp;quot;iommu=noagp,noaperture pci=nommconf&amp;quot; to the GRUB_CMDLINE_LINUX variable&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX=&amp;quot;iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Don&#039;t forget to have grub regenerate the proper files&lt;br /&gt;
 update-grub&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
 aptitude install vim ssh rsync strace binutils killall gcc make build-essential linux-headers-`uname -r` memtest86+&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
 vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
 PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Installed ATI (fglrx) Drivers ==&lt;br /&gt;
* Edit apt sources to add non-free:&lt;br /&gt;
 vim /etc/apt/sources.list&lt;br /&gt;
* Find &amp;quot;deb http://mirrors.kernel.org/debian/ squeeze main&amp;quot; and change to:&lt;br /&gt;
 deb http://mirrors.kernel.org/debian/ squeeze main non-free&lt;br /&gt;
* Update list of packages&lt;br /&gt;
 aptitude update&lt;br /&gt;
* Install driver and requirements&lt;br /&gt;
 aptitude install linux-headers-2.6-$(uname -r|sed &#039;s,[^-]*-[^-]*-,,&#039;) fglrx-control fglrx-driver&lt;br /&gt;
* Switched to console by pressing CTRL+ALT+F1 and typed the following&lt;br /&gt;
 /etc/init.d/gdm3 stop&lt;br /&gt;
 modprobe -r radeon drm&lt;br /&gt;
 aticonfig --initial&lt;br /&gt;
 /etc/init.d/gdm3 start&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If you have a problem unloading the radeon drivers, then you may need to reboot and try again.  At least I kept getting &amp;quot;FATAL: module radeon is in use&amp;quot; even though I stopped gdm and it was resolved by simply rebooting and trying again.&lt;br /&gt;
&lt;br /&gt;
== Installed ATI (fglrx) Drivers - Round 2 ==&lt;br /&gt;
I kept getting a signal 11 in Enemy Territory, so I installed the updated driver directly from ATI as follows:&lt;br /&gt;
* Removed old drivers&lt;br /&gt;
 aptitude remove xserver-xorg-video-radeon xserver-xorg-video-ati&lt;br /&gt;
* Download new drivers from ATI&lt;br /&gt;
 mkdir /share/ati&lt;br /&gt;
 cd /share/ati&lt;br /&gt;
 wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-2-x86.x86_64.run&lt;br /&gt;
 chmod +x ati-driver-installer-11-2-x86.x86_64.run&lt;br /&gt;
* The documentation said I needed to add the xorg entries, but since I already installed from the non-free repository I already had the entries.  All I need to do was reboot.&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
== Enemy Territory ==&lt;br /&gt;
=== Install ===&lt;br /&gt;
* Downloaded the et linux client 2.60 and the update and copied them to /share/et.  Search for the following files:&lt;br /&gt;
**et-linux-2.60.x86.run&lt;br /&gt;
**et-linux-2.60-update.x86.run&lt;br /&gt;
* I needed some various support files.  Here are the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su&lt;br /&gt;
aptitude install linux32 glibc-2.11-1 libX11-6 libX11-dev ia32-libs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Install ET:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /share/et&lt;br /&gt;
linux32 sh et-linux-2.60.x86.run&lt;br /&gt;
linux32 sh et-linux-2.60-update.x86.run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sound Fix ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install alsa&lt;br /&gt;
cd /share/et&lt;br /&gt;
wget http://nullkey.ath.cx/~stuff/et-sdl-sound/et-sdl-sound.gz&lt;br /&gt;
gunzip -d et-sdl-sound.gz&lt;br /&gt;
chmod a+x et-sdl-sound&lt;br /&gt;
cp et-sdl-sound /usr/local/games/enemy-territory/&lt;br /&gt;
cd /usr/local/bin/&lt;br /&gt;
rm et&lt;br /&gt;
ln -s /usr/local/games/enemy-territory/et-sdl-sound et&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
==== Increase Memory Settings ====&lt;br /&gt;
* Add the following to: /usr/local/games/enemy-territory/etmain/autoexec.cfg&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
seta com_hunkmegs &amp;quot;128&amp;quot;&lt;br /&gt;
seta com_soundmegs &amp;quot;32&amp;quot;&lt;br /&gt;
seta com_zonemegs &amp;quot;32&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update / Enable PunkBuster ====&lt;br /&gt;
* Download latest .htm files from here: http://www.evenbalance.com/index.php?page=dl-et.php&lt;br /&gt;
** I went ahead and put them in both the user folder: ~/.etwolf/pb and the main folder: /usr/local/games/enemy-territory/pb&lt;br /&gt;
** There were two sets of files, the &amp;quot;PunkBuster Security Files&amp;quot;, which went under the pb folder and then the &amp;quot;PunkBuster Player Client Files&amp;quot;, which went under the pb/htm folder.&lt;br /&gt;
* Once have the PB update: load ET, open the console with the tilda key, type the following to enable PB:&lt;br /&gt;
&amp;lt;pre&amp;gt;/pb_cl_enable&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Once PB is enabled, you need to get a GUID and again from the console type:&lt;br /&gt;
&amp;lt;pre&amp;gt;/pb_cdkeyreg&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Updated punkbuster files via:&lt;br /&gt;
 http://www.evenbalance.com/index.php?page=dl-et.php&lt;br /&gt;
&lt;br /&gt;
== More Packages ==&lt;br /&gt;
* I use this for mounting cifs shares&lt;br /&gt;
 aptitude install smbfs&lt;br /&gt;
* RDP Client and a GUI front end to connect to work or VirtualBox&lt;br /&gt;
 aptitude install rdesktop tsclient&lt;br /&gt;
* VNC Client for remote connections&lt;br /&gt;
 aptitude install xvnc4viewer&lt;br /&gt;
* VLC and plugin for streaming AVIs directly from website instead of downloading first&lt;br /&gt;
 aptitude install vlc mozilla-plugin-vlc&lt;br /&gt;
&lt;br /&gt;
== Moving Evolution Data and Settings ==&lt;br /&gt;
* Shutdown gconftool-2 and evolution for a safe copy (ensuring everything is written to disk, etc.):&lt;br /&gt;
 gconftool-2 --shutdown&lt;br /&gt;
 evolution --force-shutdown &lt;br /&gt;
* Copy the data:&lt;br /&gt;
 rsync -av --progress ohayden@elf:~/.evolution/ ~/&lt;br /&gt;
* Copy the account settings:&lt;br /&gt;
 rsync -av --progress ohayden@elf:~/.gconf/apps/evolution/ ~/.gconf/apps/&lt;br /&gt;
* Copy the account passwords:&lt;br /&gt;
 rsync -av --progress ohayden@elf:~/.gnome2_private/Evolution ~/.gnome2_private/&lt;br /&gt;
* Launch evolution on lupin and this will popup a migration window.  Once it&#039;s done, all is good.&lt;br /&gt;
&lt;br /&gt;
== VNC / Remote Control ==&lt;br /&gt;
&lt;br /&gt;
Turned on vino / remote control - This allows for a connect when a session logged in (aka shadowing)&lt;br /&gt;
&lt;br /&gt;
# Select System-&amp;gt;Preferences-&amp;gt;Remote Desktop&lt;br /&gt;
# Check &amp;quot;Allow other users to view your desktop&amp;quot;&lt;br /&gt;
# Check &amp;quot;Allow other users to control your desktop&amp;quot;&lt;br /&gt;
# Uncheck &amp;quot;Ask you for confirmation&amp;quot;&lt;br /&gt;
# Check &amp;quot;Require the user to enter this password:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Adobe Flash 64-bit ==&lt;br /&gt;
I try to keep a clean system, but I draw the line at lost functionality and, sadly, swf doesn&#039;t handle everything.  Flash is, unfortunately, required for certain websites I visit.  Here&#039;s how I installed it:&lt;br /&gt;
* Close all opened browsers before the following steps:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz&lt;br /&gt;
 tar zxvf flashplayer10_2_p3_64bit_linux_111710.tar.gz&lt;br /&gt;
 cp libflashplayer.so /usr/lib/mozilla/plugins/&lt;br /&gt;
Open your browser and test with youtube.com and hulu.com.&lt;br /&gt;
&lt;br /&gt;
== nzbget ==&lt;br /&gt;
* Download latest source from here and push to /share/nzbget/&lt;br /&gt;
 http://nzbget.sourceforge.net/Download#Latest_testing_release&lt;br /&gt;
* Extract files&lt;br /&gt;
 cd /share/nzbget&lt;br /&gt;
 tar zxvf nzbget-0.7.0.tar.gz&lt;br /&gt;
 cd nzbget-0.7.0&lt;br /&gt;
* Install missing dependencies&lt;br /&gt;
 su&lt;br /&gt;
 aptitude install libpar2-0 libpar2-0-dev libxml2-dev libncurses5-dev libsigc++-2.0-dev libssl-dev zlib1g-dev unrar&lt;br /&gt;
 CTRL+D&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Don&#039;t use unrar-free!  Sorry but it has a ton of trouble extracting files, where as the proprietary version &amp;quot;just works&amp;quot; (tm)!&lt;br /&gt;
* Compile&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
* Setup&lt;br /&gt;
 mkdir bin&lt;br /&gt;
 cd bin&lt;br /&gt;
 ln -s /share/nzbget/nzbget-0.7.0/nzbget ./nzbget&lt;br /&gt;
* Copied in post.sh and post.conf from previous install into the /share/nzbget/bin folder&lt;br /&gt;
* Copied .nzbget configuration file from previous install into ~/ folder&lt;br /&gt;
&lt;br /&gt;
== nzbgetweb ==&lt;br /&gt;
* Install required packages &lt;br /&gt;
 aptitude install php5 php5-cgi lighttpd&lt;br /&gt;
* Make a directory for web interface&lt;br /&gt;
 mkdir /var/www/nzbgetweb&lt;br /&gt;
* Copy files from existing install - If you download clean then there will be some minor configuration, see the README included with nzbgetweb.&lt;br /&gt;
* Set the directory permissions&lt;br /&gt;
 chmod 755 /var/www/nzbgetweb -R&lt;br /&gt;
* Configure lighttpd for fastcgi and php handling&lt;br /&gt;
 vim /etc/lighttpd/lighttpd.conf&lt;br /&gt;
* Added &amp;quot;mod_fastcgi&amp;quot; to server.modules section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server.modules = (&lt;br /&gt;
        &amp;quot;mod_access&amp;quot;,&lt;br /&gt;
        &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
        &amp;quot;mod_compress&amp;quot;,&lt;br /&gt;
        &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
        &amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added handler&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastcgi.server = ( &amp;quot;.php&amp;quot; =&amp;gt; ((&lt;br /&gt;
                     &amp;quot;bin-path&amp;quot; =&amp;gt; &amp;quot;/usr/bin/php-cgi&amp;quot;,&lt;br /&gt;
                     &amp;quot;socket&amp;quot; =&amp;gt; &amp;quot;/tmp/php.socket&amp;quot;&lt;br /&gt;
                 )))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Restart web server&lt;br /&gt;
 /etc/init.d/lighttpd restart&lt;br /&gt;
&lt;br /&gt;
== VirtualBox ==&lt;br /&gt;
Linux containers weren&#039;t all that great for Android development, so I&#039;m going towards VirtualBox once again.  I still believe lxc to be of use with perhaps openWRT or my custom robot development, but not so much when I want to connect to my phone through USB.  I can hack around the issue, but I rather spend my time working on higher priorities.&lt;br /&gt;
&lt;br /&gt;
* Get and installed VirtualBox &lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.0.4/virtualbox-4.0_4.0.4-70112~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.0_4.0.4-70112~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-opengl&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; In the host, don&#039;t forget to add your user to the vboxusers group!  I forgot to do so and I wasn&#039;t able to access USB devices in the guest.  It showed the devices in the Devices-&amp;gt;USB Devices menu, but I wasn&#039;t able to enable them until I added my user account to vboxusers and re-login.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; In the guest, add your user to the vboxsf group as well.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Samsung Captivate Issue in VirtualBox ==&lt;br /&gt;
* TAGS: question mark questions android&lt;br /&gt;
&lt;br /&gt;
After figuring out the two notes in the VirtualBox section above, I still had an issue using &amp;quot;adb devices&amp;quot;.  I could have cheated and ran &amp;quot;adb start-server&amp;quot; as root, but that would be cheating.  Any how, this is was it was showing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
????????????	no permissions&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The solution is simple although a bit lengthy.  Find the device node.  Easiest way is to use dmesg and look for the device, such as:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dmesg | less&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Scroll down or search:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[  799.376993] usb 1-1: Product: SAMSUNG_Android&lt;br /&gt;
[  799.376998] usb 1-1: Manufacturer: SAMSUNG&lt;br /&gt;
[  799.377023] usb 1-1: SerialNumber: I897bc159a11&lt;br /&gt;
[  799.377212] usb 1-1: configuration #3 chosen from 1 choice&lt;br /&gt;
[  799.377650] cdc_acm 1-1:3.0: This device cannot do calls on its own. It is not a modem.&lt;br /&gt;
[  799.377844] cdc_acm 1-1:3.0: ttyACM0: USB ACM device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here we see the &amp;quot;ttyACM0&amp;quot; device, so now we run the following on the device node to figure out some unique attributes for our upcoming udev rule.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su&lt;br /&gt;
udevadm info --attribute-walk --name=/dev/ttyACM0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Which gives us a full attribute walk, but all we care about is the actual device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 looking at parent device &#039;/devices/pci0000:00/0000:00:0b.0/usb1/1-1&#039;:&lt;br /&gt;
    KERNELS==&amp;quot;1-1&amp;quot;&lt;br /&gt;
    SUBSYSTEMS==&amp;quot;usb&amp;quot;&lt;br /&gt;
    DRIVERS==&amp;quot;usb&amp;quot;&lt;br /&gt;
    ATTRS{configuration}==&amp;quot;&amp;quot;&lt;br /&gt;
    ATTRS{bNumInterfaces}==&amp;quot; 4&amp;quot;&lt;br /&gt;
    ATTRS{bConfigurationValue}==&amp;quot;3&amp;quot;&lt;br /&gt;
    ATTRS{bmAttributes}==&amp;quot;c0&amp;quot;&lt;br /&gt;
    ATTRS{bMaxPower}==&amp;quot; 96mA&amp;quot;&lt;br /&gt;
    ATTRS{urbnum}==&amp;quot;4690&amp;quot;&lt;br /&gt;
    ATTRS{idVendor}==&amp;quot;04e8&amp;quot;&lt;br /&gt;
    ATTRS{idProduct}==&amp;quot;681c&amp;quot;&lt;br /&gt;
    ATTRS{bcdDevice}==&amp;quot;0400&amp;quot;&lt;br /&gt;
    ATTRS{bDeviceClass}==&amp;quot;02&amp;quot;&lt;br /&gt;
    ATTRS{bDeviceSubClass}==&amp;quot;00&amp;quot;&lt;br /&gt;
    ATTRS{bDeviceProtocol}==&amp;quot;00&amp;quot;&lt;br /&gt;
    ATTRS{bNumConfigurations}==&amp;quot;1&amp;quot;&lt;br /&gt;
    ATTRS{bMaxPacketSize0}==&amp;quot;64&amp;quot;&lt;br /&gt;
    ATTRS{speed}==&amp;quot;480&amp;quot;&lt;br /&gt;
    ATTRS{busnum}==&amp;quot;1&amp;quot;&lt;br /&gt;
    ATTRS{devnum}==&amp;quot;7&amp;quot;&lt;br /&gt;
    ATTRS{version}==&amp;quot; 2.00&amp;quot;&lt;br /&gt;
    ATTRS{maxchild}==&amp;quot;0&amp;quot;&lt;br /&gt;
    ATTRS{quirks}==&amp;quot;0x0&amp;quot;&lt;br /&gt;
    ATTRS{authorized}==&amp;quot;1&amp;quot;&lt;br /&gt;
    ATTRS{manufacturer}==&amp;quot;SAMSUNG&amp;quot;&lt;br /&gt;
    ATTRS{product}==&amp;quot;SAMSUNG_Android&amp;quot;&lt;br /&gt;
    ATTRS{serial}==&amp;quot;I897bc159a11&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
From the above I pulled out the following for my udev rule:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;usb&amp;quot;&lt;br /&gt;
ATTRS{idVendor}==&amp;quot;04e8&amp;quot;&lt;br /&gt;
ATTRS{idProduct}==&amp;quot;681c&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now create the udev rule:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/udev/rules.d/z21_android_phone.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I added the following to tell it to allow every one r+w access to the device node:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;usb&amp;quot;, ATTRS{idVendor}==&amp;quot;04e8&amp;quot;, ATTRS{idProduct}==&amp;quot;681c&amp;quot;, MODE=&amp;quot;0666&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Next we restart udev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/udev restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Re-run adb devices:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CTRL+D&lt;br /&gt;
./adb devices&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* daemon not running. starting it now on port 5037 *&lt;br /&gt;
* daemon started successfully *&lt;br /&gt;
List of devices attached ss&lt;br /&gt;
I897bc159a11	device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Eureka!! Now I can use adb as my normal user and I don&#039;t have to rely on root!&lt;br /&gt;
&lt;br /&gt;
== Remove NetworkManager ==&lt;br /&gt;
You heard me!!  NetworkManager is a pansy arse program anyways.  Real men manage their own networks.  In all seriousness, NetworkManager caused me some grief as I setup bridging for my linux containers (lxc).  The problem was Evolution (don&#039;t get me started on mail clients) thought that the network was down, NetworkManager reported it as down, and therefore was so kind as to disable my send/receive button and menu items.  It likewise wouldn&#039;t let me select work online either.  If it ain&#039;t broke, don&#039;t fix it... but in this case NetworkManager is broken and does the exact opposite of what it was designed to do!  I&#039;m a bit bias against over complication of such a simple task, so I&#039;d just prefer to manage my own network.  So long, and thanks for all the fish:&lt;br /&gt;
 /etc/init.d/network-manager stop&lt;br /&gt;
 aptitude purge network-manager network-manager-gnome&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Main_Page&amp;diff=1423</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Main_Page&amp;diff=1423"/>
		<updated>2013-04-27T17:04:42Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;Every problem is an opportunity waiting to be solved.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
[[HouseRobot|House Robot v2]] - This robot is intended to be used in my vacation home in Oklahoma as an inside surveillance bot.  He will be allow me to experiment and work towards my ultimate goal of an outside surveillance bot.&lt;br /&gt;
&lt;br /&gt;
[[DSCAlarm|DSC Alarm]] - Information on the custom interface to the DSC alarm.&lt;br /&gt;
&lt;br /&gt;
[[GreenStar|Power Saving External USB Drive]] - A need to build a external hard drive for more storage, but I don&#039;t want to waste electricity by leaving it on all the time.&lt;br /&gt;
&lt;br /&gt;
[[HackWii|Hack for Wii]] - Run HomeBrew games from a SD card, and backed up games from an USB hard drive or DVD-R&lt;br /&gt;
&lt;br /&gt;
[[Gumstix|General Gumstix Tidbits]] - Various bits about the Gumstix and my findings with buildroot, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
[[i2c|i2C]] - Playing with i2c.&lt;br /&gt;
&lt;br /&gt;
[[BusPirate|Bus Pirate]] - How to use the Bus Pirate for AVR programming, i2c, etc.&lt;br /&gt;
&lt;br /&gt;
= Future Projects =&lt;br /&gt;
&lt;br /&gt;
*Use gumstix/robostix to create an alarm&lt;br /&gt;
*Linux based camera interface&lt;br /&gt;
*http://www.olimex.com/dev/images/enc28j60-sch.gif&lt;br /&gt;
*http://www.saelig.com/ICTCPEB/ICTCPEB001.htm&lt;br /&gt;
&lt;br /&gt;
= Chip Makers =&lt;br /&gt;
*http://www.maxim-ic.com&lt;br /&gt;
*http://www.microchip.com&lt;br /&gt;
*http://www.onsemi.com&lt;br /&gt;
*http://www.national.com&lt;br /&gt;
*http://www.ti.com&lt;br /&gt;
*http://www.analog.com&lt;br /&gt;
*http://www.intersil.com&lt;br /&gt;
*http://www.freescale.com&lt;br /&gt;
*http://www.cypress.com&lt;br /&gt;
=Electronic Components=&lt;br /&gt;
*http://www.digikey.com&lt;br /&gt;
*http://www.sparkfun.com&lt;br /&gt;
*http://www.mouser.com&lt;br /&gt;
*http://www.jameco.com&lt;br /&gt;
*http://www.alliedelec.com&lt;br /&gt;
*http://www.pololu.com&lt;br /&gt;
*http://www.futureelectronics.com&lt;br /&gt;
&lt;br /&gt;
= Build Sheets =&lt;br /&gt;
[[DSCAlarm:Router|Siren / Orc]] - Linksys WRTSL54GS - Interface with DSC alarm&lt;br /&gt;
&lt;br /&gt;
[[LinkStation|Buffalo LinkStation NAS]] - Customize backup solution&lt;br /&gt;
&lt;br /&gt;
[[Hydra|Hydra]] - Ranch&#039;s Desktop / Debian&lt;br /&gt;
&lt;br /&gt;
[[Griffin|Griffin]] - Ranch&#039;s Storage and Remote Dial-Up (backup connectivity solution for DSC alarm)&lt;br /&gt;
&lt;br /&gt;
[[Elf|Elf]] - Netbook - Asus eee 901&lt;br /&gt;
&lt;br /&gt;
[[Muse|Muse]] - Wife&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Dryad|Dryad]] - Mom&#039;s Desktop / Dual Boot Debian &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
[[Lupin|Lupin]] - Development + Gaming&lt;br /&gt;
&lt;br /&gt;
= California =&lt;br /&gt;
[[HVACReset|How to Reset the HVAC]]&lt;br /&gt;
&lt;br /&gt;
= Oklahoma =&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaTODOS: Oklahoma To Dos]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=OklahomaInfo: Oklahoma Info]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20090626 Oklahoma Trip: June 26th, 2009]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=Oklahoma20080530 Oklahoma Trip: May 30th, 2008]&lt;br /&gt;
&lt;br /&gt;
Reset CAM: http://&amp;lt;IP&amp;gt;/setup/restart.vspx&lt;br /&gt;
Oklahoma&lt;br /&gt;
&lt;br /&gt;
To get IP when DSL modem wigs out, grab IP from brackets [::ffff:173.186.223.251]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[tucana]$ ftpwho -v&lt;br /&gt;
standalone FTP daemon [8643], up for 11 days, 23 hrs 25 min&lt;br /&gt;
10097 camok    [  0m9s] (n/a) STOR video_20111213091611.jpg&lt;br /&gt;
	KB/s: inf&lt;br /&gt;
	client: ::ffff:173.186.223.25 [::ffff:173.186.223.251]&lt;br /&gt;
	server: ::ffff:173.236.192.96:21 (DreamHost FTP)&lt;br /&gt;
	protocol: ftp&lt;br /&gt;
	location: /cam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
[[Geany|Geany]] - Decent programming editor that works quite well with a multitude of languages&lt;br /&gt;
&lt;br /&gt;
[[Android|Android]]&lt;br /&gt;
&lt;br /&gt;
[[lxc|lxc]] - Linux Containers - Similar to a chroot&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=FWD Free World Dialup]&lt;br /&gt;
&lt;br /&gt;
[http://crancho.com/private/wiki/index.php?title=ARS ARS]&lt;br /&gt;
&lt;br /&gt;
[[ARS|Work Related Stuff]]&lt;br /&gt;
&lt;br /&gt;
[[Philosophy:IT|IT Philosophy]]&lt;br /&gt;
&lt;br /&gt;
[[Psychology|Psychology]]&lt;br /&gt;
&lt;br /&gt;
[[Recipes|Recipes]]&lt;br /&gt;
&lt;br /&gt;
[[Code|Code]]&lt;br /&gt;
&lt;br /&gt;
[[CanonCameraOnLinux|Canon camera on Linux]]&lt;br /&gt;
&lt;br /&gt;
[[CapturingPacketsRemotely|Capturing Packets Remotely (Asterisk / Wireshark / tshark]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Commands|Linux Commands]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Printing|Linux Printing]]&lt;br /&gt;
&lt;br /&gt;
[[RJ45568BWiring|RJ45 EIA/TIA 568B WIRING STANDARD]]&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
==Potential Projects==&lt;br /&gt;
*[http://www.codeproject.com/KB/cs/control_e_appliances.aspx Control devices through a parallel port and C#]&lt;br /&gt;
*[http://www.sparkfun.com/commerce/product_info.php?products_id=8602 Nordic FOB, part # WRL-08602 (use for alarm control)]&lt;br /&gt;
*[http://www.mouser.com/ProductDetail/Atmel/ATNGW100/?qs=x9Fa6eo0USlyY2%2fbR9WJ6g%3d%3d ATNGW100 - Alarm main board / GPIO]&lt;br /&gt;
*[http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm Bandwidth Limiting for *nix / HTB Linux queuing discipline manual]&lt;br /&gt;
&lt;br /&gt;
==Stuff==&lt;br /&gt;
*[http://www.i2cchip.com/linksys.html i2chip / linksys]&lt;br /&gt;
*[http://tldp.org/LDP/abs/html/ Advanced Bash Scripting Guide]&lt;br /&gt;
*[http://www.baranharper.com/pdfs/it-100%20developers%20guide.pdf DSC IT-100 Data Interface Module Developer&#039;s Guide]&lt;br /&gt;
*[http://www.digital-loggers.com/EPCR2.html  Ethernet Power Controller II]&lt;br /&gt;
*[http://www.digital-loggers.com/lpc.html Web Power Switch II]&lt;br /&gt;
*[http://www.linuxquestions.org/hcl Linux Hardware Compatibility List]&lt;br /&gt;
*[http://www.pathname.com/fhs/pub/fhs-2.3.html Filesystem Hierarchy Standard] This standard consists of a set of requirements and guidelines for file and directory placement under UNIX-like operating systems.&lt;br /&gt;
&lt;br /&gt;
==Games==&lt;br /&gt;
*[http://www.p01.org/releases/DHTML_contests/files/DEFENDER_of_the_favicon/ Defender of the favicon]&lt;br /&gt;
*[http://www.ninjakiwi.com/templates/gameajax.php?name=Bloons%20Tower%20Defense%203&amp;amp;game=http://www.ninjakiwi.com/images/stories/Games/bloonstd3.swf Bloon Tower Defense 3]&lt;br /&gt;
*[http://www.freemariogames.org/play/tuper-tario-tros.html Mario/Tetris Mashup]&lt;br /&gt;
&lt;br /&gt;
==Docs==&lt;br /&gt;
*[http://gentoo-wiki.com/TIP_Using_screen Using Screen]&lt;br /&gt;
*[http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide rTorrent Guide]&lt;br /&gt;
&lt;br /&gt;
==Wants==&lt;br /&gt;
*[http://store.jimwagnerrealitybased.com/jimwagnerrealitybasedbladeserrations.aspx Jim Wagner Reality Based Blade (Serrations)]&lt;br /&gt;
&lt;br /&gt;
*http://www.ubnt.com/products/rspro.php&lt;br /&gt;
&lt;br /&gt;
*Smith &amp;amp; Wesson Model 649: http://www.smith-wesson.com/webapp/wcs/stores/servlet/CompareProductsDisplay?storeId=750001&amp;amp;catalogId=750051&amp;amp;langId=-1&amp;amp;catentryId=764944&amp;amp;catentryId=764945&lt;br /&gt;
&lt;br /&gt;
*Ideas for hardware / customizing (although I&#039;d prefer XBMC over Boxee)-&amp;gt; http://openboxeebox.com/the-boxeebox-cookbook/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Geany&amp;diff=1422</id>
		<title>Geany</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Geany&amp;diff=1422"/>
		<updated>2013-04-27T17:03:19Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: New page: == Installing Geany on Debian Squeeze ==  === Get a few required packages ===  aptitude install build-essential autoconf automake libgtk2.0-dev libgtk2.0-dev intltool  === Download and bui...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing Geany on Debian Squeeze ==&lt;br /&gt;
&lt;br /&gt;
=== Get a few required packages ===&lt;br /&gt;
 aptitude install build-essential autoconf automake libgtk2.0-dev libgtk2.0-dev intltool&lt;br /&gt;
&lt;br /&gt;
=== Download and build the latest libtool ===&lt;br /&gt;
 mkdir /share/libtool&lt;br /&gt;
 cd /share/libtool&lt;br /&gt;
 wget http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz&lt;br /&gt;
 tar xvf libtool-2.4.2.tar.gz &lt;br /&gt;
 cd libtool-2.4.2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== Download and build the latest Geany ===&lt;br /&gt;
 mkdir /share/geany&lt;br /&gt;
 cd /share/geany&lt;br /&gt;
 wget http://download.geany.org/geany-1.23.tar.gz&lt;br /&gt;
 tar xvf geany-1.23.tar.gz&lt;br /&gt;
 cd geany-1.23&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Recipes&amp;diff=1421</id>
		<title>Recipes</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Recipes&amp;diff=1421"/>
		<updated>2013-04-05T21:29:23Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Fried Eggplant */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Modified Traditional Soupa =&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 4 pounds chuck roast with fat (don&#039;t trim fat as is important)&lt;br /&gt;
* 5 tablespoons pickling spice (cinnamon, mustard seed, black peppercorns, cloves, allspice, dill seed, bay leaves, ginger, coriander, and mace)&lt;br /&gt;
* 4 minced cloves garlic&lt;br /&gt;
* 3 cans (8 oz cans) tomato sauce&lt;br /&gt;
* Salt and pepper to taste&lt;br /&gt;
* Water&lt;br /&gt;
* Fresh mint&lt;br /&gt;
* 1 cup red wine (optional)&lt;br /&gt;
* 1 head cabbage (cut in 1/8ths)&lt;br /&gt;
* 1 loaf French bread (preferably slightly stale) sliced into 1 inch pieces.&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Cut chuck roast into medium sized pieces and add chuck roast, spices (in a tea strainer or cheese cloth), garlic, tomato sauce, fresh mint, salt and pepper to a large stock pot. Fill pot approximately 1 inch from top with water and let simmer for 4 hours at medium heat.  As it simmers, add more water as needed.&lt;br /&gt;
* During the last half hour, add the fresh mint, wine, and cabbage and let simmer until cabbage is tender.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Chile Colorado=&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 10 oz. bag of dried chiles (remove stems/seeds)&lt;br /&gt;
* 5 cups water&lt;br /&gt;
* 5 pounds boneless beef chuck roast (trim off fat)&lt;br /&gt;
* 1 1/2 cup flour&lt;br /&gt;
* 2 tablespoons salt&lt;br /&gt;
* 2 tablespoons pepper&lt;br /&gt;
* 6 tablespoons olive oil&lt;br /&gt;
* 2 large yellow onions&lt;br /&gt;
* 6 cups beef stock&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Remove stems and seeds from chiles.  To add a bit of spice, leave some seeds.  The more seeds to spicier it will be.&lt;br /&gt;
* Place chiles and 6 cups water into a medium stockpot and boil. Remove from heat and let it sit for 30 minutes to soften. Place the chiles and some of the liquid into a blender, and puree until smooth. Add more liquid as needed to form a smooth sauce.&lt;br /&gt;
* Strain left over liquid to remove any seeds and put back into stockpot.&lt;br /&gt;
* Cut the roast into 1 inch chunks. In a medium bowl, combine flour, salt, and pepper. Bread the beef chunks with the seasoned flour.&lt;br /&gt;
* Heat olive oil in a pan over medium heat. Chop onion and sauté until tender/translucent. Add beef chunks, but don&#039;t add all the meat at once. Only a few pieces at a time and remove when brown. &lt;br /&gt;
* Once all the meat is browned, add the meat into the stockpot. Stir in the puréed chile and beef stock as well.&lt;br /&gt;
* Bring stockpot to a boil over medium heat. Once boiling, reduce heat to lowest setting and simmer for 3 hours.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Frito Lay Bean Dip=&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 1 can (15 ounce) refried beans&lt;br /&gt;
* 5 slices bottled jalapeño (nacho slices)&lt;br /&gt;
* 1 tablespoon brine (from bottled jalapeño slices)&lt;br /&gt;
* 1/2 teaspoon salt&lt;br /&gt;
* 1/2 teaspoon granulated sugar&lt;br /&gt;
* 1/4 teaspoon onion powder&lt;br /&gt;
* 1/4 teaspoon paprika&lt;br /&gt;
* 1/8 teaspoon garlic powder&lt;br /&gt;
* 1/8 teaspoon cayenne pepper&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Combine refried beans with the other ingredients in a food processor and puree on high speed until smooth.&lt;br /&gt;
* Cover and chill for at least an hour before serving.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Deep Fried Pickles=&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 2 cup of krinkle cut dill pickles with juice&lt;br /&gt;
* 1 large egg&lt;br /&gt;
* 1 1/2 cups corn meal&lt;br /&gt;
* 1/2 teaspoon hot sauce&lt;br /&gt;
* 1 teaspoon black pepper&lt;br /&gt;
* 1 teaspoon garlic powder&lt;br /&gt;
* 1 teaspoon paprika&lt;br /&gt;
* Vegetable oil&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Drain pickles, reserving 2/3 cup of pickle juice&lt;br /&gt;
* Dry pickles between paper towels&lt;br /&gt;
* Combine 2/3 cup pickle juice, egg, and hot sauce then lightly beat until blended well&lt;br /&gt;
* Combine 1 1/2 cups of corn meal with black pepper, garlic powder, and paprika&lt;br /&gt;
* Dip pickles in egg mixture and then coat in corn meal mixture&lt;br /&gt;
* Deep fry coated pickles until golden brown&lt;br /&gt;
* Drain excess oil on paper towel&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Yogurt=&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 10 cups milk&lt;br /&gt;
* 5 tablespoons plain yogurt (active cultures) at room temperature&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Heat milk to 185F, careful not to burn the milk, for a few seconds&lt;br /&gt;
* Cool the milk to 110F&lt;br /&gt;
* Add the 5 tablespoons of yogurt&lt;br /&gt;
* Cover and incubate bacteria at 110F for 7 to 11 hours in oven (gradually turning on and off the oven to maintain 110F)&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The longer you let it incubate, the more tangy and firm it will be&lt;br /&gt;
* Once done, refrigerate before serving&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Ice Cream=&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 5 cups heavy cream&lt;br /&gt;
* 3 cups milk&lt;br /&gt;
* 2 cups sugar&lt;br /&gt;
* 1/4 cup lemon juice&lt;br /&gt;
* Strawberries or any other fruit (bananas + nuts, blueberries, etc.)&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Mix ingredients into ice cream maker tin&lt;br /&gt;
* Put tin into ice cream maker bucket&lt;br /&gt;
* Hook up lid components&lt;br /&gt;
* Add ice and rock salt to bucket&lt;br /&gt;
* Let churn for 20 to 30 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Fried Eggplant=&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 1 eggplant (medium sized)&lt;br /&gt;
* 1 cup flour&lt;br /&gt;
* 2 teaspoons salt&lt;br /&gt;
* 1 teaspoon baking powder&lt;br /&gt;
* 1 teaspoon onion powder&lt;br /&gt;
* 1/2 teaspoon garlic powder&lt;br /&gt;
* 2 teaspoons Italian seasoning (dried crumbled oregano, basil, marjoram, and rosemary)&lt;br /&gt;
* 2/3 cup milk&lt;br /&gt;
* 2 eggs&lt;br /&gt;
* 1 tablespoon olive oil&lt;br /&gt;
* More olive oil for frying&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Combine flour, salt, baking powder, onion powder, garlic powder, and Italian seasoning in a mixing bowl&lt;br /&gt;
* Add milk, beaten eggs, and 1 tablespoon olive oil&lt;br /&gt;
* Beating batter until smooth&lt;br /&gt;
* Cut eggplant into rounds (thickness as desired)&lt;br /&gt;
* Heat olive oil with medium heat&lt;br /&gt;
* Dip eggplant rounds into batter&lt;br /&gt;
* Fry eggplant until golden brown then flip and repeat (using a lid to fully cook through the eggplant)&lt;br /&gt;
* You will need to add more olive oil as you go&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overnight Sausage and Egg Casserole=&lt;br /&gt;
Thanks Dianne!&lt;br /&gt;
==Ingredients==&lt;br /&gt;
* 6 to 8 slices white bread&lt;br /&gt;
* 1/4 cup of softened butter (for buttering bread)&lt;br /&gt;
* 4 cups of shredded Colby Jack cheese&lt;br /&gt;
* 12 ounces pork sausage (browned and drained)&lt;br /&gt;
* 4 ounces of canned green chilies&lt;br /&gt;
* 6 eggs&lt;br /&gt;
* 2 cupds of milk&lt;br /&gt;
* 1 teaspoon salt&lt;br /&gt;
* 1/2 teaspoon paprika&lt;br /&gt;
* 1 teaspoon oregano&lt;br /&gt;
* 1/2 teaspoon black pepper&lt;br /&gt;
* 1/4 teaspoon garlic powder&lt;br /&gt;
* 1/4 teaspoon dry mustard&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
* Remove crusts from bread slices and lightly butter them on one side&lt;br /&gt;
* Place bread, buttered side down, in a baking dish (avoid gaps between slices)&lt;br /&gt;
* Sprinkle shredded cheese, browned sausage, and then the green chilies evenly over the bread&lt;br /&gt;
* Whisk the eggs in a bowl; add milk and seasonings while whisking&lt;br /&gt;
* Slowly stir and pour the egg mixture in the baking dish (stirring avoids the seasonings from gathering to one spot)&lt;br /&gt;
* Cover well and place in the refrigerator overnight &lt;br /&gt;
* In the morning, preheat oven to 350 F and bake for 50 to 60 minutes (center should set and the outside should be golden brown)&lt;br /&gt;
* Allow casserole to stand for 10 minutes before serving&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; You can add a teaspoon of baking powder to lighten it up a little&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1420</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1420"/>
		<updated>2013-03-22T21:35:32Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Samba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plex Media Server ==&lt;br /&gt;
* The following will install the Debian-ized version of the Ubuntu package for Plex. Resource: http://forums.plexapp.com/index.php/topic/51427-plex-media-server-for-debian/&lt;br /&gt;
  echo &amp;quot;deb http://shell.ninthgate.se/packages/debian squeeze main&amp;quot; | tee -a /etc/apt/sources.list.d/plexmediaserver.list&lt;br /&gt;
  aptitude install curl&lt;br /&gt;
  curl http://shell.ninthgate.se/packages/shell-ninthgate-se-keyring.key | apt-key add -&lt;br /&gt;
  aptitude update&lt;br /&gt;
  aptitude install plexmediaserver&lt;br /&gt;
* Browser to http://localhost:32400/manage/index.html to finish configuration.&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1419</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1419"/>
		<updated>2013-03-21T17:25:39Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Power Backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt; STOPPED HERE ON NEW GRIFFIN CONFIG&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1418</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1418"/>
		<updated>2013-03-21T17:24:36Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Final Touch Ups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1417</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1417"/>
		<updated>2013-03-21T17:23:28Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Samba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  aptitude install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1416</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1416"/>
		<updated>2013-03-21T17:05:44Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Headless VirtualBox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/4.2.10/virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-4.2_4.2.10-84104~Debian~squeeze_amd64.deb&lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  aptitude install libcurl3-gnutls libgl1-mesa-glx libgl1 libpng12-0 libpython2.6 libqt4-network libqt4-opengl libqtcore4 libqtgui4 libsdl1.2debian libxcursor1 libxinerama1 libxmu6 libxt6&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1415</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1415"/>
		<updated>2013-03-21T00:51:30Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1414</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1414"/>
		<updated>2013-03-21T00:51:00Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Client Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  aptitude install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1413</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1413"/>
		<updated>2013-03-21T00:50:12Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Boot Up Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.7 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1412</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1412"/>
		<updated>2013-03-21T00:49:46Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Boot Up Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 6.0.07 / Squeeze and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1411</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1411"/>
		<updated>2013-03-21T00:41:24Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Hardware Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: MKNSSDCL120GB-DX (Serial # MKN1247A0000148853) hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: ST2000DL003 (Serial # 5YD3452G) hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1410</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1410"/>
		<updated>2013-03-21T00:39:44Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Hardware Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the Actiontec PM560LKI modem.  Top PCI slot is the D-Link DEF-500TX NIC.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
* Died with no warning!&amp;lt;strike&amp;gt;Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* OS Drive: XXXXXXXXXXX hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* DATA Drive: XXXXXXXXXXX hard drive was placed in the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1409</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1409"/>
		<updated>2013-03-21T00:34:31Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Headless VirtualBox */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt; STOPPED HERE WITH CONFIGURATION OF NEW GRIFFIN!!!! &amp;lt;/B&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1408</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1408"/>
		<updated>2013-03-21T00:31:59Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1407</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1407"/>
		<updated>2013-03-21T00:31:30Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;/strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt; || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda Green / ST2000DL003 || SATA 6.0Gb/s, 2TB, 5900 RPM, 64MB || [http://www.seagate.com/internal-hard-drives/desktop-hard-drives/barracuda-green/ Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148681 Purchased] || $81.18&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1406</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1406"/>
		<updated>2013-03-21T00:11:01Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;/strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt;|| [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1405</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1405"/>
		<updated>2013-03-21T00:10:48Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| Died during shipping (Thanks AL!) &amp;lt;strike&amp;gt;AMD&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;BE-2400 / ADH2400IAA5DO&amp;lt;/strike&amp;gt; || &amp;lt;/strike&amp;gt;Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core&amp;lt;/strike&amp;gt; || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || &amp;lt;strike&amp;gt;$39.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
| AMD || Athlon II X4 610e / AD610EHDGMBOX || Athlon II X4, Propus, 2.4GHz, L1 4x128KB, L2 4x512KB, 45nm, 64 bit, 45W, 0.775-1.25V || [http://shop.amd.com/US/All/Detail/Processor/AD610EHDGMBOX Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103899 Purchased] || $115.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt;|| [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1404</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1404"/>
		<updated>2013-03-20T23:59:49Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt;|| [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Mushkin || Enhanced Callisto Deluxe / MKNSSDCL120GB-DX || Internal Solid State Drive (SSD)&amp;lt;br&amp;gt;2.5&amp;quot;, 120GB, MLC, SATA II, SandForce&amp;lt;br&amp;gt;Read up to 285MB/s, Write up to 275MB/s&amp;lt;br&amp;gt;MTBF of 2,000,000 hours || [http://poweredbymushkin.com/index.php/component/djcatalog2/item?id=686:callisto-deluxe-120gb&amp;amp;cid=14:callisto-deluxe Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820226152 Purchased] || $101.88&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1403</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1403"/>
		<updated>2013-03-20T23:54:21Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Dead as of 11/2012 &amp;lt;strike&amp;gt;Seagate&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;Barracuda 7200.11 / ST31500341AS&amp;lt;/strike&amp;gt; || &amp;lt;strike&amp;gt;1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 &amp;lt;/strike&amp;gt;|| [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || &amp;lt;/strike&amp;gt;$129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1402</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1402"/>
		<updated>2013-03-20T23:53:13Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;strike&amp;gt;Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&amp;lt;/strike&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1401</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1401"/>
		<updated>2013-03-20T23:35:03Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1400</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1400"/>
		<updated>2013-03-20T23:33:58Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  dmesg | grep &amp;quot;irq = `lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039;`&amp;quot;&lt;br /&gt;
  lspci  | grep Communication | awk &#039;{print $1}&#039; | xargs -n1 -i lspci -v -s {} | grep IRQ | awk -FIRQ\  &#039;{print $2}&#039; | xargs -n1 -i grep {} /proc/tty/driver/serial&lt;br /&gt;
  cat /proc/interrupts&lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:2345:respawn:/sbin/mgetty ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1399</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1399"/>
		<updated>2013-03-20T23:27:35Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Server Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  lspci -v&lt;br /&gt;
  cat /proc/interrupts &lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:2345:respawn:/sbin/mgetty ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1398</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1398"/>
		<updated>2013-03-20T23:26:27Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Initial Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  aptitude install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  lspci -v&lt;br /&gt;
  cat /proc/interrupts &lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:2345:respawn:/sbin/mgetty ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1397</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1397"/>
		<updated>2013-03-20T23:25:17Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Error 3 Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  lspci -v&lt;br /&gt;
  cat /proc/interrupts &lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:2345:respawn:/sbin/mgetty ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Griffin&amp;diff=1396</id>
		<title>Griffin</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Griffin&amp;diff=1396"/>
		<updated>2013-03-20T23:23:17Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Error 1 &amp;amp; 2 Solution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Giffin - A remote dial-up server =&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
* Fix issue with system hanging on a reboot&lt;br /&gt;
* Resolve last boot error&lt;br /&gt;
&lt;br /&gt;
== Server Specifications ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Brand !! Model !! Description !! Link !! Price&lt;br /&gt;
|- &lt;br /&gt;
| AMD || BE-2400 / ADH2400IAA5DO ||  Athlon 64 X2, Brisbane, 1.25V, 45W, 2.3GHz, 2x512KB L2 Cache, Socket AM2 Dual-Core || [http://products.amd.com/en-us/DesktopCPUDetail.aspx?id=395 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16819103215 Purchased] || $39.99&lt;br /&gt;
|- &lt;br /&gt;
| ASUS || M3A78-EM || AMD AM2+/AM2, HDMI, FSB:2600MHz HT (5200 MT/s)&amp;lt;br&amp;gt;North Bridge:AMD 780G, South Bridge:AMD SB700&amp;lt;br&amp;gt;4+1 Phase Power Design || [http://www.asus.com/product.aspx?P_ID=KjpYqzmAd9vsTM2D&amp;amp;templete=2 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16813131324 Purchased] || $78.99&lt;br /&gt;
|- &lt;br /&gt;
| Kingston || HyperX / KHX6400D2/2G ||  2x2GB 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400), CL5, 5-5-5-15, 2v || [http://www.valueram.com/datasheets/KHX6400D2_2G.pdf Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16820104007 Purchased] || $47.98&lt;br /&gt;
|- &lt;br /&gt;
| Seagate || Barracuda 7200.11 / ST31500341AS || 1.5TB 7200 RPM 32MB Cache SATA 3.0Gb/s&amp;lt;br&amp;gt;Firmware: CC1H&amp;lt;br&amp;gt;P/N:9JU308-302&amp;lt;br&amp;gt;Date Code: 09377 || [http://www.seagate.com/ww/v/index.jsp?vgnextoid=511a8cf6a794b110VgnVCM100000f5ee0a0aRCRD Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337 Purchased] || $129.99&lt;br /&gt;
|- &lt;br /&gt;
| LG || GH22NP20 || 2MB Cache, IDE, Black, DVD/CD-ROM Burner || [http://www.newegg.com/Product/Product.aspx?Item=N82E16827136144 Purchased] || $21.99&lt;br /&gt;
|- &lt;br /&gt;
| Arctic Cooling || Freezer 64 Pro || 92mm, 900-2200 RPM (PWM), 40 CFM || [http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&amp;amp;mID=133 Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16835185125 Purchased] || $29.99&lt;br /&gt;
|- &lt;br /&gt;
| Actiontec || PM560LKI || Hardware Modem, Rev:A00, V.90/K56Flex 56Kbps, PCI, Data/Fax, Lucent/Agere Venus Chipset, Onboard Controller || [http://www.actiontec.com/support/product_details.php?pid=145 Manufacture] [http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;ssPageName=STRK:MEWNX:IT&amp;amp;item=290298795693 Purchased]|| $14.99 + $5.00 shipping&lt;br /&gt;
|- &lt;br /&gt;
| D-Link || DFE-500TX || PCI, ProFAST 10/100 Ethernet Adapter || [http://support.dlink.com/products/view.asp?productid=DFE-500TX Manufacture]&amp;lt;br&amp;gt;Ebay || $4.99&lt;br /&gt;
|- &lt;br /&gt;
| SeaSonic || Super Silencer || ATX, 400W, PFC:Active, Efficiency:80% || [http://www.newegg.com/product/product.aspx?Item=N82E16817151007 Purchased] || $75.00&lt;br /&gt;
|- &lt;br /&gt;
| Rosewill || R901-P BK || 3x120mm Fan, .7mm SECC Steel, 9x5.25&amp;quot; Drive Bays, ATX Mid Tower || [http://www.rosewill.com/products/1309/productDetail.htm Manufacture]&amp;lt;br&amp;gt;[http://www.newegg.com/Product/Product.aspx?Item=N82E16811147125 Purchased] || $59.99&lt;br /&gt;
|- &lt;br /&gt;
| Generic || CACP01HMF || Hard Drive Mounting Kit 3.5&amp;quot; to 5.25&amp;quot; bay adapter brackets || [http://bestbyte.net/mm5/merchant.mvc?Screen=PROD&amp;amp;Product_Code=CACP01HMF&amp;amp;Category_Code=CACP&amp;amp;Store_Code=BB Purchased] || $17.39/5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
* I removed the 3.5&amp;quot; bay as it was bulky and blocked air flow.  It was replaced with simple 3.5&amp;quot; to 5.25&amp;quot; bay adapters.&lt;br /&gt;
* Both PCI slots are filled. Bottom PCI slot is the D-Link DEF-500TX NIC.  Top PCI slot is the Actiontec PM560LKI modem.&lt;br /&gt;
* Top fan was unplugged as it was determined to not help cooling as power supply cables were blocking airflow.  It added 3 watts as measured by the kill-a-watt.&lt;br /&gt;
* LG GH22NP20 DVD burner was placed on the top drive bay.&lt;br /&gt;
* Seagate ST31500341AS hard drive was placed in the 3rd from the bottom bay with the 3.5&amp;quot; to 5.25&amp;quot; adapters.&lt;br /&gt;
* Memory was placed in the first two slots leaving two open slots.&lt;br /&gt;
* The smart fan from the 3.5&amp;quot; bay that I removed was reclaimed and swapped for the rear fan.  With this swap, I can now see the fan&#039;s RPMs.&lt;br /&gt;
* All cables were tied off and tested to ensure they won&#039;t touch and fans or heat sinks.&lt;br /&gt;
&lt;br /&gt;
== BIOS Configuration ==&lt;br /&gt;
* BIOS was upgraded to version 1602 build date 3/27/09, and I tweaked the following settings in the BIOS:&lt;br /&gt;
  Main-&amp;gt;Legacy Diskette A: Disabled&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;Primary Video Controller: IGFX-GFX0-GPP-PCI&lt;br /&gt;
  Advanced-&amp;gt;Chipset-&amp;gt;Internal Graphics-&amp;gt;UMA Fram Buffer Size: 64MB&lt;br /&gt;
  Power-&amp;gt;APM Configuration-&amp;gt;Restore on AC Power Loss: Always On&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;1st Boot Device: SATA&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;2nd Boot Device: CDROM&lt;br /&gt;
  Boot-&amp;gt;Boot Device Priority-&amp;gt;3rd Boot Device: Disabled&lt;br /&gt;
  Boot-&amp;gt;Boot Settings Configuration-&amp;gt;Full Screen Logo: Disabled&lt;br /&gt;
  Tools-&amp;gt;Express Gate: Disabled&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; DO NOT DISABLE THE &amp;quot;Memory Hole Remapping&amp;quot; AS YOU WILL LOSE 1GB OF RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; IGFX = Internal Graphics (aka on board), GFX0 = PCIEx16, GPP = PCIEx1, PCI = PCI&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Boot Up Errors ==&lt;br /&gt;
&lt;br /&gt;
* I installed AMD64 Debian 5.0 / Lenny and I deselected the &amp;quot;desktop&amp;quot; packages as I want to run headless.&lt;br /&gt;
&lt;br /&gt;
=== Error 1 ===&lt;br /&gt;
&lt;br /&gt;
* I was seeing the following error at boot up:&lt;br /&gt;
  Your BIOS doesn&#039;t leave a aperture memory hole&lt;br /&gt;
  Please enable the IOMMU option in the BIOS setup&lt;br /&gt;
  This costs you 64 MB of RAM&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;iommu=noagp,noaperture&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/x86/x86_64/boot-options.txt some research] and a bunch of googling, it appears this issue is somewhat related to the fact that I don&#039;t have an AGP card.  Either way, the two values for the iommu kernel parameter mean the following:&lt;br /&gt;
  noagp = Don&#039;t initialize the AGP driver and use full aperture.&lt;br /&gt;
  noaperture = Ask the IOMMU not to touch the aperture for AGP.&lt;br /&gt;
&lt;br /&gt;
=== Error 2 ===&lt;br /&gt;
&lt;br /&gt;
* I was also seeing the following error at boot up:&lt;br /&gt;
  PCI: Not using MMCONFIG.&lt;br /&gt;
&lt;br /&gt;
* To fix the above message, I added &amp;quot;pci=nommconf&amp;quot; to the kernel line.  Based on [http://www.kernel.org/doc/Documentation/kernel-parameters.txt some research] I understand that the &amp;quot;pci=nommconf&amp;quot; parameter tells the kernel to ignore mmconfig when identifying PCI devices, thus it will use other methods to identify PCI devices such as the BIOS or direct querying.  With that said, I checked the all the pci devices with &amp;quot;lspci -v&amp;quot; and they all appear to be detected properly with the &amp;quot;pci-nommconf&amp;quot; parameter.  &lt;br /&gt;
&lt;br /&gt;
=== Error 1 &amp;amp; 2 Solution ===&lt;br /&gt;
&lt;br /&gt;
* Tweaks to fix the above boot errors is as follows:&lt;br /&gt;
  vim /etc/default/grub&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet iommu=noagp,noaperture pci=nommconf&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  update-grub&lt;br /&gt;
&lt;br /&gt;
=== Error 3 ===&lt;br /&gt;
&lt;br /&gt;
* I then saw the following error:&lt;br /&gt;
  Error: Driver &#039;pcspkr&#039; is already registered, aborting...&lt;br /&gt;
&lt;br /&gt;
=== Error 3 Solution ===&lt;br /&gt;
&lt;br /&gt;
* To fix the above error, I blacklisted snd-pcsp to avoid the conflict during boot, as such:&lt;br /&gt;
  vim /etc/modprobe.d/blacklist&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  #FLC# Getting rid of error at boot about &#039;pcspkr&#039;&lt;br /&gt;
  blacklist snd-pcsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Configuration ==&lt;br /&gt;
&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install htop rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== Configuring dial-in server / mgetty / ppp ==&lt;br /&gt;
=== Server Settings ===&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install mgetty ppp&lt;br /&gt;
&lt;br /&gt;
* Querying modem info:&lt;br /&gt;
  lspci -v&lt;br /&gt;
  cat /proc/interrupts &lt;br /&gt;
  cat /proc/tty/driver/serial&lt;br /&gt;
* I determined the modem was on /dev/ttyS1, so I modified initab and uncommented the last line and changed it to ttyS1&lt;br /&gt;
  vim /etc/inittab &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
T3:2345:respawn:/sbin/mgetty ttyS1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Added nasty gram in issue.mgetty&lt;br /&gt;
  vim /etc/issue.mgetty&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-------------------------&lt;br /&gt;
Private server, stay out!&lt;br /&gt;
------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configured PPP, I changed the /AutoPPP/ line as shown below:&lt;br /&gt;
vim /etc/mgetty/login.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth -chap +pap 192.168.0.3:192.168.0.4 login auth debug proxyarp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; The first IP is the servers (different from eth) and the second IP is the clients (dial-up)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; If I want, I can disable non PAP logins (aka terminals) by changing &amp;quot;/bin/login @&amp;quot; to &amp;quot;/bin/false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Changed the default speed for mgetty&lt;br /&gt;
  vim /etc/mgetty/mgetty.config&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
speed 57600&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Allowed ppp users&lt;br /&gt;
  vim /etc/ppp/pap-secrets&lt;br /&gt;
* Find the section called &amp;quot;Every regular user can use PPP and has to use passwords from /etc/passwd&amp;quot; and change to the following (replace username with actual username, left out here for obvious reaons):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;username&amp;quot;       *       &amp;quot;&amp;quot;      *&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In order to get routing working, I needed to create the following files:&lt;br /&gt;
  vim /etc/ppp/ip-up.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  vim /etc/ppp/ip-down.local&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
/bin/echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  chmod +x /etc/ppp/ip-up.local&lt;br /&gt;
  chmod +x /etc/ppp/ip-down.local&lt;br /&gt;
  reboot&lt;br /&gt;
&lt;br /&gt;
* At this point, I can either use a terminal program, such as minicom, to login or I can use ppp&lt;br /&gt;
&lt;br /&gt;
=== Client Settings ===&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; This is *NOT* done on griffin.  This is was performed on my lappie that I used as a client to connect to griffen.  It&#039;s documented here for completeness.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;*NOTE*&#039;&#039;&#039; I tried gnome-ppp, but it didn&#039;t like my modem for some reason and I didn&#039;t care to mess with it at the time as I prefer command line utilities for ease of use via ssh&amp;lt;br&amp;gt;&lt;br /&gt;
* I tested with minicom for fun, then move on to setting up ppp, as such:&lt;br /&gt;
  apt-get install ppp pppconfig&lt;br /&gt;
* Configure ppp connection&lt;br /&gt;
  pppconfig&lt;br /&gt;
# Choose &amp;quot;Create  Create a connection&amp;quot;&lt;br /&gt;
# Give it a name, I gave it flc&lt;br /&gt;
# Choose &amp;quot;Dynamic  Use dynamic DNS&amp;quot;&lt;br /&gt;
# Choose &amp;quot;PAP  Peer Authentication Protocol&amp;quot;&lt;br /&gt;
# Give it the username you defined while editing &amp;quot;pap-secrets&amp;quot; from up above&lt;br /&gt;
# Password of the usernames account&lt;br /&gt;
# I left the speed as the default of 115200&lt;br /&gt;
# I left the default value of &amp;quot;Tone&amp;quot;&lt;br /&gt;
# Enter the proper phone # of the dial-up server&lt;br /&gt;
# I selected, no and defined the modem as /dev/ttyUSB0 as I was using my Belkin USB-&amp;gt;Serial adapter to a USR Modem&lt;br /&gt;
# Select &amp;quot;Finished  Write files and return to main menu.&amp;quot;&lt;br /&gt;
# Select OK, then &amp;quot;Quit  Exit the utility&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Now everything was set to connect:&lt;br /&gt;
  pon flc&lt;br /&gt;
* I tested ssh into the server&#039;s IP 192.168.0.103 and it worked, likewise I tried pinging a server on the network and it responded.  I had to set my resolv.conf manually and once I did I was able to, slowly, browse the Internet.&lt;br /&gt;
* To disconnect, use:&lt;br /&gt;
  poff flc&lt;br /&gt;
* For logging info, use:&lt;br /&gt;
  plog&lt;br /&gt;
&lt;br /&gt;
== Headless VirtualBox ==&lt;br /&gt;
* Get and installed virtual box (not ose as it currently doesn&#039;t support RDP for management, which I didn&#039;t see any other way to manage as I&#039;m running completely headless)&lt;br /&gt;
  wget http://download.virtualbox.org/virtualbox/2.2.0/virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb&lt;br /&gt;
  dpkg -i virtualbox-2.2_2.2.0-45846_Debian_lenny_amd64.deb &lt;br /&gt;
* Virtual Box wanted some extra packages&lt;br /&gt;
  apt-get install libqt4-network libqtcore4 libqtgui4 psmisc libtiff4&lt;br /&gt;
&lt;br /&gt;
* Setting up the VM  &lt;br /&gt;
  VBoxManage list vms&lt;br /&gt;
  VBoxManage createvm -name &amp;quot;WindowsXP&amp;quot; -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -memory &amp;quot;512MB&amp;quot; -acpi on -nic1 nat&lt;br /&gt;
  VBoxManage createhd --filename /share/vm/Windows\ XP\ VM.vdi -size 10240 -register&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -hda /share/vm/Windows\ XP\ VM.vdi &lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /share/Windows.iso &lt;br /&gt;
  VBoxHeadless -startvm &amp;quot;WindowsXP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Remove attached CD&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd none&lt;br /&gt;
&lt;br /&gt;
* Port forwarding&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/Protocol&amp;quot; &#039;&#039;&#039;&amp;lt;PROTOCOL&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/HostPort&amp;quot; &#039;&#039;&#039;&amp;lt;LOCAL/HOST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;&#039;&#039;&#039;&amp;lt;VM NAME&amp;gt;&#039;&#039;&#039;&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/&#039;&#039;&#039;&amp;lt;DESCRIPTIVE NAME&amp;gt;&#039;&#039;&#039;/GuestPort&amp;quot; &#039;&#039;&#039;&amp;lt;VM/GUEST PORT&amp;gt; &#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;Example: &#039;&#039;&#039;&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/Protocol&amp;quot; TCP&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/HostPort&amp;quot; 13389&lt;br /&gt;
  VBoxManage setextradata &amp;quot;WindowsXP&amp;quot; &amp;quot;VBoxInternal/Devices/pcnet/0/LUN#0/Config/RDP/GuestPort&amp;quot; 3389&lt;br /&gt;
&lt;br /&gt;
=== Windows Guests ===&lt;br /&gt;
* You need to install the guest additions, mount as such:  (then in the guest, go to the dvd and install)&lt;br /&gt;
  VBoxManage modifyvm &amp;quot;WindowsXP&amp;quot; -dvd /usr/share/virtualbox/VBoxGuestAdditions.iso&lt;br /&gt;
&lt;br /&gt;
== Samba ==&lt;br /&gt;
* I installed samba to share some miscellaneous files.&lt;br /&gt;
  apt-get install samba&lt;br /&gt;
  mkdir /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
  chown -R &amp;lt;my_user_account&amp;gt;:&amp;lt;my_group&amp;gt; /share&lt;br /&gt;
  vim /etc/samba/smb.conf&lt;br /&gt;
* I changed following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   workgroup = asgard&lt;br /&gt;
   socket options = TCP_NODELAY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I added following options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   security = user&lt;br /&gt;
   guest account = &amp;lt;my_user_account&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a samba user&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; I changed the &amp;quot;security = user&amp;quot; from above to &amp;quot;security = share&amp;quot; to get Windows to properly mount and then I needed to add a samba user as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   smbpasswd -a ohayden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* I then added the following share:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[share]&lt;br /&gt;
   path = /share/&amp;lt;some_dir_here_I_aint_tellin&amp;gt;&lt;br /&gt;
   available = yes&lt;br /&gt;
   browseable = yes&lt;br /&gt;
   public = yes&lt;br /&gt;
   writable = no&lt;br /&gt;
   guest ok  = yes&lt;br /&gt;
   directory mask = 0775&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power Backup ==&lt;br /&gt;
* I install the apcupsd package and configured it to call the email_power.sh script below to keep me informed of power outages.  Don&#039;t forget to have apcupsd load at init.&lt;br /&gt;
&lt;br /&gt;
== Final Touch Ups ==&lt;br /&gt;
* Since this server is going to be 1725+ miles away, I figured it would be best if I ran a burn in test with memtest86+.  Why memtest86+ over memtest86?  According to [http://en.wikipedia.org/wiki/Memtest86 wikipedia], the latest version of memtest86 has issues with computer having 4GB of RAM.  From wikipedia: &amp;quot;&#039;&#039;The 3.5 version is known to fail on some (or many, or most) computers with 4 gb of installed memory (the failure results in a spontaneous system reboot soon after the program starts running). The MemTest86+ 2.11 version does not exhibit this behavior.&#039;&#039;&amp;quot;&lt;br /&gt;
  apt-get install memtest86+&lt;br /&gt;
  cat /usr/share/doc/memtest86+/examples/grub-menu.lst &amp;gt;&amp;gt; /boot/grub/menu.lst&lt;br /&gt;
* Clean up the memtest86+ entry&lt;br /&gt;
  vim /boot/grub/menu.lst&lt;br /&gt;
* I ran memtest86+ for 32.5 hours and it had 19 passes all with success. Initial watt usage is about 90 watts.&lt;br /&gt;
* Installed a few more utilities for monitoring and power saving&lt;br /&gt;
  apt-get install lm-sensors hddtemp hdparm powertop ethtool&lt;br /&gt;
* Installed even more utilities&lt;br /&gt;
  apt-get install screen iputils-arping bwm-ng iftop&lt;br /&gt;
* Added the following to /etc/crontab&lt;br /&gt;
  */5  *  * * *   root    /sbin/flc/setip.sh&lt;br /&gt;
  0  0    * * *   root    /sbin/flc/setdatetime.sh &amp;gt; /dev/null&lt;br /&gt;
  0  2    * * 1   root    /share/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
=== /sbin/flc/setip.sh ===&lt;br /&gt;
Private use only - Not documented here.&lt;br /&gt;
&lt;br /&gt;
===/sbin/flc/setdatetime.sh ===&lt;br /&gt;
Cheap way of fixing date / time without using a NTP client.&lt;br /&gt;
  #!/bin/sh&lt;br /&gt;
  # Date-Time by Frank Cardoza (Who needs NTP Client... blah!)&lt;br /&gt;
  rdate time.mit.edu &amp;amp;&lt;br /&gt;
  rdate tick.greyware.com &amp;amp;&lt;br /&gt;
  rdate utcnist.colorado.edu &amp;amp;&lt;br /&gt;
===/sbin/flc/email_power.sh ===&lt;br /&gt;
The backup of the backups script...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
tHostName=`uname -n`&lt;br /&gt;
tEmailFrom=&amp;quot;$tHostName@crancho.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# SEND WARNING EMAIL&lt;br /&gt;
echo From: $tHostName &amp;gt; /tmp/err.log&lt;br /&gt;
echo To: MY_NAME_HERE &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo Subject: Power Warning on `date &amp;quot;+%m/%d/%y %l:%M %p&amp;quot;` &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
echo &amp;quot;&amp;quot; &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
/sbin/apcaccess status &amp;gt;&amp;gt; /tmp/err.log&lt;br /&gt;
cat /tmp/err.log | sendmail -f$tEmailFrom -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/backup.sh ===&lt;br /&gt;
Backup script to archive other backups.  Can&#039;t have too many remote backups, right?!?!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backupDir=&amp;quot;/share/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# GATHER BACKUPS TO LATEST&lt;br /&gt;
###############################################################################&lt;br /&gt;
&lt;br /&gt;
# SYNC THE LATEST DIRECTORY FROM BACKUP SOURCES&lt;br /&gt;
syncSuccess=0&lt;br /&gt;
$backupDir/synclatest.sh &amp;amp;&amp;gt;/tmp/backup.log &amp;amp;&amp;amp; syncSuccess=1&lt;br /&gt;
&lt;br /&gt;
# CHECK FOR AN ERROR DURING THE SYNC: ON ERROR, ALERT AND STOP&lt;br /&gt;
if [ $syncSuccess -eq 0 ]; then&lt;br /&gt;
   echo -en &amp;quot;From: Backup Archiver &amp;lt;barchiver@griffin.crancho.com&amp;gt;\nTo: MY_NAME_HERE\nSubject: Failure during archival backup\n\n&amp;quot; &amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo -en &amp;quot;Log:\n&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/backup.log &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   echo &amp;quot;---------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/.backup.mail&lt;br /&gt;
   cat /tmp/.backup.mail | sendmail -farchiver@griffin.crancho.com -sMAIL_PROVIDER_HERE EMAIL@ADDRESS.HERE&lt;br /&gt;
   exit 0&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
# ROTATE ARCHIVES&lt;br /&gt;
###############################################################################&lt;br /&gt;
# IF EXISTS, THEN DELETE THE OLDEST BACKUP&lt;br /&gt;
if [ -d $backupDir/archive.52 ]; then&lt;br /&gt;
   rm -rf&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# LOOP THROUGH 51 TO 1 AND ROTATION DIRECTORIES&lt;br /&gt;
for index in $(seq 51 -1 1)&lt;br /&gt;
do&lt;br /&gt;
   # IF EXISTS, THEN MOVE DOWN ONE&lt;br /&gt;
   if [ -d $backupDir/archive.$index ]; then&lt;br /&gt;
      mv $backupDir/archive.$index $backupDir/archive.$((index + 1))&lt;br /&gt;
   fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# HARD LINK LATEST BACKUP TO FIRST ROTATION&lt;br /&gt;
cp -al $backupDir/latest /share/backups/archive.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===/share/backups/synclatest.sh ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IPAddress_DROW=$( wget -q -nv -O - URL_TO_GET_DROWS_IP_ADDRESS_HERE | cut -d &amp;quot;-&amp;quot; -f 2 | tr -d &amp;quot; &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
cd /share/backups/&lt;br /&gt;
&lt;br /&gt;
mkdir -p /share/backups/latest/dreamhost/&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailflc&lt;br /&gt;
mkdir -p  /share/backups/latest/drow/jailkfc&lt;br /&gt;
&lt;br /&gt;
# Get dreamhost data&lt;br /&gt;
echo &amp;quot;Getting dreamhost data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./crancho.key&amp;quot; --delete-during --delete-excluded --progress --stats --exclude=&#039;/logs/&#039; USER_NAME_HERE@crancho.com:~/* /share/backups/latest/dreamhost/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailflc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailflc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailflc/&lt;br /&gt;
&lt;br /&gt;
# Knock DROW&lt;br /&gt;
echo &amp;quot;Knocking drow ($IPAddress_DROW)...&amp;quot;&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
#knock -v $IPAddress_DROW KNOCK_PORTS_HERE&lt;br /&gt;
sleep 5&lt;br /&gt;
# Get jailkfc from DROW&lt;br /&gt;
echo &amp;quot;Getting drow data...&amp;quot;&lt;br /&gt;
rsync -avz -e&amp;quot;ssh -i ./jailkfc.key&amp;quot; --delete-during --delete-excluded --progress --stats USER_NAME_HERE@$IPAddress_DROW:./backup/ /share/backups/latest/drow/jailkfc/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Movie Script ==&lt;br /&gt;
This is used for Al to easily move movies he&#039;s seen to the old folder.&lt;br /&gt;
&lt;br /&gt;
* Install tiny/turbo/throttling HTTP server&lt;br /&gt;
  apt-get install thttpd&lt;br /&gt;
* Remove the users directory as it&#039;s not needed&lt;br /&gt;
  cd /var/www&lt;br /&gt;
  rm -r users&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Create the cgi-bin directory&lt;br /&gt;
  mkdir cgi-bin&lt;br /&gt;
* Create a dummy index.htm to avoid directory listings&lt;br /&gt;
  cd cgi-bin&lt;br /&gt;
  echo I see you\! &amp;gt; index.htm&lt;br /&gt;
* Added my el cheapo movie script&lt;br /&gt;
  vim movies.cgi&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
&lt;br /&gt;
$tPath = &amp;quot;/share/movies&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
sub escape&lt;br /&gt;
{&lt;br /&gt;
  my $str = shift || &#039;&#039;;&lt;br /&gt;
  $str =~ s/([^\w.-])/sprintf(&amp;quot;%%%02X&amp;quot;,ord($1))/eg;&lt;br /&gt;
  $str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (($ENV{&#039;REQUEST_METHOD&#039;} eq &#039;GET&#039;) &amp;amp;&amp;amp; ($ENV{&#039;QUERY_STRING&#039;} ne &amp;quot;&amp;quot;))&lt;br /&gt;
{&lt;br /&gt;
  @pairs = split(/&amp;amp;/, $ENV{&#039;QUERY_STRING&#039;});&lt;br /&gt;
  foreach $pair (@pairs)&lt;br /&gt;
  {&lt;br /&gt;
    ($name, $value) = split(/=/, $pair);&lt;br /&gt;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(&amp;quot;C&amp;quot;, hex($1))/eg;&lt;br /&gt;
    #print &amp;quot;$name = $value&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    if ($name eq &amp;quot;move&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      if( -d &amp;quot;$tPath/$value&amp;quot;)&lt;br /&gt;
      {&lt;br /&gt;
        system &amp;quot;mv \&amp;quot;$tPath/$value\&amp;quot; \&amp;quot;$tPath/old/\&amp;quot;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;&amp;lt;script language=JavaScript&amp;gt;&amp;quot;;&lt;br /&gt;
print &amp;quot;function CheckMove(tFile){&amp;quot;;&lt;br /&gt;
print &amp;quot;if (confirm(&#039;Are you sure you want to move &#039; + tFile + &#039;?&#039;))&amp;quot;;&lt;br /&gt;
print &amp;quot;{ document.location = &#039;/cgi-bin/movies.cgi?move=&#039; + tFile }&amp;quot;;&lt;br /&gt;
print &amp;quot;}&amp;lt;/script&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
opendir(DIR, $tPath);&lt;br /&gt;
@files = grep(/\.*$/,readdir(DIR));&lt;br /&gt;
closedir(DIR);&lt;br /&gt;
&lt;br /&gt;
foreach $file (@files)&lt;br /&gt;
{&lt;br /&gt;
  if( -d &amp;quot;$tPath/$file&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if ($file ne &#039;new&#039; &amp;amp;&amp;amp; $file ne &#039;old&#039; &amp;amp;&amp;amp; $file ne &#039;.&#039; &amp;amp;&amp;amp; $file ne &#039;..&#039;)&lt;br /&gt;
    {&lt;br /&gt;
      $esc_file = escape($file);&lt;br /&gt;
      print &amp;quot;&amp;lt;a href=&#039;javascript:CheckMove(\&amp;quot;$esc_file\&amp;quot;)&#039;&amp;gt;[MOVE]&amp;lt;/a&amp;gt; $file&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modified thttpd config&lt;br /&gt;
  vim /etc/thttpd/thttpd.conf&lt;br /&gt;
* I changed following options: &lt;br /&gt;
  #FLC#choot&lt;br /&gt;
  nochoot&lt;br /&gt;
  #FLC#user=www-data&lt;br /&gt;
  user=ohayden&lt;br /&gt;
* I restarted thttpd to have the new settings take affect&lt;br /&gt;
  /etc/init.d/thttpd restart&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Setting nochoot and changing to user to my account is a major security risk.  However, this is minimized as it&#039;s only served on the local lan and is closely monitored.  Please DO NOT do the above if you provided wan access, otherwise you&#039;re begging to get hacked deservedly so.&lt;br /&gt;
&lt;br /&gt;
== QoS ==&lt;br /&gt;
This was removed as I decided to use siren (Linksys WRTSL54GS) as the QoS manager to keep it identical to my California setup.&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
* Install QoS scripts to shape traffic for VOIP&lt;br /&gt;
  apt-get install wondershaper&lt;br /&gt;
* Another version of wondershaper:&lt;br /&gt;
  wget http://www.ruwenzori.net/code/wondershaper/wondershaper.jml&lt;br /&gt;
* TODO -- Sort through these Notes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run a speed test&lt;br /&gt;
&lt;br /&gt;
test with:&lt;br /&gt;
  wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
&lt;br /&gt;
commands:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: wondershaper clear eth0&lt;br /&gt;
  info:  wondershaper eth0&lt;br /&gt;
modified:&lt;br /&gt;
  set:   wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
  clear: ??&lt;br /&gt;
  info:  wondershaper eth0 status&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim /etx/network/interfaces&lt;br /&gt;
* Add:&lt;br /&gt;
up /usr/sbin/wondershaper eth0 &amp;lt;down&amp;gt; &amp;lt;up&amp;gt;&lt;br /&gt;
down /usr/sbin/wondershaper clear eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Misc Info ==&lt;br /&gt;
* Rear serial port:&lt;br /&gt;
  /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4&lt;br /&gt;
* PCI Modem:&lt;br /&gt;
  /dev/ttyS1, UART: 16550A, Port: 0xe800, IRQ: 20&lt;br /&gt;
* In sensors:&lt;br /&gt;
** Fan 1 = CPU fan&lt;br /&gt;
** Fan 3 = Rear case fan&lt;br /&gt;
* Temperature:&lt;br /&gt;
** Sides off:&lt;br /&gt;
*** Idle M/B Temp: 30 to 35&lt;br /&gt;
*** Idle CPU Temp: 32 to 39&lt;br /&gt;
*** Idle H/D Temp: 36 to 37&lt;br /&gt;
** Enclosed:&lt;br /&gt;
*** Idle M/B Temp: up to 37&lt;br /&gt;
*** Idle CPU Temp: up to 40&lt;br /&gt;
*** Idle H/D Temp: up to 39&lt;br /&gt;
* Power Usage:&lt;br /&gt;
** Boot: 60 to 95 watts&lt;br /&gt;
** Idle: 52 to 62 watts&lt;br /&gt;
&lt;br /&gt;
== Reclaiming Disk Space ==&lt;br /&gt;
Reserved blocks is defaulted to 5% on ext3, which is a bit high for newer drives nowadays.  I pushed mine back to 1% to reclaim a bit of space with the following command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -m 1 /dev/sda1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Power Saving ==&lt;br /&gt;
* Ran sensors-detect for lm-sensors &lt;br /&gt;
* Ran pwmconfig for fancontrol, but it seems to cause the fan to stay at full blast so I deleted the /etc/fancontrol configuration file.  I suspect it&#039;s conflicting with the BIOS as it appears to want to control the fan.  I did figure out that playing with /sys/class/hwmon/hwmon1/device/pwm1 would slow down or speed up the fan by echoing 1 to 255 respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Enabled for the HDA controller; power down after 10 seconds:&lt;br /&gt;
echo 10 &amp;gt; /sys/module/snd_hda_intel/parameters/power_save&lt;br /&gt;
# Power down hard drive after 5 minutes:&lt;br /&gt;
hdparm -S 60 /dev/sda&lt;br /&gt;
# Up kernel caching to 15 seconds:&lt;br /&gt;
echo 1500 &amp;gt; /proc/sys/vm/dirty_writeback_centisecs&lt;br /&gt;
# Enable laptop mode:&lt;br /&gt;
echo 5 &amp;gt; /proc/sys/vm/laptop_mode&lt;br /&gt;
# Enable SATA ALPM link power management:&lt;br /&gt;
echo min_power &amp;gt; /sys/class/scsi_host/host0/link_power_management_policy&lt;br /&gt;
# Enable noatime on filesystem:&lt;br /&gt;
mount -o remount,noatime /&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; After testing with a kill-a-watt for a week, the power savings was negligible so I opted not to implement them for now.  The only thing I ended up doing was leave one case fan off.&lt;br /&gt;
&lt;br /&gt;
== Installing ffmpeg from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Install Required Packages ===&lt;br /&gt;
 aptitude install libdc1394-22-dev libgsm1-dev libvorbis-dev  nasm&lt;br /&gt;
&lt;br /&gt;
=== lame ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz&lt;br /&gt;
 tar xzvf lame-3.98.4.tar.gz&lt;br /&gt;
 cd lame-3.98.4&lt;br /&gt;
 ./configure --enable-nasm --disable-shared&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== libtheora ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz&lt;br /&gt;
 tar xzvf libtheora-1.1.1.tar.gz&lt;br /&gt;
 cd libtheora-1.1.1&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== x264 ===&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2&lt;br /&gt;
 tar -jxvf last_x264.tar.bz2&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg  ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Removed the following: --enable-swscaler --enable-libfaac --enable-libopencore-amrnb --enable-libx264 --enable-libmp3lame&lt;br /&gt;
&lt;br /&gt;
 cd /share/ffmpeg&lt;br /&gt;
 wget http://ffmpeg.org/releases/ffmpeg-0.8.tar.gz&lt;br /&gt;
 tar zxvf ffmpeg-0.8.tar.gz &lt;br /&gt;
 cd ffmpeg-0.8/&lt;br /&gt;
 ./configure --disable-mmx --enable-nonfree --enable-libvorbis --enable-libtheora --enable-shared --disable-static --enable-pthreads --disable-stripping --enable-libdc1394 --enable-libgsm --enable-gpl --enable-postproc --enable-x11grab --enable-version3 --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
== Unresolved issue ==&lt;br /&gt;
Boot error as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[    2.870742] ata1: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff900 irq 22&lt;br /&gt;
[    2.870746] ata2: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaff980 irq 22&lt;br /&gt;
[    2.870749] ata3: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa00 irq 22&lt;br /&gt;
[    2.870753] ata4: SATA max UDMA/133 abar m1024@0xfbaff800 port 0xfbaffa80 irq 22&lt;br /&gt;
[    3.375977] ata1: softreset failed (device not ready)&lt;br /&gt;
[    3.375977] ata1: failed due to HW bug, retry pmp=0&lt;br /&gt;
[    3.547975] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)&lt;br /&gt;
[    3.575976] ata1.00: HPA detected: current 2930277168, native 18446744072344861488&lt;br /&gt;
[    3.575976] ata1.00: ATA-8: ST31500341AS, CC1H, max UDMA/133&lt;br /&gt;
[    3.575976] ata1.00: 2930277168 sectors, multi 16: LBA48 NCQ (depth 31/32)&lt;br /&gt;
[    3.615972] ata1.00: configured for UDMA/133&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I tried the following:&lt;br /&gt;
* Add all_generic_ide to kernel line in /boot/grub/menu.lst with no change in error.&lt;br /&gt;
I found the following: http://kerneltrap.org/mailarchive/git-commits-head/2008/6/14/2122314, but I haven&#039;t tried it.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=LogitechRemote&amp;diff=1395</id>
		<title>LogitechRemote</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=LogitechRemote&amp;diff=1395"/>
		<updated>2013-03-14T23:51:29Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When the devices buttons are blinking on a harmony 200 or harmony 300 it means that the remote is on safe mode. To fix, remove the batteries on the remote for a few seconds and then press and hold number 2 buton while inserting the batteries. If that doesn&#039;t resolve the problem then try to &amp;quot;sync&amp;quot; the remote from the myharmony.com site.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Keywords: logitech remote flashing 3 times&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=LogitechRemote&amp;diff=1394</id>
		<title>LogitechRemote</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=LogitechRemote&amp;diff=1394"/>
		<updated>2013-03-14T23:50:37Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: New page:  When the devices buttons are blinking on a harmony 200 or harmony 300 it means that the remote is on safe mode. To fix, remove the batteries on the remote for a few seconds and then press...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
When the devices buttons are blinking on a harmony 200 or harmony 300 it means that the remote is on safe mode. To fix, remove the batteries on the remote for a few seconds and then press and hold number 2 buton while inserting the batteries. If that doesn&#039;t resolve the problem then try to &amp;quot;sync&amp;quot; the remote from the myharmony.com site.&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Android&amp;diff=1393</id>
		<title>Android</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Android&amp;diff=1393"/>
		<updated>2012-12-21T14:33:51Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Useful Apps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Guides==&lt;br /&gt;
[[Android Development Environment|Android Development Environment]] - Development environment to work on projects for the Andriod OS&lt;br /&gt;
&lt;br /&gt;
[[CyanogenMod for Samsung Captivate|CyanogenMod for Samsung Captivate]] - Development environment to work on CyanogenMod for Samsung Galaxy S / Captivate&lt;br /&gt;
&lt;br /&gt;
[[Android Rooting, Side Loading, and ROMs for Samsung Captivate]] - Android rooting, side loading, and ROMs for Samsung Captivate&lt;br /&gt;
&lt;br /&gt;
== Merging Wifi Status ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd ~/android/system/frameworks/base/packages/SystemUI&lt;br /&gt;
git checkout gingerbread&lt;br /&gt;
repo sync -j2&lt;br /&gt;
git merge ohay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful Apps==&lt;br /&gt;
* K-9 Mail&lt;br /&gt;
* Aldiko (ebook reader)&lt;br /&gt;
* Easy Voice Recorder Free&lt;br /&gt;
* AndroXplorer&lt;br /&gt;
* ColorNote Notepad Notes&lt;br /&gt;
* Google Maps&lt;br /&gt;
* Street View on Google Maps&lt;br /&gt;
* MoboPlayer&lt;br /&gt;
* Port Knocker&lt;br /&gt;
* AndChat&lt;br /&gt;
* ConnectBot&lt;br /&gt;
* Adobe Reader&lt;br /&gt;
* Adobe Flash Player&lt;br /&gt;
* Google Earth&lt;br /&gt;
* 2x Client&lt;br /&gt;
* AdFree&lt;br /&gt;
* Smart AudioBook Player&lt;br /&gt;
* Wifi widget - ZDWORKS&lt;br /&gt;
* gStrings&lt;br /&gt;
* Mobile Metronome&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Clip&amp;diff=1392</id>
		<title>Clip</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Clip&amp;diff=1392"/>
		<updated>2012-12-18T02:43:24Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: New page: http://us.download.nvidia.com/XFree86/Linux-x86_64/310.19/NVIDIA-Linux-x86_64-310.19.run&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://us.download.nvidia.com/XFree86/Linux-x86_64/310.19/NVIDIA-Linux-x86_64-310.19.run&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Linux_Printing&amp;diff=1391</id>
		<title>Linux Printing</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Linux_Printing&amp;diff=1391"/>
		<updated>2012-12-14T18:13:38Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is what I&#039;m doing at work to print to the network printers.  I&#039;m using CUPS and here&#039;s the steps I took:&lt;br /&gt;
&lt;br /&gt;
* Install CUPS&lt;br /&gt;
  apt-get install cupsys cupsys-client cupsys−bsd&lt;br /&gt;
* Install Foomatic and HP drivers (foomatics is a database driven system to support printers hosted by linuxprinting.org and works with CUPS)&lt;br /&gt;
  apt-get install foomatic-bin foomatic-filters foomatic-db-engine foomatic-db-hpijs hplip&lt;br /&gt;
* Install postscript filters&lt;br /&gt;
  apt-get install ghostscript a2ps&lt;br /&gt;
* Using a HTML viewer, navigate to the following link (you can also use Applications-&amp;gt;System Tools-&amp;gt;Printers, but I prefer the browser method)&lt;br /&gt;
  http://localhost:631&lt;br /&gt;
* Click Add Printer&lt;br /&gt;
* Give it a name, location, and description (name and location seems to appear is most applications when printing)&lt;br /&gt;
* My device (printer) was found so I was able to choose it directly (I chose Dell Laser Printer 1710n.......)&lt;br /&gt;
** You may need to chose AppSocket/HP JetDirect and manually tell it where the printer is addressed&lt;br /&gt;
* Chose a model / driver&lt;br /&gt;
* That&#039;s it.... go test!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; I see some guides claim I would need the package called &amp;quot;gtklp&amp;quot; to print from Thunderbird or Iceweasel, but this wasn&#039;t the case for me so I didn&#039;t install it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Generic and other PPD drivers are here: /usr/share/ppd/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Elf&amp;diff=1390</id>
		<title>Elf</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Elf&amp;diff=1390"/>
		<updated>2012-11-13T02:37:02Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Squeeze */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian Install on an Asus eee 901 =&lt;br /&gt;
== Original Partitions ==&lt;br /&gt;
* First disk (4GB) /dev/sda&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfdisk 2.12r&lt;br /&gt;
&lt;br /&gt;
Disk Drive: /dev/sda&lt;br /&gt;
Size: 4034838528 bytes, 4034 MB&lt;br /&gt;
Heads: 255   Sectors per Track: 63   Cylinders: 490&lt;br /&gt;
&lt;br /&gt;
Name        Flags      Part Type  FS Type          [Label]        Size (MB)&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
sda1                    Primary   Linux ext2       [SYSTEM]         3290.12 &lt;br /&gt;
sda2                    Primary   Linux ext3       [USER]            723.83&lt;br /&gt;
sda3                    Primary   W95 FAT32 (LBA [BIOS       ]         8.23&lt;br /&gt;
sda4                    Primary   EFI (FAT-12/16/32)                   8.23&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Second disk (16GB) /dev/sdb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk Drive: /dev/sdb&lt;br /&gt;
Size: 16139354112 bytes, 16.1 GB&lt;br /&gt;
Heads: 255   Sectors per Track: 63   Cylinders: 1962&lt;br /&gt;
&lt;br /&gt;
Name        Flags      Part Type  FS Type          [Label]&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
sdb1                    Primary   Linux ext3       [HOME]        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Install ==&lt;br /&gt;
&lt;br /&gt;
* Download the custom install from here: http://eeepc.debian.net/debian/images/debian-eeepc.img&lt;br /&gt;
* Find SD card that is 16 megs or bigger and copy the image to the SD card as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=debian-eeepc.img of=/dev/&amp;lt;SD DEVICE&amp;gt;&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Make sure the SD card is NOT mounted, also make sure you use the device itself and NOT a partition (/dev/sda NOT /dev/sda1).&lt;br /&gt;
* Make sure the BIOS is set to boot from the removable media, which is the default on my 901.&lt;br /&gt;
* Insert the SD card with the Debian install image and power up the eee.&lt;br /&gt;
* You have to use a LAN connection as the WiFi doesn&#039;t, currently, work during the installer for the RT2860sta chipset, which is what my 901 uses.  Don&#039;t worry, we can get it working after the install though.&lt;br /&gt;
* For the partition, I did the following:&lt;br /&gt;
** sda (4 GB):&lt;br /&gt;
*** sda1: 4013.95 MB, mounted to /, format, ext2, label:SYSTEM&lt;br /&gt;
*** sda2: 8.23 MB, do not use, fat32, Label: BIOS&lt;br /&gt;
*** sda3: 8.23 MB, do not use, fat32&lt;br /&gt;
** sdb (16 GB):&lt;br /&gt;
*** sdb1: 16.1 GB, mounted to /home/, format, ext2, label:HOME&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; I chose to use ext2 on both the OS and my home directory as this is a SSD (Solid State Drive) and the system is not the fastest in the world.  Ext2 will be faster and not require as much writes, etc.&lt;br /&gt;
* Other than the partition and using a LAN, the rest of it is a normal Debian install.&lt;br /&gt;
* Once the base system is installed, login and install the wireless-tools package as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su&lt;br /&gt;
apt-get install wireless-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modify the interfaces file to enable wifi as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
allow-hotplug eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
# The wireless network interface&lt;br /&gt;
auto ra0&lt;br /&gt;
iface ra0 inet dhcp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH / Rsync ==&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== VNC / Remote Control ==&lt;br /&gt;
&lt;br /&gt;
Turned on vino / remote control - This allows for a connect when a session logged in (aka shadowing)&lt;br /&gt;
&lt;br /&gt;
# Select Desktop-&amp;gt;Preference-&amp;gt;Remote Desktop&lt;br /&gt;
# Check &amp;quot;Allow other users to view your desktop&amp;quot;&lt;br /&gt;
# Check &amp;quot;Allow other users to control your desktop&amp;quot;&lt;br /&gt;
# Uncheck &amp;quot;Ask you for confirmation&amp;quot;&lt;br /&gt;
# Check &amp;quot;Require the user to enter this password:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Web Cam ==&lt;br /&gt;
* To get the webcam working install the following:&lt;br /&gt;
  apt-get install luvcview mplayer&lt;br /&gt;
&lt;br /&gt;
== Optimizations ==&lt;br /&gt;
* Add noatime to primary partition and set tmp to use tmpfs:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
Change:&lt;br /&gt;
 /dev/sda1       /               ext2    errors=remount-ro 0       1&lt;br /&gt;
To:&lt;br /&gt;
 /dev/sda1       /               ext2    noatime,errors=remount-ro 0       1&lt;br /&gt;
Add:&lt;br /&gt;
 tmpfs           /tmp            tmpfs   defaults        0       0&lt;br /&gt;
* sdb1 should already have noatime on it, if not then add it.&lt;br /&gt;
&lt;br /&gt;
* Set /var/run and /var/lock to use tmpfs:&lt;br /&gt;
 vim /etc/default/rcS&lt;br /&gt;
&lt;br /&gt;
Change:&lt;br /&gt;
 RAMRUN=no&lt;br /&gt;
 RAMLOCK=no&lt;br /&gt;
To:&lt;br /&gt;
 RAMRUN=yes&lt;br /&gt;
 RAMLOCK=yes&lt;br /&gt;
&lt;br /&gt;
== Tips and Tricks ==&lt;br /&gt;
To get battery info and state:&lt;br /&gt;
  cat /proc/acpi/battery/BAT0/info&lt;br /&gt;
  cat /proc/acpi/battery/BAT0/state&lt;br /&gt;
  acpi&lt;br /&gt;
&lt;br /&gt;
== Useful Packages ==&lt;br /&gt;
I needed the following packages for various reasons:&lt;br /&gt;
&lt;br /&gt;
* RDP Client and a GUI front end to connect to work:&lt;br /&gt;
 apt-get install rdesktop tsclient&lt;br /&gt;
* VNC Client for remote connections:&lt;br /&gt;
 apt-get install xvnc4viewer&lt;br /&gt;
* A pretty command line process viewer:&lt;br /&gt;
 apt-get install htop&lt;br /&gt;
* Great tool to detect power drains and to measure current power usage:&lt;br /&gt;
 apt-get install powertop&lt;br /&gt;
* A messenger client to keep in touch with coworkers:&lt;br /&gt;
 apt-get install amsn&lt;br /&gt;
* A Gnome applet to allow you to see if the CAPS is on or not via a icon in the panel:&lt;br /&gt;
 apt-get install lock-keys-applet&lt;br /&gt;
* Spell checker for Evolution&lt;br /&gt;
 apt-get install aspell-en&lt;br /&gt;
&lt;br /&gt;
== Adobe Flash ==&lt;br /&gt;
I try to keep a clean system, but I draw the line at lost functionality and, sadly, swf doesn&#039;t handle everything.  Flash is, unfortunately, required for certain websites I visit.  Here&#039;s how I installed it:&lt;br /&gt;
* Close all opened browsers before the following steps:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz&lt;br /&gt;
tar zxvf install_flash_player_10_linux.tar.gz&lt;br /&gt;
cp libflashplayer.so /usr/lib/mozilla/plugins/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Open your browser and test with youtube.com and hulu.com.&lt;br /&gt;
&lt;br /&gt;
== Gnome Changes ==&lt;br /&gt;
Optimizations for the EEE screen size / layout&lt;br /&gt;
# Select System-&amp;gt;Preferences-&amp;gt;Appearance&lt;br /&gt;
# On the Theme tab, select Clearlooks&lt;br /&gt;
# On the Background tab, select the solid color background&lt;br /&gt;
## Change the color to RGB of 75,150,255&lt;br /&gt;
# On the Fonts tab, change the fonts to:&lt;br /&gt;
## Application font: Sans 7&lt;br /&gt;
## Document font: Sans 8&lt;br /&gt;
## Desktop font: Sans 8&lt;br /&gt;
## Window title font: Sans Bold 8&lt;br /&gt;
## Fixed width font: Monospace 7&lt;br /&gt;
# On the Interface tab, ensure &amp;quot;Show icons in menus&amp;quot; is selected&lt;br /&gt;
## Change &amp;quot;Toolbar button labels&amp;quot; to &amp;quot;Icons only&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Panel changes:&lt;br /&gt;
# Select Applications-&amp;gt;System Tools-&amp;gt;Configuration Editor&lt;br /&gt;
# Change the following settings:&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/auto_hide = &amp;lt;Checked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/auto_hide_size = 0&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/enable_animations = &amp;lt;Unchecked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/unhide_delay = 0&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/auto_hide = &amp;lt;Checked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/auto_hide_size = 0&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/enable_animations = &amp;lt;Unchecked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/unhide_delay = 0&lt;br /&gt;
&lt;br /&gt;
== On Screen Display ==&lt;br /&gt;
&lt;br /&gt;
The function keys (wifi, dim, vol, etc) don&#039;t provide any instant feedback, I like using osd to provide the feedback and apparently someone else likes osd as well since all the scripts are configured to use it.  To enable osd do the following:&amp;lt;br&amp;gt;&lt;br /&gt;
Install:&lt;br /&gt;
 apt-get install gnome-osd&lt;br /&gt;
Configure:&lt;br /&gt;
 vim /etc/default/eeepc-acpi-scripts&lt;br /&gt;
Change:&lt;br /&gt;
 ENABLE_OSD=&#039;no&#039;&lt;br /&gt;
To:&lt;br /&gt;
 ENABLE_OSD=&#039;yes&#039;&lt;br /&gt;
Change:&lt;br /&gt;
 ENABLE_OSD_BRIGHTNESS=&#039;no&#039;&lt;br /&gt;
To:&lt;br /&gt;
 ENABLE_OSD_BRIGHTNESS=&#039;yes&#039;&lt;br /&gt;
&lt;br /&gt;
== Mounting a Remote Network Drive ==&lt;br /&gt;
In order to provide extra space to the eee, I opted to use sshfs to my NAS and remote servers.  Here&#039;s how I did it:&amp;lt;br&amp;gt;&lt;br /&gt;
Install:&lt;br /&gt;
 apt-get install sshfs&lt;br /&gt;
Mount:&lt;br /&gt;
 mkdir /media/derro&lt;br /&gt;
 sshfs -o allow_other ohayden@derro: /media/derro/&lt;br /&gt;
Unmount:&lt;br /&gt;
 fusermount -u /media/derro&lt;br /&gt;
&lt;br /&gt;
== Macro for OpenOffice.org Calc ==&lt;br /&gt;
I copy / paste a lot of text from my online banking account details into my tracking spreadsheet and I wrote the following macro to help format the text as I like it (without the formatting, colors, and extra tabs).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sub PasteUnformattedText&lt;br /&gt;
	Dim systemClipboard : systemClipboard = createUnoService(&amp;quot;com.sun.star.datatransfer.clipboard.SystemClipboard&amp;quot;)&lt;br /&gt;
	Dim converter : converter = createUnoService(&amp;quot;com.sun.star.script.Converter&amp;quot;)&lt;br /&gt;
	Dim clipboardContents : clipboardContents = systemClipboard.getContents()&lt;br /&gt;
	Dim transferDataFlavors : transferDataFlavors = clipboardContents.getTransferDataFlavors()&lt;br /&gt;
	Dim flavorIndex% : flavorIndex = -1&lt;br /&gt;
	Dim convertedString$&lt;br /&gt;
	Dim x%&lt;br /&gt;
&lt;br /&gt;
	&#039; Check for the text/plain flavor&lt;br /&gt;
	For x = LBound(transferDataFlavors) To UBound(transferDataFlavors)&lt;br /&gt;
		If transferDataFlavors(x).MimeType = &amp;quot;text/plain;charset=utf-16&amp;quot; Then&lt;br /&gt;
			flavorIndex = x&lt;br /&gt;
			Exit For&lt;br /&gt;
	    End If&lt;br /&gt;
	Next&lt;br /&gt;
	&#039; If we found the flavor we want, then...&lt;br /&gt;
	If (flavorIndex &amp;gt;= 0) Then&lt;br /&gt;
		Dim lines&lt;br /&gt;
		Dim pasteText&lt;br /&gt;
		Dim document&lt;br /&gt;
		Dim dispatcher&lt;br /&gt;
		Dim args(0) as new com.sun.star.beans.PropertyValue&lt;br /&gt;
		&#039; Grab the clipboard data&lt;br /&gt;
		convertedString = converter.convertToSimpleType(clipboardContents.getTransferData(transferDataFlavors(flavorIndex)), com.sun.star.uno.TypeClass.STRING)&lt;br /&gt;
		&#039; Split the clipboard data into an array base on tabs&lt;br /&gt;
		lines = Split(convertedString, Chr(9))&lt;br /&gt;
		&#039; Convert tabs to spaces&lt;br /&gt;
		pasteText = &amp;quot;&amp;quot;&lt;br /&gt;
		For x = LBound (lines) to UBound (lines)&lt;br /&gt;
			pasteText = pasteText + &amp;quot; &amp;quot; + lines(x)&lt;br /&gt;
		Next&lt;br /&gt;
		pasteText = Trim(pasteText)&lt;br /&gt;
		&#039; Get the current spreadsheet document&lt;br /&gt;
		document = ThisComponent.CurrentController.Frame&lt;br /&gt;
		&#039; Use the dispatch helper to paste the text to the spreadsheet&lt;br /&gt;
		dispatcher = createUnoService(&amp;quot;com.sun.star.frame.DispatchHelper&amp;quot;)&lt;br /&gt;
		args(0).Name = &amp;quot;StringName&amp;quot;&lt;br /&gt;
		args(0).Value = pasteText&lt;br /&gt;
		dispatcher.executeDispatch(document, &amp;quot;.uno:EnterString&amp;quot;, &amp;quot;&amp;quot;, 0, args())&lt;br /&gt;
	End If&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
* To get the NetworkManager to work I needed the following (also remove any reference in /etc/network/interfaces for the wireless card, which should be wlan0):&lt;br /&gt;
 aptitude install firmware-ralink wireless-tools network-manager-gnome&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/Model/901&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/HowTo/Install&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/HowTo/Configure&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/TipsAndTricks&lt;br /&gt;
* Bluetooth: http://hughperkins.com/techblog/2009/12/18/bluetooth-and-eee-control-on-eeepc-debian/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
	<entry>
		<id>https://crancho.com/w/index.php?title=Elf&amp;diff=1389</id>
		<title>Elf</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=Elf&amp;diff=1389"/>
		<updated>2012-11-13T02:36:04Z</updated>

		<summary type="html">&lt;p&gt;Ohayden: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debian Install on an Asus eee 901 =&lt;br /&gt;
== Original Partitions ==&lt;br /&gt;
* First disk (4GB) /dev/sda&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfdisk 2.12r&lt;br /&gt;
&lt;br /&gt;
Disk Drive: /dev/sda&lt;br /&gt;
Size: 4034838528 bytes, 4034 MB&lt;br /&gt;
Heads: 255   Sectors per Track: 63   Cylinders: 490&lt;br /&gt;
&lt;br /&gt;
Name        Flags      Part Type  FS Type          [Label]        Size (MB)&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
sda1                    Primary   Linux ext2       [SYSTEM]         3290.12 &lt;br /&gt;
sda2                    Primary   Linux ext3       [USER]            723.83&lt;br /&gt;
sda3                    Primary   W95 FAT32 (LBA [BIOS       ]         8.23&lt;br /&gt;
sda4                    Primary   EFI (FAT-12/16/32)                   8.23&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Second disk (16GB) /dev/sdb&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk Drive: /dev/sdb&lt;br /&gt;
Size: 16139354112 bytes, 16.1 GB&lt;br /&gt;
Heads: 255   Sectors per Track: 63   Cylinders: 1962&lt;br /&gt;
&lt;br /&gt;
Name        Flags      Part Type  FS Type          [Label]&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
sdb1                    Primary   Linux ext3       [HOME]        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Initial Install ==&lt;br /&gt;
&lt;br /&gt;
* Download the custom install from here: http://eeepc.debian.net/debian/images/debian-eeepc.img&lt;br /&gt;
* Find SD card that is 16 megs or bigger and copy the image to the SD card as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=debian-eeepc.img of=/dev/&amp;lt;SD DEVICE&amp;gt;&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Make sure the SD card is NOT mounted, also make sure you use the device itself and NOT a partition (/dev/sda NOT /dev/sda1).&lt;br /&gt;
* Make sure the BIOS is set to boot from the removable media, which is the default on my 901.&lt;br /&gt;
* Insert the SD card with the Debian install image and power up the eee.&lt;br /&gt;
* You have to use a LAN connection as the WiFi doesn&#039;t, currently, work during the installer for the RT2860sta chipset, which is what my 901 uses.  Don&#039;t worry, we can get it working after the install though.&lt;br /&gt;
* For the partition, I did the following:&lt;br /&gt;
** sda (4 GB):&lt;br /&gt;
*** sda1: 4013.95 MB, mounted to /, format, ext2, label:SYSTEM&lt;br /&gt;
*** sda2: 8.23 MB, do not use, fat32, Label: BIOS&lt;br /&gt;
*** sda3: 8.23 MB, do not use, fat32&lt;br /&gt;
** sdb (16 GB):&lt;br /&gt;
*** sdb1: 16.1 GB, mounted to /home/, format, ext2, label:HOME&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; I chose to use ext2 on both the OS and my home directory as this is a SSD (Solid State Drive) and the system is not the fastest in the world.  Ext2 will be faster and not require as much writes, etc.&lt;br /&gt;
* Other than the partition and using a LAN, the rest of it is a normal Debian install.&lt;br /&gt;
* Once the base system is installed, login and install the wireless-tools package as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su&lt;br /&gt;
apt-get install wireless-tools&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Modify the interfaces file to enable wifi as such:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file describes the network interfaces available on your system&lt;br /&gt;
# and how to activate them. For more information, see interfaces(5).&lt;br /&gt;
&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# The primary network interface&lt;br /&gt;
allow-hotplug eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&lt;br /&gt;
# The wireless network interface&lt;br /&gt;
auto ra0&lt;br /&gt;
iface ra0 inet dhcp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSH / Rsync ==&lt;br /&gt;
* I installed the following packages:&lt;br /&gt;
  apt-get install rsync ssh&lt;br /&gt;
&lt;br /&gt;
* Configured sshd to deny remote root login&lt;br /&gt;
  vim /etc/ssh/sshd_config&lt;br /&gt;
* Find and change &amp;quot;PermitRootLogin yes&amp;quot; to &amp;quot;PermitRootLogin no&amp;quot;, as such:&lt;br /&gt;
  PermitRootLogin no&lt;br /&gt;
&lt;br /&gt;
== VNC / Remote Control ==&lt;br /&gt;
&lt;br /&gt;
Turned on vino / remote control - This allows for a connect when a session logged in (aka shadowing)&lt;br /&gt;
&lt;br /&gt;
# Select Desktop-&amp;gt;Preference-&amp;gt;Remote Desktop&lt;br /&gt;
# Check &amp;quot;Allow other users to view your desktop&amp;quot;&lt;br /&gt;
# Check &amp;quot;Allow other users to control your desktop&amp;quot;&lt;br /&gt;
# Uncheck &amp;quot;Ask you for confirmation&amp;quot;&lt;br /&gt;
# Check &amp;quot;Require the user to enter this password:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Web Cam ==&lt;br /&gt;
* To get the webcam working install the following:&lt;br /&gt;
  apt-get install luvcview mplayer&lt;br /&gt;
&lt;br /&gt;
== Optimizations ==&lt;br /&gt;
* Add noatime to primary partition and set tmp to use tmpfs:&lt;br /&gt;
 vim /etc/fstab&lt;br /&gt;
Change:&lt;br /&gt;
 /dev/sda1       /               ext2    errors=remount-ro 0       1&lt;br /&gt;
To:&lt;br /&gt;
 /dev/sda1       /               ext2    noatime,errors=remount-ro 0       1&lt;br /&gt;
Add:&lt;br /&gt;
 tmpfs           /tmp            tmpfs   defaults        0       0&lt;br /&gt;
* sdb1 should already have noatime on it, if not then add it.&lt;br /&gt;
&lt;br /&gt;
* Set /var/run and /var/lock to use tmpfs:&lt;br /&gt;
 vim /etc/default/rcS&lt;br /&gt;
&lt;br /&gt;
Change:&lt;br /&gt;
 RAMRUN=no&lt;br /&gt;
 RAMLOCK=no&lt;br /&gt;
To:&lt;br /&gt;
 RAMRUN=yes&lt;br /&gt;
 RAMLOCK=yes&lt;br /&gt;
&lt;br /&gt;
== Tips and Tricks ==&lt;br /&gt;
To get battery info and state:&lt;br /&gt;
  cat /proc/acpi/battery/BAT0/info&lt;br /&gt;
  cat /proc/acpi/battery/BAT0/state&lt;br /&gt;
  acpi&lt;br /&gt;
&lt;br /&gt;
== Useful Packages ==&lt;br /&gt;
I needed the following packages for various reasons:&lt;br /&gt;
&lt;br /&gt;
* RDP Client and a GUI front end to connect to work:&lt;br /&gt;
 apt-get install rdesktop tsclient&lt;br /&gt;
* VNC Client for remote connections:&lt;br /&gt;
 apt-get install xvnc4viewer&lt;br /&gt;
* A pretty command line process viewer:&lt;br /&gt;
 apt-get install htop&lt;br /&gt;
* Great tool to detect power drains and to measure current power usage:&lt;br /&gt;
 apt-get install powertop&lt;br /&gt;
* A messenger client to keep in touch with coworkers:&lt;br /&gt;
 apt-get install amsn&lt;br /&gt;
* A Gnome applet to allow you to see if the CAPS is on or not via a icon in the panel:&lt;br /&gt;
 apt-get install lock-keys-applet&lt;br /&gt;
* Spell checker for Evolution&lt;br /&gt;
 apt-get install aspell-en&lt;br /&gt;
&lt;br /&gt;
== Adobe Flash ==&lt;br /&gt;
I try to keep a clean system, but I draw the line at lost functionality and, sadly, swf doesn&#039;t handle everything.  Flash is, unfortunately, required for certain websites I visit.  Here&#039;s how I installed it:&lt;br /&gt;
* Close all opened browsers before the following steps:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp&lt;br /&gt;
wget http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz&lt;br /&gt;
tar zxvf install_flash_player_10_linux.tar.gz&lt;br /&gt;
cp libflashplayer.so /usr/lib/mozilla/plugins/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Open your browser and test with youtube.com and hulu.com.&lt;br /&gt;
&lt;br /&gt;
== Gnome Changes ==&lt;br /&gt;
Optimizations for the EEE screen size / layout&lt;br /&gt;
# Select System-&amp;gt;Preferences-&amp;gt;Appearance&lt;br /&gt;
# On the Theme tab, select Clearlooks&lt;br /&gt;
# On the Background tab, select the solid color background&lt;br /&gt;
## Change the color to RGB of 75,150,255&lt;br /&gt;
# On the Fonts tab, change the fonts to:&lt;br /&gt;
## Application font: Sans 7&lt;br /&gt;
## Document font: Sans 8&lt;br /&gt;
## Desktop font: Sans 8&lt;br /&gt;
## Window title font: Sans Bold 8&lt;br /&gt;
## Fixed width font: Monospace 7&lt;br /&gt;
# On the Interface tab, ensure &amp;quot;Show icons in menus&amp;quot; is selected&lt;br /&gt;
## Change &amp;quot;Toolbar button labels&amp;quot; to &amp;quot;Icons only&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Panel changes:&lt;br /&gt;
# Select Applications-&amp;gt;System Tools-&amp;gt;Configuration Editor&lt;br /&gt;
# Change the following settings:&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/auto_hide = &amp;lt;Checked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/auto_hide_size = 0&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/enable_animations = &amp;lt;Unchecked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/bottom_panel_screen0/unhide_delay = 0&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/auto_hide = &amp;lt;Checked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/auto_hide_size = 0&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/enable_animations = &amp;lt;Unchecked&amp;gt;&lt;br /&gt;
## /apps/panel/toplevels/top_panel_screen0/unhide_delay = 0&lt;br /&gt;
&lt;br /&gt;
== On Screen Display ==&lt;br /&gt;
&lt;br /&gt;
The function keys (wifi, dim, vol, etc) don&#039;t provide any instant feedback, I like using osd to provide the feedback and apparently someone else likes osd as well since all the scripts are configured to use it.  To enable osd do the following:&amp;lt;br&amp;gt;&lt;br /&gt;
Install:&lt;br /&gt;
 apt-get install gnome-osd&lt;br /&gt;
Configure:&lt;br /&gt;
 vim /etc/default/eeepc-acpi-scripts&lt;br /&gt;
Change:&lt;br /&gt;
 ENABLE_OSD=&#039;no&#039;&lt;br /&gt;
To:&lt;br /&gt;
 ENABLE_OSD=&#039;yes&#039;&lt;br /&gt;
Change:&lt;br /&gt;
 ENABLE_OSD_BRIGHTNESS=&#039;no&#039;&lt;br /&gt;
To:&lt;br /&gt;
 ENABLE_OSD_BRIGHTNESS=&#039;yes&#039;&lt;br /&gt;
&lt;br /&gt;
== Mounting a Remote Network Drive ==&lt;br /&gt;
In order to provide extra space to the eee, I opted to use sshfs to my NAS and remote servers.  Here&#039;s how I did it:&amp;lt;br&amp;gt;&lt;br /&gt;
Install:&lt;br /&gt;
 apt-get install sshfs&lt;br /&gt;
Mount:&lt;br /&gt;
 mkdir /media/derro&lt;br /&gt;
 sshfs -o allow_other ohayden@derro: /media/derro/&lt;br /&gt;
Unmount:&lt;br /&gt;
 fusermount -u /media/derro&lt;br /&gt;
&lt;br /&gt;
== Macro for OpenOffice.org Calc ==&lt;br /&gt;
I copy / paste a lot of text from my online banking account details into my tracking spreadsheet and I wrote the following macro to help format the text as I like it (without the formatting, colors, and extra tabs).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sub PasteUnformattedText&lt;br /&gt;
	Dim systemClipboard : systemClipboard = createUnoService(&amp;quot;com.sun.star.datatransfer.clipboard.SystemClipboard&amp;quot;)&lt;br /&gt;
	Dim converter : converter = createUnoService(&amp;quot;com.sun.star.script.Converter&amp;quot;)&lt;br /&gt;
	Dim clipboardContents : clipboardContents = systemClipboard.getContents()&lt;br /&gt;
	Dim transferDataFlavors : transferDataFlavors = clipboardContents.getTransferDataFlavors()&lt;br /&gt;
	Dim flavorIndex% : flavorIndex = -1&lt;br /&gt;
	Dim convertedString$&lt;br /&gt;
	Dim x%&lt;br /&gt;
&lt;br /&gt;
	&#039; Check for the text/plain flavor&lt;br /&gt;
	For x = LBound(transferDataFlavors) To UBound(transferDataFlavors)&lt;br /&gt;
		If transferDataFlavors(x).MimeType = &amp;quot;text/plain;charset=utf-16&amp;quot; Then&lt;br /&gt;
			flavorIndex = x&lt;br /&gt;
			Exit For&lt;br /&gt;
	    End If&lt;br /&gt;
	Next&lt;br /&gt;
	&#039; If we found the flavor we want, then...&lt;br /&gt;
	If (flavorIndex &amp;gt;= 0) Then&lt;br /&gt;
		Dim lines&lt;br /&gt;
		Dim pasteText&lt;br /&gt;
		Dim document&lt;br /&gt;
		Dim dispatcher&lt;br /&gt;
		Dim args(0) as new com.sun.star.beans.PropertyValue&lt;br /&gt;
		&#039; Grab the clipboard data&lt;br /&gt;
		convertedString = converter.convertToSimpleType(clipboardContents.getTransferData(transferDataFlavors(flavorIndex)), com.sun.star.uno.TypeClass.STRING)&lt;br /&gt;
		&#039; Split the clipboard data into an array base on tabs&lt;br /&gt;
		lines = Split(convertedString, Chr(9))&lt;br /&gt;
		&#039; Convert tabs to spaces&lt;br /&gt;
		pasteText = &amp;quot;&amp;quot;&lt;br /&gt;
		For x = LBound (lines) to UBound (lines)&lt;br /&gt;
			pasteText = pasteText + &amp;quot; &amp;quot; + lines(x)&lt;br /&gt;
		Next&lt;br /&gt;
		pasteText = Trim(pasteText)&lt;br /&gt;
		&#039; Get the current spreadsheet document&lt;br /&gt;
		document = ThisComponent.CurrentController.Frame&lt;br /&gt;
		&#039; Use the dispatch helper to paste the text to the spreadsheet&lt;br /&gt;
		dispatcher = createUnoService(&amp;quot;com.sun.star.frame.DispatchHelper&amp;quot;)&lt;br /&gt;
		args(0).Name = &amp;quot;StringName&amp;quot;&lt;br /&gt;
		args(0).Value = pasteText&lt;br /&gt;
		dispatcher.executeDispatch(document, &amp;quot;.uno:EnterString&amp;quot;, &amp;quot;&amp;quot;, 0, args())&lt;br /&gt;
	End If&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Squeeze ==&lt;br /&gt;
* To get the NetworkManager to work I needed the following:&lt;br /&gt;
 aptitude install firmware-ralink wireless-tools network-manager-gnome&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/Model/901&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/HowTo/Install&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/HowTo/Configure&lt;br /&gt;
* http://wiki.debian.org/DebianEeePC/TipsAndTricks&lt;br /&gt;
* Bluetooth: http://hughperkins.com/techblog/2009/12/18/bluetooth-and-eee-control-on-eeepc-debian/&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
</feed>