Dual Boot XP/Suse 9.0 with
GRUB in /root on Dell D800 1920x1200 WUXGA
This site provides information (and
my XF86Config file) to help in setting up a dual boot XP/Linux (Suse 9.0) Dell D800 using GRUB as the bootloader,
locating GRUB in the /root partition of linux rather
than in the MBR (if you wish to put it in the MBR you probably won’t need much help beyond the
installer). The advantages to putting it in the /root partition include leaving
the XP bootloader untouched in the MBR, and the ability to reinstall XP without damaging parts
of Linux and it’s booting utilities.
There are several great D800 links
here on Linux-on-Laptops to help you get Linux running on a D800, such as Mike Hardy’s (linked below for convenience). This site defers to
them for those issues (with the exception of screen resolutions). The Yahoo
forum set up by Mike is the best place to go and where I got the best help, see
his page. My site is specifically here to provide the information I needed and
wish I had been able to find in one place. It describes the steps that finally
worked for me to achieve my specific goal of setting up a dual-boot system in a
particular way. I hope it helps somebody else.
I do address getting WUXGA resolutions working, including 1920x1200. My Dell D800
screen is a WUXGA. While I used the Suse distro, it should generalize
to other distros. You may wish to read this
completely before using it.
My XF86Config file is at the bottom.
For comments, questions, or to report broken links, please email me at jimkk at umich dot edu.
Bon Voyage,
Jim
Good Linux on D800 Websites:
http://mikehardy.net/linux_latitude_d800/ (Mike Hardy)
http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html (referenced below)
http://jutila.net/articles/d800/
http://www.hpcc.uh.edu/~tonyc/latitude/
http://pileouface.org.free.fr//linux/documentation/install_d800.pdf
(French)
Setting up a Dual-Boot Suse/XP D800
with GRUB in /root
1. Partition your drive.
Use the
XP installer CD to create the first two (then format the first two in XP as NTSF), and later when installing Suse
Linux, use the YaST installer to create and format
the rest of the partitions:
(be careful
not to remove the first 39 meg partition put there by Dell containing Dell
diagnostics)
(if you already have XP installed
and don’t want to disturb it, you can shrink the partition it’s on if necessary
using Partition Magic or possibly YaST or other Linux
utilities, then create the additional partitions for Linux. Of course, if you
shrink too much you may lose stuff.)
(change as
desired)
- NTFS 7
gigs for XP
- NTFS 2
gigs for XP swap (page file)
- 7 gigs FAT32 ext3 for /root (heard
complaints about Reiser, may not be a problem)
- 2 gigs FAT32 swap for linux swap
- 28 gig FAT32 data partition (so
that both Linux and XP can write to it. Told there are problems with XP and
FAT32 partitions larger than 32gigs, so I created a 28 and a 10 gig FAT32
partition since I had about 38 gigs for data)
- 10 gig FAT32 data partition
(note I did
not put the boot loader in the first 1024 cylinders, as you must with some
older BIOSs)
2. Install XP in the first partition
using Windows XP CD.
3. Go to http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html,
and follow the steps there exactly. This will include your install (first Suse CD only will be used, then it will reboot; later it
will install the rest of the OS from the remaining CDs). Many
thanks to Ed Park.
a. If desired, an easier way to edit
boot.ini in XP than the one Ed describes:
- start
-> my computer -> properties -> advanced -> startup and recovery
settings -> edit
- change the boot.ini code
- save
b. When I installed, I put linux.bin onto hda7, the 28 gig
partition which I called bigpartition. I could not
put it on a floppy, I got an error "type msdos
not recognized", so I used the available partition, but first you must:
- mount it: Log in as root, or use
the following to become root. All of the following changes require root
privileges. During install you established a root account and at least one user
account….you normally are logged in as the user but if you log out you can log
in as root, or just type:
xhost +localhost (this allows X security to obey a new user in
the existing user’s environment)
su (it will need root password)
whoami
As root, type:
mkdir /mnt/bigpartition
mount /dev/hda7 /mnt/bigpartition
substitute appropriately for hda7 and bigpartition…if you use the Suse
CD’s recovery mode to get a terminal, you can log in as root, then type:
fdisk /dev/hda
then enter the command “p” to see the
partition table to get the label of the partition you want to use.
- edit /etc/fstab, add the line:
/dev/hda7 /mnt/bigpartition
vfat defaults 0 0
(again,
substitute your values for hda7 and bigpartition)
c. It's a
good idea to connect all peripherals etc. before installing...Suse YaST will detect them and
install drivers for them.
d. Ed’s web site describes an XP/Red
Hat system. Suse’s YaST
interface is different from the RH installer but you
can accomplish the same things.
4. Reboot into Linux (should see a
choice of XP or Linux now when booting, use the down arrow to pick Linux), it
will ask to finish the install, finish now with rest of CDs. In YaST, I changed the keyboard from 104 to 105 key
configuration to get the punctuation characters (#$%...)
working, but you may not need to. After the install is complete
it should boot to KDE desktop.
5. Go to the NVIDIA web site www.nvidia.com, to drivers, to linux drivers, download the first
(of four) driver (ia32).
6. Reboot into linux,
before the scroll bar at the menu completes type "3", 3 will appear
in the boot options dialog box, press return, now you will go into run level 3
in a terminal window.
7. Type
rmmod nvidia
(not
necessary unless you already have nvidia driver
installed. I did not use this, but it's in the instructions for installing the driver that are
on the NVIDIA website. These instructions did not work for me; I took the steps
below, under the guidance of Andy at NVIDIA…thank you Andy! )
8. Insert Suse
CD 2, mount it (mount /media/cdrom). The following
rpm is on that CD. For other distros, check with
support if necessary.
9. Type
rpm
/media/cdrom/suse/i586/kernel-source-2.4.21-99.i586.rpm
let rpm install finish.
10. Use YaST
Online Update: type "you".
11. YOU will now see the package you
just installed with the rpm command above, and automatically go and get the
newer version of it (the older one won't let you install the NVIDIA driver). Of
course you have to be connect to the internet.
12. Go to the directory to which you
downloaded the NVIDIA driver.
13. Type
sh [the name of the driver]
14. Click through the program,
installing the driver (let it create the kernel).
15. As root, edit /etc/X11/XF86Config:
change nv to nvidia. There are other changes usually required in
XF86Config, however in the version created in the Suse
install, those other changes were not necessary. If you have trouble, check the
other D800 sites here for details on that first. If SAX pops up and tells you
that it has detected a new card, you should cancel it. If you let it update your configuration, it
will overwrite the changes you’ve just made to your
/etc/X11/XF86Config.
16. Type
startx
you should see KDE
desktop start up.
17. Log in as root. Type:
cd /etc/X11
Now put a copy of the XF86Config
file included below in this directory and name it XF86Config_new_version. Then
type:
cp XF86Config XF86Config_a_safe_copy
cp XF86Config_new_version XF86Config
You now have a safe copy of your old
config file and the version below is your new
XF86Config file.
18. Reboot into KDE.
Open a shell, su to root as describe above, and type
krandrtray
(or you can
open the Suse menu, open Run Command, and type krandrtray)
This will put a little screen icon
in the tray in your command bar. Click on it and you should see several screen
resolution options. If you wish additional resolution options, you must create
a modeline for each of them in the XF86Config file, then add the resolution to the mode line in the screen
section. Explaining how to do this is beyond the scope of this site. To really understand it, read
XFree86-Video-Timings-HOWTO, available at http://www.linux.org/docs/ldp/howto/HOWTO-INDEX/howtos.html.
Note that this document refers to CRT monitors, not LCD monitors. I’ve been
told by Dell tech support that the dangers about harming monitors is not true
for LCD screens since they don’t use a raster gun to paint the screen in lines.
But, the various specifications on the modeline should thus not matter, but I found they did
matter in that I could not get 1920x1200 resolution until I changed the hsync and vsync ranges (increased
them to 110 from the defaults). So I am not clear on
this and recommend you understand it to protect your monitor. There are a couple websites that let you plug in monitor
specs then calculate modelines for you such as
http://xtiming.sourceforge.net/cgi-bin/xtiming.pl. My approach will be to simply google for additional 1.6 ratio resolution (WUXGA screen is 1.6 ratio width/height) modelines
and copy them, or if I get a chance to finish reading the HOWTO,
I may calculate them myself or use the calculator. Choose whatever approach you
feel appropriately prudent.
Note the following file differs from
the one generated during the Suse install only in the
monitor, screen, and modes sections. These I copied from one posted by Ralf Krzyzaniak (may the
angel of good fortune smile upon Ralf) and available here:
To these
sections I added additional resolutions (modeline and
resolution in modes) and increased the vsync and hsync range maximums to 110 (why it worked for Ralf and not
me probably has something to do with his generosity).
copyright © 2004 Jim Kroger
XF86Config file
This file is also available as a
text file at:
http://www.psych.nmsu.edu/~jkroger/linux/XF86Config.txt
----------------------------- XF86Config ----------------------------------
# /.../
# SaX generated XFree86 config file
# Created on: 2004-02-10T01:
#
# Version: 4.7
# Contact: Marcus Schaefer <sax@suse.de>, 2002
#
# Automatically generated by [ISaX] (4.7)
# PLEASE DO NOT EDIT THIS FILE!
#
Section "Files"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/URW"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/PEX"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/kwintv"
FontPath "/usr/X11R6/lib/X11/fonts/truetype"
FontPath "/usr/X11R6/lib/X11/fonts/uni:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/CID"
FontPath "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/hellas/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/xtest"
InputDevices "/dev/ttyS0"
InputDevices "/dev/ttyS1"
InputDevices "/dev/ttyS2"
InputDevices "/dev/ttyS3"
InputDevices "/dev/ttyS4"
InputDevices "/dev/ttyS5"
InputDevices "/dev/ttyS6"
InputDevices "/dev/ttyS7"
InputDevices "/dev/ttyS8"
InputDevices "/dev/psaux"
InputDevices "/dev/logibm"
InputDevices "/dev/sunmouse"
InputDevices "/dev/atibm"
InputDevices "/dev/amigamouse"
InputDevices "/dev/atarimouse"
InputDevices "/dev/inportbm"
InputDevices "/dev/gpmdata"
InputDevices "/dev/mouse"
InputDevices "/dev/usbmouse"
InputDevices "/dev/adbmouse"
InputDevices "/dev/input/mice"
InputDevices "/dev/input/event0"
InputDevices "/dev/pointer0"
InputDevices "/dev/pointer1"
InputDevices "/dev/pointer2"
InputDevices "/dev/pointer3"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail"
EndSection
Section "Module"
Load "glx"
Load "type1"
Load "speedo"
Load "extmod"
Load "dbe"
Load "v4l"
Load "freetype"
EndSection
Section "InputDevice"
Driver "Keyboard"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbLayout" "us"
Option "XkbModel" "pc105"
Option "XkbRules" "xfree86"
EndSection
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "ButtonNumber" "3"
Option "Buttons" "5"
Option "Device" "/dev/mouse"
Option "Name" "Autodetection"
Option "Protocol" "PS/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection
##
Section "Monitor"
Option "CalcAlgorithm" "CheckDesktopGeometry"
HorizSync 30-110
Identifier "Monitor[0]"
ModelName "1920x1200@60HZ"
VendorName "--> LCD"
VertRefresh 40-110
Option "DPMS"
UseModes "Modes[0]"
EndSection
Section "Modes"
Identifier "Modes[0]"
ModeLine "1920x1200" 162 1920 1984 2176 2480 1200 1201 1204 1250 +hsync +vsync
ModeLine "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 +hsync
+vsync
Modeline "1600x1024" 198.832 1600 1712 1888 2176 1024 1027 1030 1075 +hsync +vsync
ModeLine "1440x900" 130 1440 1452 1572 1896 900 901 904 937 +HSync +VSync
ModeLine "960x600" 60 960 968 1048 1264 600 601 603 625 +HSync +VSync
# Modeline "1920x1200" 186.57 1920 2048 2256 2592 1200 1201 1204 1241
# Modeline "1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -HSync
-VSync
# Modeline "1600x1200" 202.50 1600 1664 1856 2160 1200 1201 1204 1250
EndSection
Section "Screen"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1200" "1680x1050" "1600x1024" "1440X900" "960X600"
# Modes "1920x1200" "1680x1050" "1600X1224" "1440X900" "1366X768" "1280X800" "960X600"
EndSubSection
# SubSection "Display"
# Depth 15
# Modes "1024x768"
# EndSubSection
# SubSection "Display"
# Depth 16
# Modes "1600x1200"
# EndSubSection
# SubSection "Display"
# Depth 32
# Modes "1024x768"
# EndSubSection
# SubSection "Display"
# Depth 8
# Modes "1024x768"
# EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
##
Section "Device"
BoardName "GeForce4 4200 Go"
BusID "1:0:0"
Driver "nvidia"
Identifier "Device[0]"
Screen 0
VendorName "NVidia"
EndSection
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection
Section "DRI"
Group "video"
Mode 0660
EndSection
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
|
|