The purpose of this mini-Howto is to ease installation issues when installing Linux on an ASUS A7V motherboard with an integrated Promise ATA 100 controller and configuration issues of XFree86-4.0 with a GE Force 2 MMX video card. These steps were performed during a RedHat 7.0 installation. The issues involving the ATA controller are common to generic linux kernels, but I cannot authoritatively say if the XFree86-4.0 issues are specific for other than RedHat 7.0 and the GE Force 2 MMX video card (there are 4 different models of GE Force 2).
This particular machine consisted of the following hardware:
The owner wanted Windows on this machine, so Windows 98 was installed. Next topic...
Installation of Linux began with an install of RedHat 6.2. I use RH 6.2 for just about everything that I install currently and continued with this trend. I'm omitting several steps here, but the installation went well. I rebooted the machine and the kernel barfed when it tried to do a mode change on the processor. My apologies, but I do not have the specific error message that appeared. I do know that this was using the default RH 6.2 kernel (2.2.14 with RH patches applied). After trying various methods to fix this, I abandoned this route and installed RH 7.0 using the following steps. Quoting from an email in the Mandrake forum
User's Day II: LM 7.2 And Asus A7V With ATA 100 Hard Disk
Contributed by Tom on Friday December 01, @ 07:59AM
from the bleeding-edge dept.
chri writes "Hi, I've finally found a way to install (and use) LM 7.2
with my A7V and an ATA 100 hard disk."
"First, you need to have the Promise driver loaded in Windows. Then,
in the devices manager, find the Promise Ultra 100 IDE controler. In
the last tab of the properties ("ressources" in french), make a note
of the four first I/O addresses (for example, i have 9000,8800,8400
and 8000).
Then, you can boot with the LM 7.2 CD.
At boot, press F1, and choose the "expert" mode with parameters. With
my I/O addresses, I used:
"expert ide2=0x9000,0x8802 ide3=0x8400,0x8002"
(you add 2 for the 2nd and 4th i/o adress).
Now your hd is detected, and you can install Linux.
The last thing to do is to put these parameters in the "append" line
of the lilo configuration (or GRUB's 'menu.lst')
It worked fine for me and I really hope it'll be the same for
everybody ! "
When I looked in Windows configuration, our particular installation used 9400, 9000, 8800, and 8400 (and 8000, but you only need the first four). At the lilo prompt I issued:
text ide2=0x9400,0x9002 ide3=0x8800,0x8402
The booting kernel found the controller and the harddrive (hde). Proceed with your normal partitioning strategy and installation options. When the installation is complete it will reboot.
At the LILO prompt, issue the following command (with addresses modified for your particular Promise I/O configuration):
linux ide2=0x9400,0x9002 ide3=0x8800,0x8402
The kernel will boot and find the controller and harddrive the same way that the install kernel found it. When you get to a login prompt, login as root, then perform:
cd /etc vi lilo.conf (use your favorite text editor)
Make the lilo.conf look similar to this (in other words, add the append line):
image=/boot/vmlinuz-2.2.14-5.0 label=linux append="ide2=0x9400,0x9002 ide3=0x8800,0x8402" read-only root=/dev/hde1 (use whatever is your root partition)
Then rerun lilo to save the changes to the MBR.
/sbin/lilo
Reboot to test it. You should no longer have to pass the parameters to the kernel when you boot. Just type linux at the LILO prompt, or press ENTER, or wait the default time (5 seconds).
The second half of this mini-HOWTO is for configuring the NVIDIA GE Force 2 MMX card for use on your system. The default XFree86-4.0 system comes with a driver for the NVIDIA GE Force 2 video card. It does not work for this configuration. Instead, you must download the source from the following location: http://www.nvidia.com/Products/Drivers.nsf/Linux.html
You will need two packages, NVIDIA_GLX and NVIDIA_kernel. I used the most recent version, 0.9-5. The exact files I downloaded were NVIDIA_GLX-0.9-5.tar.gz and NVIDIA_kernel-0.9-5.tar.gz. I do not recommend the rpm's. The NVIDIA_GLX rpm was compiled for a slightly older kernel version and so installs the kernel module in the wrong place. To compile these drivers, it's easiest to be the root user. To install them, you must be the root user. At the bare minimum, you must have the kernel-source, kernel-headers, the c compiler, development libraries, and a few development utilities. If you installed a workstation, it should all be there. If you don't have them, your issue is beyond the scope of this document. The assumption is that the files were downloaded to /root. The steps I used were:
cd tar -zxvf NVIDIA_GLX* tar -zxvf NVIDIA_kernel* cd NVIDIA_GLX[TAB] ./configure make cd .. cd NVIDIA_kernel[TAB] ./configure make cd /etc vi modules.conf
Add the following line at the end:
options agpgart agp_try_unsupported=1
The install should have also added the following line:
alias char-major-195 NVdriver
Save the file and exit. Then you need to run the following:
depmod -a xf86config
At this point, you enter all the information for your video card and monitor. Do not choose the probe option (probing for color depth) unless you really want to see it fail. You also don't want to try to "test" it, again, unless you want to see it fail. The reason is that the config file that's created will try to use the default (wrong) NVIDIA driver. When the configuration is complete and you get back to a command prompt, do the following:
cd /etc/X11 vi XF86Config
You need to find the following:
Driver "nv"
And change it to:
Driver "nvidia"
Then you need to find the section for the video driver (should be last section in the config file). Find the following line:
Modes "640x480" "800x600" "1024x768" "1400x1172" "1600x1200"
And change the order around. If you don't want the higher modes, you start with the mode that you want X to boot into, such as:
Modes "1024x768" "800x600" "640x480"
Save and exit. You should now be able to run X. A quick test is to type
xinit. If it works correctly, you'll see an xterm pop up on the default X
background and you can type exit to get back to the command prompt. If it
doesn't work correctly, it may be because the required kernel module did not
load properly. Type:
modprobe nvidiaThen try again. Don't be suprised when you see this module use 500KB of memory. Retry the xinit test. No further problems or errors were encountered. Now that it's working, log in as a regular user and type
startx. The system
should now be fully functional.