The Problem

I wanted to get linux, especially Debian, running on my system at work. The machine only has one hard drive. I'd heard that a linux install on a one-hard drive machine was more difficult than installing linux to a separate hard drive.

The Solution

The following is the process I went through to successfully install Debian.

Setting up Partions

I had a typical factory-installed WinXP with a two NTFS partitions using up the entire 75 GB hard drive. The second parition (the D: drive) was completely empty. I used the WinXP defrag utility to defrag both the C: and D: drives several times, and ensured that all of my data on the C: drive was in the first 12 GB. Then, I used the application QtParted from the bootable CD SystemRescueCD (I used version x86-0.2.15) to create space for Debian.

I booted the machine from SystemRescueCD, hit return at the "boot:" prompt (default boot) and hit return at the "Set keyboard" prompt (default keyboard). After some hardware detection, a "root%" prompt appeard. I typed run_qtparted to launch QtParted. In QtParted, I used the easy-to-use GUI to

Basically, you want to end up with one NTFS partition containing WinXP, and a logical partition containing the following logical partitions:

Installing Debian

I downloaded the Debian netinst ISO image, the most recent (as of 13 October 2004) version of the Debian Installer.

Booting from the CD brings up the installer.

I had some trouble getting gnome working; but it turned out to be misconfiguration of xerver-xfree86 on my part. Multiple runnings (as root) of:

dpkg-reconfigure --priority=low xserver-xfree86
and eventually figuring out that I had to select "nv" as the video driver (for my NVidea video card, I guess) fixed the problem.

        # XF86Config-4 (XFree86 X Window System server configuration file)
        #
        # This file was generated by dexconf, the Debian X Configuration tool, using
        # values from the debconf database.
        #
        # Edit this file with caution, and see the XF86Config-4 manual page.
        # (Type "man XF86Config-4" at the shell prompt.)
        #
        # This file is automatically updated on xserver-xfree86 package upgrades *only*
        # if it has not been modified since the last upgrade of the xserver-xfree86
        # package.
        #
        # If you have edited this file but would like it to be automatically updated
        # again, run the following commands as root:
        #
        #   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
        #   md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
        #   dpkg-reconfigure xserver-xfree86

        Section "Files"
            FontPath	"unix/:7100"			# local font server
            # if the local font server has problems, we can fall back on these
            FontPath	"/usr/lib/X11/fonts/misc"
            FontPath	"/usr/lib/X11/fonts/cyrillic"
            FontPath	"/usr/lib/X11/fonts/100dpi/:unscaled"
            FontPath	"/usr/lib/X11/fonts/75dpi/:unscaled"
            FontPath	"/usr/lib/X11/fonts/Type1"
            FontPath	"/usr/lib/X11/fonts/CID"
            FontPath	"/usr/lib/X11/fonts/Speedo"
            FontPath	"/usr/lib/X11/fonts/100dpi"
            FontPath	"/usr/lib/X11/fonts/75dpi"
        EndSection

        Section "Module"
            Load	"GLcore"
            Load	"bitmap"
            Load	"dbe"
            Load	"ddc"
            Load	"dri"
            Load	"extmod"
            Load	"freetype"
            Load	"glx"
            Load	"int10"
            Load	"record"
            Load	"speedo"
            Load	"type1"
            Load	"vbe"
        EndSection

        Section "InputDevice"
            Identifier	"Generic Keyboard"
            Driver		"keyboard"
            Option		"CoreKeyboard"
            Option		"XkbRules"	"xfree86"
            Option		"XkbModel"	"pc104"
            Option		"XkbLayout"	"us"
        EndSection

        Section "InputDevice"
            Identifier	"Configured Mouse"
            Driver		"mouse"
            Option		"CorePointer"
            Option		"Device"		"/dev/psaux"
            Option		"Protocol"		"PS/2"
            Option		"Emulate3Buttons"	"true"
            Option		"ZAxisMapping"		"4 5"
        EndSection
        Section "InputDevice"
            Identifier	"Generic Mouse"
            Driver		"mouse"
            Option		"SendCoreEvents"	"true"
            Option		"Device"		"/dev/input/mice"
            Option		"Protocol"		"ImPS/2"
            Option		"Emulate3Buttons"	"true"
            Option		"ZAxisMapping"		"4 5"
        EndSection

        Section "Device"
            Identifier	"Generic Video Card"
            Driver		"nv"
        EndSection

        Section "Modes"
            Identifier "16:10"
            # 1280x800 @ 75.00 Hz (GTF) hsync: 62.62 kHz; pclk: 107.21 MHz
            Modeline "1280x800"  107.21  1280 1360 1496 1712  800 801 804 835
            # 1280x800 @ 85.00 Hz (GTF) hsync: 71.40 kHz; pclk: 123.38 MHz
            Modeline "1280x800"  123.38  1280 1368 1504 1728  800 801 804 840
            # 1280x800 @ 100.00 Hz (GTF) hsync: 84.80 kHz; pclk: 147.89 MHz
            Modeline "1280x800"  147.89  1280 1376 1512 1744  800 801 804 848
            # 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
            Modeline "1680x1050"  147.14  1680 1784 1968 2256  1050 1051 1054 1087
            # 1680x1050 @ 75.00 Hz (GTF) hsync: 82.20 kHz; pclk: 188.07 MHz
            Modeline "1680x1050"  188.07  1680 1800 1984 2288  1050 1051 1054 1096
            # 1680x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 214.51 MHz
            Modeline "1680x1050"  214.51  1680 1800 1984 2288  1050 1051 1054 1103
            # 1680x1050 @ 100.00 Hz (GTF) hsync: 111.20 kHz; pclk: 256.20 MHz
            Modeline "1680x1050"  256.20  1680 1808 1992 2304  1050 1051 1054 1112
            # 1920x1200 @ 75.00 Hz (GTF) hsync: 93.97 kHz; pclk: 246.59 MHz
            Modeline "1920x1200"  246.59  1920 2064 2272 2624  1200 1201 1204 1253
            # 1920x1200 @ 85.00 Hz (GTF) hsync: 107.10 kHz; pclk: 282.74 MHz
            Modeline "1920x1200"  282.74  1920 2072 2280 2640  1200 1201 1204 1260
            # 1920x1200 @ 100.00 Hz (GTF) hsync: 127.10 kHz; pclk: 337.58 MHz
            Modeline "1920x1200"  337.58  1920 2072 2288 2656  1200 1201 1204 1271
        EndSection

        #Section "Monitor"
        #	Identifier	"Generic Monitor"
        #	HorizSync	28-50
        #	VertRefresh	43-75
        #	Option		"DPMS"
        #EndSection
        Section "Monitor"
            Identifier "Generic Monitor"
            VendorName "Generic"
            ModelName "Generic LCD Screen"
            HorizSync 31.5-90
            VertRefresh 60
            UseModes "16:10"
            ### modeline generated by gtf(1) [handled by XFdrake]
            ##ModeLine "1680x1050_85"  214.51  1680 1800 1984 2288  1050 1051 1054 1103  -HSync +Vsync
            #
            ## modeline generated by gtf(1) [handled by XFdrake]
            #ModeLine "1680x1050_75"  188.07  1680 1800 1984 2288  1050 1051 1054 1096  -HSync +Vsync
            #
            ## modeline generated by gtf(1) [handled by XFdrake]
            #ModeLine "1680x1050_60"  147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync
            #
            ## modeline generated by gtf(1) [handled by XFdrake]
            #ModeLine "1680x1050_50"  120.21  1680 1776 1952 2224  1050 1051 1054 1081  -HSync +Vsync
        EndSection

        Section "Screen"
            Identifier	"Default Screen"
            Device		"Generic Video Card"
            Monitor		"Generic Monitor"
            DefaultDepth	24
            SubSection "Display"
                Depth		24
                Modes		"1680x1050" "1280x1024" "1152x864" "1024x768" "800x600" "720x400" "640x480"
                ViewPort		0 0
            EndSubSection

        EndSection

        Section "ServerLayout"
            Identifier	"Default Layout"
            Screen		"Default Screen"
            InputDevice	"Generic Keyboard"
            InputDevice	"Configured Mouse"
            InputDevice	"Generic Mouse"
        EndSection

        Section "DRI"
            Mode	0666
        EndSection