#!/bin/sh # # # vlautosetup - Created by Tony Brijeski # # released under the GPL2 license (c)2003 if [ $DISPLAY != "" ]; then DCMD="Xdialog --wrap" CMD="rxvt -e " else DCMD="dialog" CMD="" fi $DCMD --backtitle "VectorLinux Hardware Auto Setup" --title \ "VectorLinux Hardware Auto Setup" --infobox \ "\n Probing the hardware...Please wait until completed" 5 60 if [ -f /etc/sysconfig/vector ]; then rm -rf /etc/sysconfig/* fi if [ ! -f /etc/sysconfig/kudzu ]; then echo "SAFE=yes" > /etc/sysconfig/kudzu fi /sbin/vlsetup 1>/dev/null 2>/dev/null if [ ! -f /etc/sysconfig/vector ]; then $DCMD --backtitle "VectorLinux Hardware Auto Setup" --title \ "VectorLinux Hardware Auto Setup" --msgbox \ "\n Hardware Probe Failed...Press Enter to Return" 5 60 exit fi . /etc/sysconfig/vector if [ "$MOUSE0_DEVICE" != "" ]; then ln -sf $MOUSE0_DEVICE /dev/mouse mousesetup="1" fi if [ -x /usr/X11R6/bin/XFree86 ]; then if [ "$XMODULE" != "" ]; then /sbin/vlmkxf86cfg xf86setup="1" fi fi # # Added for PCMCIA socket detection # wile_coyote was here # pcmcia="" if [ "$SOCKET0_DRIVER" != "" ]; then if [ "$SOCKET0_DRIVER" = "yenta_socket" -o "$SOCKET0_DRIVER" = "i82365" -o "$SOCKET0_DRIVER" = "tcic" ]; then pcmcia="1" fi if [ ! -x /etc/rc.d/rc.pcmcia ]; then chmod +x /etc/rc.d/rc.pcmcia fi fi # # End PCMCIA section # if [ "$NETCARD0_DRIVER" != "" ]; then if [ -f /etc/rc.d/rc.netdevice ]; then rm -f /etc/rc.d/rc.netdevice fi cat /etc/modules.conf | grep -F "eth0" | grep -F "$NETCARD0_DRIVER" >/dev/null if [ $? != "0" ]; then echo "alias eth0 $NETCARD0_DRIVER" >> /etc/modules.conf echo "alias eth0 $NETCARD0_DRIVER" >> /etc/modprobe.conf networkcard="1" fi /sbin/netconfig fi ##fi # This one looks like the extra one that was causing the error if [ "$NETCARD1_DRIVER" != "" ]; then cat /etc/modules.conf | grep -F "eth1" | grep -F "$NETCARD1_DRIVER" >/dev/null if [ $? != "0" ]; then echo "alias eth1 $NETCARD1_DRIVER" >> /etc/modules.conf echo "alias eth1 $NETCARD1_DRIVER" >> /etc/modprobe.conf networkcard="2" fi fi if [ "$networkcard" = "" ]; then $DCMD --title "NO NETWORK CARD DETECTED" --yesno \ "No network card was detected on your system. This sometimes happens with laptop users depending on pcmcia services or if your using a modem connection.\n If you need to setup your network connection for a laptop say yes here. Modem users can say no." 10 60 if [ $? = "0" ]; then /sbin/netconfig fi fi /usr/sbin/alsaconf soundsetup="1" #start looking for cd devices fstab="/etc/fstab" rm -f /dev/cdrom 2>/dev/null rm -f /dev/cdwriter 2>/dev/null rm -f /dev/dvd 2>/dev/null p="/proc/ide" # # I'm setting up an array to be used later # declare -a cdtype # # This is where the device discovery and symbolic links in /dev get set up. # NOTE: The cdwriter will always win as THE burning device...the cdrom will always win as the cdrom device for i in hda hdb hdc hdd do if [ -d $p/$i ] then cd $p/$i if [ `cat media` = "cdrom" ] then CDDEVICE=`cat model` case $CDDEVICE in `cat model|grep "CDRW"` | `cat model|grep "CD-RW"` | `cat model|grep "CD/R"` | `cat model|grep "CD/RW"` ) echo "Configuring /dev/"$i" as a cdwriter..." if [ -f /dev/cdwriter ] then ln -sf /dev/$i /dev/cdwriter else ln -sf /dev/$i /dev/cdwriter fi if [ ! -f /dev/cdrom ] then ln -s /dev/$i /dev/cdrom 2>/dev/null fi cdtype[0]="cdwriter" cd1t="CD-DVD/WRITER" cd1="1" CDWRITER="$i" ;; `cat model|grep "DVDRW"` | `cat model|grep "DVD-RW"` | `cat model|grep "DVDR"` | `cat model|grep "DVD/RW"` | `cat model|grep "DVD+R"` | `cat model|grep "DVD+RW"` ) echo "Configuring /dev/"$i" as a dvdwriter..." if [ ! -f /dev/cdwriter ] then ln -s /dev/$i /dev/cdwriter 2>/dev/null fi if [ ! -f /dev/cdrom ] then ln -s /dev/$i /dev/cdrom 2>/dev/null fi if [ ! -f /dev/dvd ] then ln -s /dev/$i /dev/dvd 2>/dev/null fi cdtype[1]="dvdwriter" DVDWRITER="$i" cd1t="CD-DVD/WRITER" cd1="1" ;; `cat model|grep "CD-ROM"` | `cat model|grep "CDROM"` | `cat model|grep "CD"` ) echo "Configuring /dev/"$i" as a cd-rom..." if [ -f /dev/cdrom ] then ln -sf /dev/$i /dev/cdrom else ln -sf /dev/$i /dev/cdrom fi cdtype[2]="cdrom" CDROM="$i" cd2t="CD-DVD/ROM" cd2="1" ;; `cat model|grep "DVDROM"` | `cat model|grep "DVD-ROM"` | `cat model|grep "DV"` ) echo "Configuring /dev/"$i" as a dvd-rom..." if [ -f /dev/dvd ] then ln -sf /dev/$i /dev/dvd else ln -sf /dev/$i /dev/dvd fi if [ ! -f /dev/cdrom ] then ln -s /dev/$i /dev/cdrom 2>/dev/null fi cdtype[3]="dvdrom" DVDROM="$i" cd2t="CD-DVD/ROM" cd2="1" ;; * ) if [ `dmesg | grep "$i" | grep RW` ] then echo "Configuring /dev/"$i" as a cdwriter..." if [ -f /dev/cdwriter ] then ln -sf /dev/$i /dev/cdwriter else ln -sf /dev/$i /dev/cdwriter fi if [ ! -f /dev/cdrom ] then ln -s /dev/$i /dev/cdrom 2>/dev/null fi cdtype[4]="cdwriter" cd1t="CD-DVD/WRITER" cd1="1" CDWRITER="$i" elif [ `dmesg | grep "$i" | grep DVD | grep ROM` ] then echo "Configuring /dev/"$i" as a dvd-rom..." if [ -f /dev/dvd ] then ln -sf /dev/$i /dev/dvd else ln -sf /dev/$i /dev/dvd fi if [ ! -f /dev/cdrom ] then ln -s /dev/$i /dev/cdrom 2>/dev/null fi cdtype[5]="dvdrom" DVDROM="$i" cd2t="CD-DVD/ROM" cd2="1" else echo "Configuring /dev/"$i" as a cd-rom..." if [ -f /dev/cdrom ] then ln -sf /dev/$i /dev/cdrom else ln -sf /dev/$i /dev/cdrom fi cdtype[6]="cdrom" CDROM="$i" cd2t="CD-DVD/ROM" cd2="1" fi esac fi fi done # # This writes any needed items to /etc/fstab # # NOTE: If both a cdwriter and a dvdwriter are found, the cdwriter get's an entry in /etc/fstab but the # dvdwriter does not. If a cdrom and a dvdrom exist, the cdrom will win as the cdrom in /etc/fstab. # # Order of importance: # R/RW ROM # cdwriter 1 3 # dvdwriter 2 4 # cdrom n/a 1 # dvdrom n/a 2 # # if [ `echo ${cdtype[*]} | grep -o "cdwriter"` ] 2>/dev/null then echo "/dev/$CDWRITER /mnt/cdwriter subfs fs=auto,user,ro 0 0" >> $fstab fi if [ ! `echo ${cdtype[*]} | grep -o "cdwriter"` -a `echo ${cdtype[*]} | grep -o "dvdwriter"` ] 2>/dev/null then echo "/dev/$DVDWRITER /mnt/cdwriter subfs fs=auto,user,ro 0 0" >> $fstab fi if [ `echo ${cdtype[*]} | grep -o "cdrom"` ] 2>/dev/null then echo "/dev/$CDROM /mnt/cdrom subfs fs=auto,user,ro 0 0" >> $fstab fi if [ ! `echo ${cdtype[*]} | grep -o "cdrom"` -a `echo ${cdtype[*]} | grep -o "dvdrom"` ] 2>/dev/null then echo "/dev/$DVDROM /mnt/cdrom subfs fs=auto,user,ro 0 0" >> $fstab fi autosetup="" if [ "$mousesetup" = "1" ]; then autosetup="\n MOUSE=$MOUSE0_FULLNAME \n" fi if [ "$xf86setup" = "1" ]; then autosetup="$autosetup XFree86 4.3.0 \n" fi if [ "$pcmcia" = "1" ]; then autosetup="$autosetup PCMCIA Slot(s)=$SOCKET0_FULLNAME \n" fi if [ "$networkcard" = "1" ]; then autosetup="$autosetup NetCard Driver=$NETCARD0_FULLNAME \n" fi if [ "$networkcard" = "2" ]; then autosetup="$autosetup NetCard Driver=$NETCARD0_FULLNAME \n" autosetup="$autosetup NetCard Driver=$NETCARD1_FULLNAME \n" fi if [ "$soundsetup" = "1" ]; then autosetup="$autosetup Sound Card=$SOUND_FULLNAME\n" fi if [ "$cd1" = "1" ]; then autosetup="$autosetup CDROM1=$cd1t\n" fi if [ "$cd2" = "1" ]; then autosetup="$autosetup CDROM2=$cd2t\n" fi $DCMD --backtitle "VectorLinux Hardware Auto Setup" --title \ "VectorLinux Hardware Auto Setup" --msgbox \ "Automatic Hardware Setup Complete \n\ The Following Items have been automatically setup: \n \n $autosetup \n\ \n\ Press Enter to Return" 15 76