Diskless frontend on a Dell Inspiron 8200

One reason that I chose MythTV early on was for its ability to interface with other “satellite” frontend machines that I could place around the house in various locations where I have already installed hardwired Ethernet jacks.  Unless I wish to stream demanding high definition content, the frontend machines do not need to be equipped with expensive or modern hardware.

Here’s a case in point example.  I’ve had an old Dell Inspiron 8200 kicking around for a while that has a bad IDE controller.  It refuses to boot from the hard disk or the optical drive.  By most consequences, this machine is pretty much useless as is.  Enter PXE booting.  A BIOS setting in the 8200 allows for network booting.

I have experimented with linux and network booting in the past and have had joy using Diskless Remote Boot in Linux (DRBL) to network boot a DSL iso file from my Linux server to other computers around the house.  NFSRoot is a popular alternative and requires a dedicated box running a DHCP & TFTP servers and PXELINUX to boot a root filesystem over NFS.  My experience with this method has been frustrating and I never did get it working correctly using Debian.

I thought I would give it another shot and attempt to create a diskless frontend using the Inspiron.  I skipped all the manual configuration and opted to use a script available with the Knoppmyth distro to create a diskless frontend.  Basically the script sets up and configures the DHCP and TFTP servers on the myth backend and does all the hard work.  The Knoppmyth wiki has a good entry on how to get this going:

http://www.knoppmythwiki.org/index.php?page=DisklessFrontend

One thing that must be considered is that your frontend hardware will most likely be different from the backend hardware where the script was executed.  In my situation, from the backend, I had to reconfigure /nfsroot/dell8200/etc/X11/xorg.conf to get it play nicely with the Inspiron.  After a lot of googling and trial and error, I came up with a working xorg.conf that was compatible with the Inspiron’s 1600×1200 display.  Once changed, I had a diskless frontend working on the Inspiron with recorded programs available and live TV from the Motorola 6200 cable box.

Below is my xorg.conf for the Dell Inspiron 8200.  Note that I haven’t been successful getting an updated Nvidia driver installed for the older Nvidia graphics in the 8200.  One other issue involves navigating menus on the frontend.  When cycling through the menu using the arrow keys on the keyboard, it seems that two button clicks are being registered causing the menu to skip ahead one extra level – an annoying issue.  More time needed but it’s a good start…

# File generated by xorgconfig.

#

# Copyright 2004 The X.Org Foundation

#

# Permission is hereby granted, free of charge, to any person obtaining a

# copy of this software and associated documentation files (the “Software”),

# to deal in the Software without restriction, including without limitation

# the rights to use, copy, modify, merge, publish, distribute, sublicense,

# and/or sell copies of the Software, and to permit persons to whom the

# Software is furnished to do so, subject to the following conditions:

#

# The above copyright notice and this permission notice shall be included in

# all copies or substantial portions of the Software.

#

# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL

# The X.Org Foundation BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,

# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF

# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

# SOFTWARE.

#

# Except as contained in this notice, the name of The X.Org Foundation shall

# not be used in advertising or otherwise to promote the sale, use or other

# dealings in this Software without prior written authorization from

# The X.Org Foundation.

#

# **********************************************************************

# Refer to the xorg.conf(5x) man page for details about the format of

# this file.

# **********************************************************************

# **********************************************************************

# Module section — this  section  is used to specify

# which dynamically loadable modules to load.

# **********************************************************************

#

Section “Module”

# Alps Touchpad

#    Load   “synaptics”

# This loads the DBE extension module.

Load        “dbe”  # Double buffer extension

# This loads the miscellaneous extensions module, and disables

# initialisation of the XFree86-DGA extension within that module.

SubSection  “extmod”

Option    “omit xfree86-dga”   # don’t initialise the DGA extension

EndSubSection

# This loads the font modules

#    Load        “type1”

Load        “speedo”

Load        “freetype”

#    Load        “xtt”

# This loads the GLX module

Load       “glx”

# This loads the DRI module

#    Load       “dri”

EndSection

# **********************************************************************

# Files section.  This allows default font and rgb paths to be set

# **********************************************************************

Section “Files”

# The location of the RGB database.  Note, this is the name of the

# file minus the extension (like “.txt” or “.db”).  There is normally

# no need to change the default.

RgbPath “/usr/X11R6/lib/X11/rgb”

# Multiple FontPath entries are allowed (which are concatenated together),

# as well as specifying multiple comma-separated entries in one FontPath

# command (or a combination of both methods)

#

#

FontPath   “/usr/share/fonts/misc/”

FontPath   “/usr/share/fonts/TTF/”

FontPath   “/usr/share/fonts/Type1/”

#    FontPath   “/usr/share/fonts/CID/”

FontPath   “/usr/share/fonts/75dpi/”

FontPath   “/usr/share/fonts/100dpi/”

FontPath   “/usr/share/fonts/local/”

#    FontPath   “/usr/share/fonts/Speedo/”

#    FontPath   “/usr/share/fonts/TrueType/”

#    FontPath   “/usr/share/fonts/freefont/”

# The module search path.  The default path is shown here.

#    ModulePath “/usr/X11R6/lib/modules”

EndSection

# **********************************************************************

# Input devices

# **********************************************************************

