driverdisk.txt Driver File Contents (VIA_20APC-200_20APC-201_20APC-202.zip)

This is the document describes how I install linux onto our RAID controller.
If you have any suggestion/questions, contact me with dolpherdu@viatech.com.cn

Here is what you should know before we can begin.
a). Kernel for installation(boot from CDROM) is not the same as the normal 
 kernel, so we need to compile drivers for both kernel version. For example,
 for redhat9.0, the kernel from CDROM boot is 2.4.20-8BOOT, but after
  installation, boot from hard disk, the kernel version is 2.4.20-8. We will
  use XXXX to refer to the kernel version number.
b). Before installation, we must load the driver for BOOT kernel, to recognize
 our hard disk. The method is not standard for different linux vendors.
c). After installation, we need to boot from hard disk. Because kernel is 
 installed on our RAID hard disk, we must load driver module before kernel 
 init. This is done by a image file "initrd", the initrd is a filesystem image
 which should contain the driver information.
   We can see this initrd file under /boot/ directory, and boot loader(both 
 grub and lilo) have an option "initrd = ourinitrdfile".
   After installation, we should add our driver module to this initrd file, 
 unfortunately, the method is not standard too.
 
That's all. We'll discuss the details for each specific linux.

1). RedHat 9.0
          There is a standard way to create RedHat driver disk, I've put it 
        into a script, dd.sh, which has been mentioned in the readme.txt.
          a). run ./dd.sh, you will get a image file named viamraid.img
          b). Insert a blank floppy, and run
               #dd if=driverdisk/viamraid.img of=/dev/fd0
             the driver disk is ready.
          c). Install RedHat9.0, boot from RH9.0 cd, when it prompt: "boot:",
           type "linux expert", then following the install instructions.
             
2). Mandrake 9.1
        1. modify dd.sh, search "BOOTPARA",and change it.
            BOOTPARA="-e BOOT=1" --> BOOTPARA="-e NOMODVER=1"
        2. ./dd.sh -->get 2 file, here XXX is version number, DO remeber to 
        replace it with the real version number, for mdk9.1, XXX is
        2.4.21-0.13mdk
               driverdisk/viamraid.o.XXXBOOT
               driverdisk/viamraid.o.XXX
        3. copy the normal driver to system module path 
          note: If there is no directory named misc, create it yourself.
          #cp viamraid.o.XXX /lib/modules/XXX/misc/viamraid.o
        4. make a initrd image file, which include our driver. 
          #mkinitrd initrdraid.img --preload scsi_mod --preload sd_mod --preload viamraid XXX
        5. insert a floppy, ext2 format,and 
          mount /dev/fd0 /mnt/floppy
          cp driverdisk/viamraid.o.XXXBOOT /mnt/floppy/viamraid_BOOT.o
          cp initrdraid.img /mnt/floppy/
          umount /dev/fd0
        
        Then, driver disk OK
        
        Install
         1. when boot from install CD, press F1, and input
            linux expert
         2. when prompted for a "third part driver", insert the floppy,
          press OK, and choose viamraid_BOOT.o to install.
         3. install normally untill the last step, prompted for reboot, do NOT
          reboot now, press CTRL-ALT-F2 to the second terminal 
          and insert the floppy disk then, replace the default initrd.img file
          with the one we prepared.(here, assume your root
          filesystem has been mounted on /mnt)
           mount /dev/fd0 /mnt/mnt
           cp /mnt/mnt/initrdraid.img /mnt/boot/initrd.img
          
         5. press CTRL-ALT-F7 back to install screen, and press reboot.

3). SuSE 8.2
         1. compile a driver for i386 CPU type, this is for BOOT kernel.
           #cd /usr/src/linux
           #make menuconfig ;change the CPU type here to i386
           #make dep
          back to our source code directory, make a driver
           #make
          copy viamraid.o to a floppy disk.(VFAT)
           #mount /dev/fd0 /mnt/floppy
           #cp viamraid.o /mnt/floppy/viamraid_BOOT.o
        2. compile a driver for your current CPU
           #cd /usr/src/linux
           #make menuconfig ;change the CPU type according to your CPU.
           #make dep
          back to our source code directory, make a driver
           #make
          copy viamraid.o to a floppy disk.(VFAT)
           #cp viamraid.o /mnt/floppy/viamraid.o
        3. boot from cdrom, when prompt to select language, press
          CTRL-ALT-F2, insert the floppy, run
            #mkdir aa
            #mount /dev/fd0 /aa
            #insmod /aa/viamraid_BOOT.o
          press CTRL-ALT-F7 to continue
        4. after reboot, when prompt to select language, do (3) again
          when prompt where to boot from, select "Boot installed system".
        5. when asked to enter password for root, press CTRL-ALT-F2,
           #mount /dev/fd0 /media/floppy
           #cp /media/floppy/viamraid.o /lib/modules/`uname -r`/misc/
           #vi /etc/sysconfig/kernel  ;change varialbe INITRD_MODULES to
               ;include viamraid like this: INITRD_MODULES="viamraid reiserfs"
           #mkinitrd
           #umount /dev/fd0
          press CTRL-ALT-F7 to finish the normal install.

Note: For VIA K8 Platform, please complier the two CPU type driver all named as "viamraid.o" and copy two floppy to install OS.

4). RedFlag 4.0
        Driver disk for RedFlag is the same as RedHat, but the RedFlag4.0
        kernel source is strange, we cannt build a suitable driver for BOOT, 
        whatever compile option we use.
        
         The kernel version for RedHat9.0 and RedFlag4.0 is the same,both
        2.4.20-8. but the symbols version is not the same.
        And I found that, the BOOT kernel for RedFlag4.0 and RedHat9.0 is the 
        same, so I use the driver made for RedHat9.0 to install.
         1.compile a driver for install using RedHat9.0 source
          #make  clean
          #make -e BOOT=1
          #cp viamraid.o driverdisk/viamraid.o-2.4.20-8BOOT
         2.compile a driver for normal boot using RedFlag4.0 source
          #make clean
          #make 
          #cp viamraid.o driverdisk/viamraid.o-2.4.20-8
         3.make a driverdisk using the above 2 files, same way as RedHat.
          using the following shell script. Note, the RedFlag driverdisk must 
          be VFAT filesystem.
        #!/bin/bash
        MODNAME=viamraid
        BASE=`uname -r`
        
        cd driverdisk
        #make the driverdisk image
        mkdir mountpoint
        mkdir workdir
        dd if=/dev/zero of=${MODNAME}.img bs=1k count=512
        echo y |mkdosfs ${MODNAME}.img
        mount -o loop ${MODNAME}.img mountpoint
        cd mountpoint
        echo "${MODNAME}.o:scsi_mod.o sd_mod.o" >modules.dep
        echo "0x1106	0x3249	\"${MODNAME}\"	\"VIATECH|VIA VT6421 RAID Controller\"" >pcitable
        echo "0x1106	0x3149	\"${MODNAME}\"	\"VIATECH|VIA VT6420 RAID Controller\"" >>pcitable
        echo "0x1106	0x3164	\"${MODNAME}\"	\"VIATECH|VIA VT6410 RAID Controller\"" >>pcitable
        echo "Version 0" > modinfo
        echo "${MODNAME}" >> modinfo
        echo "    scsi" >> modinfo
        echo "    \"Raid controller,VIA technologies.\"" >> modinfo
        echo "1" > rhdd-6.1
        cd ../workdir
        mkdir ${BASE}BOOT
        mkdir ${BASE}
        cp ../${MODNAME}.o-${BASE}BOOT ${BASE}BOOT/${MODNAME}.o
        cp ../${MODNAME}.o-${BASE} ${BASE}/${MODNAME}.o
        find -name "*.o" -type f | cpio -o --format=crc | gzip -9 > ../mountpoint/modules.cgz
        cd ..
        umount ${MODNAME}.img
        
         4. viamraid.img is the image file for driver disk.
         5. Insert a blank floppy, and run
               #dd if=driverdisk/viamraid.img of=/dev/fd0
             the driver disk is ready.
         6. Install RedHat9.0, boot from RH9.0 cd, when it prompt: "boot:",
           type "linux expert", then following the install instructions.
             
         

5). Mandrake 9.2
        1. prepare a blank floppy, format it to VFAT file system.
        2. compile 2 driver, for BOOT and for UP, in the driver source directory
         #mount /dev/fd0 /mnt/floppy
         #make 
         #cp viamraid.o /mnt/floppy/viamraid_up.o
         #make clean
         #make -e NOMODVER=1
         #cp viamraid.o /mnt/floppy/viamraid_BOOT.o
        3. copy the patch.pl file to the floppy
         #cp patch.pl /mnt/floppy/
         #umount /mnt/floppy
        4. the driver disk is OK, when install, after boot from the CD, 
        Press "F1", insert the floppy,
        type "patch", then follow the install instructions.

6). SuSE 9.0 for x86_64
         1. compile a driver for "generic x86_64" CPU type
           #cd /usr/src/linux
           #make menuconfig ;change  CPU type to "generic x86_64".
           #make dep
          back to our source code directory, make a driver
           #make
          copy viamraid.o to a floppy disk.(VFAT)
           #cp viamraid.o /mnt/floppy/viamraid.o
        2. boot from cdrom, when prompt to select language, press
          CTRL-ALT-F2, insert the floppy, run
            #mkdir aa
            #mount /dev/fd0 /aa
            #insmod /aa/viamraid.o
          press CTRL-ALT-F7 to continue
        3. after reboot, when prompt to select language, do (2) again
          when prompt where to boot from, select "Boot installed system".
        4. when asked to enter password for root, press CTRL-ALT-F2,
           #mount /dev/fd0 /media/floppy
           #cp /media/floppy/viamraid.o /lib/modules/`uname -r`/misc/
           #vi /etc/sysconfig/kernel  ;change varialbe INITRD_MODULES to
               ;include viamraid like this: INITRD_MODULES="viamraid reiserfs jbd"
           #mkinitrd                       
          press CTRL-ALT-F7 to finish the normal install.
           ;If system appears "Can't determine dependencies of module viamraidjgb. Is this modules.dep up to date" message. Please CTRL-ALT-F7 to finish the normal install. And run command "mkinitrd" again in terminal.
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web2, load: 0.50