# **********************************************************************

# Core keyboard’s InputDevice section

# **********************************************************************

Section “InputDevice”

Identifier    “Keyboard1”

Driver  “kbd”

Option “AutoRepeat” “500 30”

Option “XkbRules”   “xorg”

Option “XkbModel”   “pc101”

Option “XkbLayout”  “us”

EndSection

# **********************************************************************

# Core Pointer’s InputDevice section

# **********************************************************************

Section “InputDevice”

Driver            “mouse”

Identifier  “USB-Mouse”

Option            “Device”    “/dev/input/mice”

Option            “Emulate3Buttons” “true”

Option            “ZAxisMapping”    “4 5”

EndSection

#Section “InputDevice”

#  Driver  “synaptics”

#  Identifier     “Alps”

#  Option   “Device”          “/dev/psaux”

#  Option   “Protocol”        “auto-dev”

#  Option   “LeftEdge”        “120”

#  Option   “RightEdge”       “830”

#  Option   “TopEdge”         “120”

#  Option   “BottomEdge”            “650”

#  Option   “FingerLow”       “14”

#  Option   “FingerHigh”            “15”

#  Option   “MaxTapTime”            “180”

#  Option   “MaxTapMove”            “110”

#  Option   “EmulateMidButtonTime”  “75”

#  Option   “VertScrollDelta” “20”

#  Option   “HorizScrollDelta”      “20”

#  Option   “MinSpeed”        “0.4”

#  Option   “MaxSpeed”        “0.8”

#  Option   “AccelFactor”           “0.02”

#  Option   “EdgeMotionMinSpeed”    “15”

#  Option   “EdgeMotionMaxSpeed”    “15”

#  Option   “UpDownScrolling” “1”

#  Option   “CircularScrolling”     “1”

#  Option   “CircScrollDelta” “0.1”

#  Option   “CircScrollTrigger”     “2”

#EndSection

#######################This is old touchpad

#Section “InputDevice”

#    Identifier   “Mouse1”

#    Driver “mouse”

#    Option “Protocol”    “GlidePointPS/2”

#    Option “Device”      “/dev/input/mouse0”

#    Option “Emulate3Buttons”

#EndSection

# **********************************************************************

# Monitor section

# **********************************************************************

# Any number of monitor sections may be present

Section “Monitor”

Identifier  “Monitor0”

# HorizSync is in kHz unless units are specified.

# HorizSync may be a comma separated list of discrete values, or a

# comma separated list of ranges of values.

# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR’S

# USER MANUAL FOR THE CORRECT NUMBERS.

HorizSync   31.5 – 90.0

#    HorizSync    30-64         # multisync

#    HorizSync    31.5, 35.2    # multiple fixed sync frequencies

#    HorizSync    15-25, 30-50  # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.

# VertRefresh may be a comma separated list of discrete values, or a

# comma separated list of ranges of values.

# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR’S

# USER MANUAL FOR THE CORRECT NUMBERS.

VertRefresh 59.0 – 85.0

EndSection

# **********************************************************************

# Graphics device section

# **********************************************************************

# Device configured by xorgconfig:

Section “Device”

Identifier  “Card0”

Driver      “nv”

# unsupported card

#VideoRam    65536

# Insert Clocks lines here if appropriate

EndSection

# **********************************************************************

# Screen sections

# **********************************************************************

# Any number of screen sections may be present.  Each describes

# the configuration of a single screen.  A single specific screen section

# may be specified from the X server command line with the “-screen”

# option.

Section “Screen”

Identifier  “Screen 1”

Device      “Card0”

Monitor     “Monitor0”

DefaultDepth 24

Subsection “Display”

Depth       8

Modes       “1600×1200” “1280×1024” “1024×768” “800×600”

“640×480”

ViewPort    0 0

EndSubsection

Subsection “Display”

Depth       16

Modes       “1600×1200” “1280×1024” “1024×768” “800×600” “640×480”

ViewPort    0 0

EndSubsection

Subsection “Display”

Depth       24

Modes       “1280×1024” “1024×768” “800×600” “640×480”

ViewPort    0 0

EndSubsection

EndSection

# **********************************************************************

# ServerLayout sections.

# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes

# the way multiple screens are organised.  A specific ServerLayout

# section may be specified from the X server command line with the

# “-layout” option.  In the absence of this, the first section is used.

# When now ServerLayout section is present, the first Screen section

# is used alone.

Section “ServerLayout”

# The Identifier line must be present

Identifier  “Simple Layout”

# Each Screen line specifies a Screen section name, and optionally

# the relative position of other screens.  The four names after

# primary screen name are the screens to the top, bottom, left and right

# of the primary screen.  In this example, screen 2 is located to the

# right of screen 1.

Screen “Screen 1”

# Each InputDevice line specifies an InputDevice section name and

# optionally some options to specify the way the device is to be

# used.  Those options include “CorePointer”, “CoreKeyboard” and

# “SendCoreEvents”.

#InputDevice “Mouse1” “CorePointer”

#InputDevice “Alps” “CorePointer”

InputDevice “USB-Mouse” “AlwaysCore”

InputDevice “Keyboard1” “CoreKeyboard”

EndSection

# Section “DRI”

#    Mode 0666

# EndSection

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: