尚观linux研究室 linux驱动程序全解析

Click here to load reader

Upload: hangejnu

Post on 21-Jan-2015

803 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

  • 1. Linux - Linux V2 2006 Linux - Linux IDE SCSI IDE ModemADSL PPP 1 Linux - Linux IDE 1 IDE PC IDE SCSI IDE IDE dmesg # dmesg | less Linux CPU PCI IDE Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 IDE IDE Intel ICH4 IDE ICH4: chipset revision 1ICH4: not 100% native mode: will probe irqs lateride0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio

2. ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:DMA, hdd:pio 3 block IDE IO ide0 at 0x1f0-0x1f7,0x3f6 on irq 14ide1 at 0x170-0x177,0x376 on irq 15 IDE IDE ide UDMA 100 ATA100100M/S hda: attached ide-disk driver.hda: host protected area => 1hda: 78140160 sectors (40008 MB) w/7898KiB Cache, CHS=4864/255/63, UDMA(100)ide-floppy driver 0.99.newidePartition check:hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 >/dev/hda IDE block 3/0 /dev/hda1 block 3/1 , /dev/hdb IDE , block3/64 163 /dev/hda5 /dev hda1hda32 32 mknod /dev/hdc IDE /dev/hdd IDE 2 IDE IDE 2.4.20-8 VIA VT8237 IDE ATA133 VIA 3. http://www.viaarena.com/?PageID=297#ATA # rpm -ivh kernel-source-.i386.rpm patch # tar xzvf VIA IDE ATA133 Patch 8237 ver0.8.gz patch cp /usr/src # cp -patch- /usr/src( Kernel Version Linux OS Linux )# cd /usr/src# patch -p0 < XXX-patch-XXX patch # cd /usr/src/Linux- Makefile "EXTRAVERSION=" "EXTRAVERSION=-test"# cp /boot/config-XXX .config# make menuconfig ( config xconfig ) "ATA/IDE/MFM/RLL support/IDE,ATA and ATAPI Block devices" "VIA82CXXXchipset support"# make dep 2.6 # make clean# make bzImage 4. # make modules# make modules_install2.6 make install # cp arch/i386/boot/bzImage ( vmlinuz-test) /boot/vmlinuz-test# cp /boot/initrd-< Kernel Version >.img /boot/initrd-test.img /boot/grub/grub.conf title Linux-testkernel /boot/vmlinuz-test ro root=/dev/hda1initrd /boot/initrd-test.imgLinuxtest"VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 Controller on pci00:0f.1"# hdparm i /dev/hda:Model=IC25N040ATCS05-0, FwRev=CS4OA63A, SerialNo=CLP429F4HALVPAConfig={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4BuffType=DualPortCache, BuffSize=7898kB, MaxMultSect=16, MultSect=16CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78140160IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}PIO modes: pio0 pio1 pio2 pio3 pio4 5. DMA modes: mdma0 mdma1 mdma2UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 AdvancedPM=yes: mode=0x80 (128) WriteCache=enabledDrive conforms to: ATA/ATAPI-5 T13 1321D revision 3: signifies the current active mo ATA133# hdparm -d1 /dev/hda ( enable DMA )# hdparm -d0 /dev/hda ( disable DMA )# hdparm -X70 /dev/hda ( UDMA 6 -ATA133 )-X 16~18 SDMA 0~2,32~34 MDMA 0~2,64~70 UDMA 0~6. /etc/rc.d/rc.sysinit /etc/rc.d/rc.local ATA133 3 nforce AMD64 nforce NVIDIA rpm tar rpm nforce Linux http://www.nvidia.com/object/Linux_nforce_1.0-0275.html rpm # rpm ivh NVIDIA_nforce.athlon.rpm SuSE RedHat .src.rpm 6. # rpm -ivh NVIDIA_nforce.src.rpm # cd /usr/src/redhat/SPECS# rpmbuild -bb NVIDIA_nforce.specs rpm # cd /usr/src/redhat/RPM/i386/ i686,noarch rpm # rpm -ivh NVIDIA_nforce.i386.rpmrpmLinux - Linux1ATA/IDE/MFM/RLL IDE/ATAPI CDROM support# dmesg |grep CDhdc: HL-DT-STCD-RW/DVD-ROM GCC-4240N, ATAPI CD/DVD-ROM driveUniform CD-ROM driver Revision: 3.12 CD/DVD-ROM SCSI SCSI SCSI makemenuconfig xconfig SCSI support SCSI support Y M Y M SCSI CD-ROM 7. support Y MSCSI generic support Y MSCSI 3 CD/DVD 2.62.4 ide-scsi CD DVD Linux CD DVD CD/DVD-ROM ide-scsi IDE SCSI IDE SCSI grub bootloader IDE /dev/hdc/boot/grub/grub.conf kernel /boot/vmlinuz-2.XXX ro root=/dev/hda1 hdc=ide-scsikernel /boot/vmlinuz-2.XXX ro root=/dev/hda1 hdc=ide-scsi /etc/modules.conf ide-cdignore="hdc" ide-scsi ATA/IDE/MFM/RLL IDE/ATAPI CDROM suppor SCSI CD/DVD-ROM SCSI CD DVD # mkisofs -Jv -V examplecd -o example.iso /root/ 8. /root/ example.iso examplecd# mkdir /mnt/iso# mount t iso9660 o loop example.iso /mnt/iso/mnt/iso /mnt/iso # umount /mnt/iso cdrecord # cdrecord scanbus SCSI Cdrecord 2.0 (i686-pc-Linux-gnu) Copyright (C) 1995-2002 Jrg SchillingLinux sg driver version: 3.1.25Using libscg version schily-0.7cdrecord: Warning: using inofficial libscg transport code version (schily - RedHat-scsi-Linux-sg.c-1.75-RH @(#)scsi-Linux-sg.c1.75 02/10/21Copyright 1997 J. Schilling).scsibus0: 0,0,00) HL-DT-ST RW/DVD GCC-4240N E112 Removable CD-ROM 0,1,01) * 0,2,02) * 0,3,03) * 0,4,04) * 9. 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * SCSI # cdrecord -v -eject speed=24 dev=0,0,0 example.isospeed=24 24 dev= SCSI 3 SCSI Adaptec SCSI RAID 3200S SCSI RAID RAID SCSI SCSI SCSI SCSI SCSI Linux SCSI SCSI SCSI Linux Red Hat 1 Adaptec Adaptec SCSI RAID 3200S Red Hat 9 http://www.adaptec.com/worldwide/support/driverdetail.jsp?sess=no&language=English+US&cat=/Product/ASR-3200S&filekey=dpt_i20-drv_2.5.0-rh9-i686.img .img 2 Linux # dd if=dpt_i20-drv_2.5.0-rh9-i686.img of=/dev/fd0 10. # cat dpt_i20-drv_2.5.0-rh9-i686.img > /dev/fd0 windows Red Hat /CDROM/dosutils/rawrite.exe 3 Red Hat boot boot: Linux dd driver disk4 initrd ramdisk SCSI SCSI RAID IDE SCSI modprobe insmod SCSI 1 # lspci -v | grep -i i2o PCI 2 Adaptec http://www.adaptec.com/worldwide/support/driverdetail.jsp? sess=no&language=English+US&cat=/Product/ASR-3200S&filekey=dpt_i20- drv_2.5.0-rh9.rpm # rpm ivh dpt_i20-drv_2.5.0-rh9.rpm # modprobe dpt_i2o3 /dev/sda /dev/md0 4 Linux - Linux 11. 1 Linux Linux TCP/IP Linux Windows TCP/IP mount /etc/modules.conf# cat /etc/modules.confalias eth0 8139tooalias sound-slot-0 i810_audiopost-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :alias usb-controller usb-uhcialias usb-controller1 ehci-hcd 8139too 8139 eth0 eth0 /lib/modules/2.4XXX/ modules.deps # grep 8139too /lib/modules/2.4.21-4.EL/modules.dep/lib/modules/2.XXX/kernel/drivers/net/8139too.o:/lib/modules/2.4.21-4.EL/kernel/drivers/net/mii.o /lib/modules/2.4.21-4.EL/kernel/lib/crc32.o 8139too mii crc32 8139too /lib/modules/2.XXX/kernel/drivers/net/8139too.o/lib/modules/2.XXX/kernel/drivers/net 12. ifconfig IP # ifconfig eth0 192.168.1.1 IP netconfig IP # netconfig# service network restart # /etc/rc.d/init.d/network restart` Linux /etc/rc.d/init.d/network IP /etc/sysconfig/network-scripts/ifcfg-* IP eth0 ifcfg-eth0 eth0 IP # cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=noneIPADDR=192.168.0.1NETMASK=255.255.255.0TYPE=Ethernet eth0 192.168.0.1 IP # cat /etc/sysconfig/network-scripts/ifcfg-eth0:1DEVICE=eth0:1ONBOOT=yesBOOTPROTO=noneIPADDR=192.168.1.1 13. NETMASK=255.255.255.0TYPE=Ethernet ifcfg-eth0:1 eth0 IP 192.168.1.1 IP DEVICE=eth0:1 2 Linux - Linux 3COM 3CR990 2.6 .ko /lib/modules/2.4.XXX/kernel/drivers/net 3COM 3CR990 3COM 2.4 http://support.3com.com/infodeli/tools/nic/Linux/3c990-1.0.0a.tar.gz #t tar xvfz 3c990-1.0.0a.tar.gz # make 3c990.o # modprobe ./3c990.o /etc/modules.conf /lib/modules/2.XXX/modules.dep # echo alias eth0 3c990 >> /etc/modules.conf# cp ./3c990.o /lib/modules/2.XXX/kernel/drivers/net#echo /lib/modules/2.XXX/kernel/drivers/net/3c990.o: >>/lib/modules/2.XXX/modules.deps3 100M mii-tool 10BaseT 100BaseTx 10M/100M 1000BaseT mii-tool # mii-tool 14. eth0: negotiated 100baseTx-FD flow-control, link ok 100baseTx # mii-tool -veth0: negotiated 100baseTx-FD flow-control, link ok product info: vendor 00:08:18, model 22 rev 2 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control# mii-tool -F 10baseT-FD eth0 eth0 10baseT-FD 10M # mii-tool -Rresetting the transceiver... eth0 eth0 Linux - Linux Modem ADSL PPP 1 Modem Modem Modem Modem Linux /dev/ttyS* COM1 /dev/ttyS0 COM Modem 15. # echo AT > /dev/ttyS0 Modem TR Modem COM1 /dev/ttyS1 Modem Modem PPP pppd Linux /etc/ppp ppp ftp://cs.anu.edu.au/pub/software/ppp ppp-on ppp-on-dialer /etc/ppp ppp-on TELEPHONE=270 ISP ACCOUNT=userISP PASSWORD=123 LOCAL_IP=0.0.0.0 PPP IP 0.0.0.0 ISPREMOTE_IP=0.0.0.0 IP 0.0.0.0NETMASK=255.255.255.0export TELEPHONE ACCOUNTPASSWORDDIALER_SCRIPT=/etc/ppp/ppp-on-dialerexec /usr/sbin/pppd lock modem crtscts /dev/ttyS0 115200 COM asyncmap 0 kdebug4 $LOCAL_IP:$REMOTE_IP noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT chmod 700 ppp-on# ./ppp-on 16. Linux Red Hat Linux redhat-config-network 1 1 redhat-config-network X-windowgnome kde 2 Modem Modem Modem Dell D600 Modem http://www.Linuxant.com/drivers/hsf/full/downloads.php rpm # rpm -ivh hsfmodem-6.03.00lnxt04061800full_k2.4.21_4.EL-1rh.i686.rpmConfig for modem unit 0: /dev/ttySHSF0Device instance: 0-PCI-8086:24c6-14f1:5422HW revision : CXT22HW profile name: hsfmc97ich 17. Registration ID: 115C-247C-BFC0License owner : unknownLicense key : FREELicense status : FREE (max 14.4kbps data only)Current region : CHINA (T.35 code: 0026) The /dev/modem alias (symlink) points to /dev/ttySHSF0 /dev/ttySHSF0 /dev/modem ttyS # ls /dev/ttyS0 -lcrw-rw---- 1 root uucp4, 64 Sep 15 2003 /dev/ttyS# ls /dev/ttySHSF0 -lcrw-rw-rw-1 rootroot 240, 64 Jun 29 02:36 /dev/ttySHSF0 /dev/ttySHSF0 COM 240 modem ttyS Modem PPP Modem /dev/modem 3ADSL ADSL PPP PPP PPPoE PPP over Ethernet ADSL modem PPPoE ADSL rp-pppoe Linuxsir http://www.Linuxsir.org/postnuke/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=242 rpm 18. http://www.neweasier.com/software.html?class=4 # ./go go PPPoE # adsl-start# ifup ppp0 SysV # chkconfig --list adsladsl0:off 1:off 2:off 3:off 4:off 5:off 6:off# chkconfig adsl on ADSL rp-pppoe X-window neatredhat-config-network 2 19. 2 X Window Red Hat Linux PPPoE Linux ADSL 3 New VPNethISDNmodem 20. 4 xDSL PPPoE xDSL ADSL DSL PPPoE LAN Forward 21. 5 ADSL LAN /etc/sysconfig/network-scripts/ ifcfg-ppp0# ifup ppp0 ADSL 6 22. 6 PPPoE PPP0 Activate LAN LAN ADSL PPPoE ADSL rp-pppoe redhat-config-network Troubleshooting1 ifconfig IP PPP0 ifup ppp0 IP ifconfig 23. eth0 192.168.1.1 netconfig IP DNS service network restart 2 IP ping 211.XXX DNS /etc/resolv.conf nameserver DNS 3 ping IP route n route del/add netconfig Modem/dev/ttyS PPP Modem 24. Linux - Linux Linux Windows Linux Windows Linux Linux USBIEEE1394PCMCIA USB 1 USB USB Universal Serial Bus 1994 Intel NEC CompaqDECIBM USB PS2 4 USB USB Linux USB USB USB1.1 12Mbps 2.4 USB2.0 USB1.1 1.1 40 480Mb/s 2.0 2.4.19 USB2.0 USB USB Linux USB /lib/modules/2.4XXX/kernel/drivers usb USB usbcore.o USB host/ehci-hcd.o USB2.0 host/usb-uhci.o Intel VIA USB host/usb-ohci.o Compaq iMac SiS Ali intel USB storage/usb-storage.o USB U hid.o USB 25. # ls -p /lib/modules/2.4.21-4.EL/kernel/drivers/usb/ acm.oCDCEther.o hpusbscsi.o microtek.o rtl8150.o usbcore.o wacom.o audio.odabusb.o kaweth.o pegasus.o scanner.o usb-midi.o brlvger.o hid.o kbtab.o powermate.o serial/ usbnet.o catc.o host/ mdc800.oprinter.o storage/ uss720.o scanner.o USB audio.o USB Linux USB usbcore USB USB USB usbcore ehci-hcd usb-uhci # lsmod Module Size Used byNot tainted hid22212 0 (unused) input 5888 0 [keybdev mousedev hid] ehci-hcd20104 0 (unused) usb-uhci26412 0 (unused) usbcore79392 1 [hid ehci-hcd usb-uhci] USB USB USB 26. # modprobe usbcore # modprobe ehci-hcd # modprobe usb-uhci # modprobe hid USB USB USB USB USB USB /lib/modules/2.XXX/kernel/drivers/usb/storage/usb-storage.o SCSI USB USB SCSI SCSI SCSI SCSI /lib/modules/2.XXX/kernel/drivers usb-storage.oUSB scsi_mod.o SCSI sd_mod.o SCSI USB sr_mod.o SCSI USB sg.o SCSI ide-scsi.o IDE SCSI /lib/modules/2.XXX/modules.dep /dev/sd? sda1 USB 27. usb.c: USB device 7 (vend/prod 0xea0/0x6803) is not claimed by any activedriver. Starting timer : 0 0 Vendor: NetacModel: OnlyDisk Rev: 1.11 Type: Direct-AccessANSI SCSI revision: 02 Starting timer : 0 0 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sda: 32256 512-byte hdwr sectors (17 MB) sda: Write Protect is off usb-storage.o SCSI sda # fdisk l /dev/sda Disk /dev/sda: 16 MB, 16515072 bytes 2 heads, 32 sectors/track, 504 cylinders Units = cylinders of 64 * 512 = 32768 bytesDevice BootStartEndBlocks Id System /dev/sda1 * 1 503160801 FAT12 # mkdir /mnt/usb # mount t msdos /dev/sda1 /mnt/usb FAT12 /mnt/usb umount # umount /mnt/usbUSB 28. Linux USB Linux 1. Red Hat Linux gtkam 100 gtkam Red Hat 9 gtkam rpm # ls gtkam*gtkam-XXXX.i386.rpm gtkam-gimp-XXXX.i386.rpm# rpm ivh --aid gtkam*# rpm ivh --aid --force gphoto2-XXXX.i386.rpm gtkam gphoto gtkam gphoto gphoto X gtkam # gtkam 29. 1 gtkam camera Add Camera Detect OK 30. 2 gtkam Kodak DX6340 gtkam http://sourceforge.net/project/showfiles.php?group_id=8874&release_id=209817 install.sh 1. USB # mount t vfat /dev/sda1 /mnt/usb Kodak DX6340 USB usb.c: USB device 2 (vend/prod 0x40a/0x570) is not claimed by any activedriver. a) lsmod USB # modprobe ehci-hcd; modprobe usb-uhci; modprobe usb-storage# modprobe ide-scsi; modprobe scsi_mod; modprobe sd_mod b) cat /proc/bus/usb/devices USB VendorProdIDProduct C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mAI: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hubE: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255msT: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1P: Vendor=040a ProdID=0570 Rev= 1.00 31. S: Manufacturer=Eastman Kodak CompanyS: Product=KODAK EasyShare DX6340 Zoom Digital CameraS: SerialNumber=KCKCJ33400274 Linux usb-storage.o SCSI usb-storage skel_probe USB USB usb-storage USBP: Vendor=040a ProdID=0570 Rev= 1.00S: Manufacturer=Eastman Kodak CompanyS: Product=KODAK EasyShare DX6340 Zoom Digital Camera/proc/bus/usb USB USB /proc/bus/usb# mount -t usbdevfs none /proc/bus/usb c) drivers/usb/storage/unusual_devs.h USB UNUSUAL_DEVidVendor, idProduct, bcdDeviceMin, bcdDeviceMax,vendor_name,product_name,use_protocol, use_transport, init_function,Flags).Usb-storage.o /proc/bus/usb/devices usb-storage 32. UNUSUAL_DEV( 0x040a, 0x0570, 0x0001, 0x0001,"Eastman Kodak Company","KODAK EasyShare DX6340 Zoom Digital Camera",US_SC_SCSI, US_PR_CB, NULL,US_FL_FIX_INQUIRY |US_FL_START_STOP |US_FL_MODE_XLATE ), usb-storage idVendor, idProduct d) U USB # make dep # make modules # make modules_install Linux - Linux USB USB OV511 USB OV511 1. Red Hat kernel.org # rpm ivh kernel-source-2.XXX.rpm # tar zxvf Linux-2.XXX.tar.gz 2. # make menuconfig 33. # make xconfig Xwindow 3. USB 1 3 USB support 2 34. 4 USB support OV511 USB OV511 4.# make dep 35. # make modules# make modules_install 5. # modprobe ehci-hcd# modprobeusb-uhci# modprobe ov511cat /proc/devices gnomemeeting /dev/video0 /dev/video1 Linux - Linux USB USB USB USB SCSI /dev/sr0 /dev/scd0 sr_mod.oSCSI CD-ROM # modprobe sr_mod sr_mod SCSI # mount t iso9660 /dev/scd0 /mnt/cdrom 8 Linux # mkisofs -Jv -V examplecd -o example.iso /root/ /root/ example.iso examplecd# mkdir /mnt/iso# mount t iso9660 o loop example.iso /mnt/iso/mnt/iso /mnt/iso 36. # umount /mnt/iso cdrecord # cdrecord scanbus SCSI Cdrecord 2.0 (i686-pc-Linux-gnu) Copyright (C) 1995-2002 Jrg SchillingLinux sg driver version: 3.1.25Using libscg version schily-0.7cdrecord: Warning: using inofficial libscg transport code version (schily - RedHat-scsi-Linux-sg.c-1.75-RH @(#)scsi-Linux-sg.c1.75 02/10/21Copyright 1997 J. Schilling).scsibus0: 0,0,00) HL-DT-ST RW/DVD GCC-4240N E112 Removable CD-ROM 0,1,01) * 0,2,02) * 0,3,03) * 0,4,04) * 0,5,05) * 0,6,06) * 0,7,07) * SCSI # cdrecord -v -eject speed=24 dev=0,0,0 example.isospeed=24 24 dev= SCSI DVD dvdrecord cdrecord Red Hat 37. # rpm -ivh dvdrecord-0.1.2-12.i386.rpm# man dvdrecordUSB USB Red Hat Linux mouseconfig USB 3 # mouseconfig 5 mouseconfig USB # modprobe hid# modprobe input # modprobe usbmouse# modprobe mousedevUSB 38. # modprobe hid # modprobe input# modprobe usbkbd # modprobe keybdevIEEE1394 Linux IEEE1394 Firewirei-LinkSony USB 400Mb/s USB2.0 480Mb/s Firewire USB2.0 DV USB Firewire Firewire 1394 PCI 1394 1394 2.4.10 IEEE1394 # ls /lib/modules/2.XXX/kernel/drivers/ieee1394 amdtp.o dv1394.o ieee1394.o raw1394.o video1394.o cmp.o eth1394.o ohci1394.o sbp2.o2.6 .ko USB 1394 ieee1394.o 1394 ohci1394.o 1394 DV 1394 video1394.o DV I/O dv1394.o 1394 CD-ROM SBP-2 sbp2.o 1394 eth1394.o # cd /usr/src/Linux-2.XXX # make xconfig IEEE1394 6 39. 6 IEE1394 # make dep# make modules# make modules_install 1394 ieee1394.o ohci1394.o# modprobe ohci1394 ohci1394 ieee1394 sbp2.o USB 40. SCSI sda # mkdir /mnt/1394# mount t vfat /dev/sda1 /mnt/1394 1394 /dev/scd0 sbp2 SCSI scsi_mod.o SCSI sd_mod.o SCSI sr_mod.o SCSI sg.o SCSI USB google USB 1. /dev/sda1 /dev/sda /dev/sda2 sda3 fdisk l /dev/sda 2. SCSI USB /dev/sda sdb sdc sd 3. /dev/sd # modprobe ehci-hcd; modprobe usb-uhci; modprobe usb-storage.o# modprobe ide-scsi; modprobe scsi_mod.o; modprobe sd_mod.o 41. 4. /proc/devices ov511 /proc/devices # cat /proc/devices Character devices: 81 video_capture C 81 ov511 /usr/src/Documentation/devices.txt c 81 81 charvideo4Linux0 = /dev/video0 Video capture/overlay device ... Linux Linux Linux X Window MS Windows XWindow Linux 1 XWindow 42. X Server Client X X Client X ServerX Server X Client C/S X Server Client Windows X Server Linux Client KDE GNOME Windows 1 Windows X Server 1 Windows X Server Xmanager 1.3.9 Windows XP X Server Linux startkde kde Windows XP X 1984 X 11 X11X11 X11R6 startx XWindow Server Client startx XFree86 Linux X Server X Client startkdeKDE 43. gnome-sessionGNOME X X ServerLinux X Server XFree86 X Client XFree86 /usr/X11R6 XFree86 /usr/X11R6/bin XFree86 /usr/X11R6/lib/modules/drivers XFree86 # ls /usr/X11R6/lib/modules/drivers *_drv.o sis_drv.o SIS /etc/X11 X /etc/X11/XF86Config XF86Config-4 XFree86 XF86Config-4 XFree86 /usr/X11R6/lib/modules/drivers XWindow Intel 855GM X XFree86 XFree86 4.3.4.4 4.3 XFree86 http://xfree86.Linuxforum.net/4.3.0/RELNOTES2.html#3XFree86 http://www.xfree86.org/downloads.html http://xfree86.Linuxforum.net/downloads.html http://www.redflag-Linux.com/source/download/XFree86_driver4.3.tgz tgz 44. # tar zxvf XFree86_driver4.3.tgz # sh install.sh2 Intel i865G Intel i865G Linux X XFree86 4.3 Intel http://downloadfinder.intel.com/scripts-df/support_intel.asp?iid=HPAGE+header_support_download& RPM tar.gz X RPM # rpm Uvh --force intelgraphics_20040607_i386.rpm / rpm tar.gz # tar xzvf IntelGraphics_060704.tar.gz # cd dripkg # ./install.sh /usr/X11R6/modules/drivers/i810_drv.o i865G XF86Config Red Hat 45. # redhat-config-xfree86 2 redhat-config-xfree86 46. 2 redhat-config-xfree86 Advanced Video Card Configure Red Hat8.0 # Xconfigurator /etc/X11/XF86Config XFree86 Linux RedHat # vi /etc/X11/XF86Config XF86Config-4 Section "Device"Identifier "Videocard0" 47. Driver"i810" i810_drv.oVendorName "Videocard vendor"BoardName "Intel 865"EndSection Driver i810 i810_drv.o Section "Monitor"Identifier "Monitor0"VendorName "Monitor Vendor"ModelName"Unknown monitor"HorizSync31.5 - 37.9VertRefresh 50.0 - 70.0Option "dpms"EndSection15Section "Screen"Identifier "Screen0"Device"Videocard0"Monitor "Monitor0"DefaultDepth 16SubSection "Display" 48. Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSectionEndSection"1024x768" 16XF86Configmanpage# man XF86ConfigXFree86XF86Config# XFree86 -configureXFree86 XF86Config.new # XFree86 -xf86config ~/XF86Config.newX Server ~/XF86Config.new X ctlaltBackspaceX# cp ~/XF86Config.new /etc/X11/XF86Config X startx XttyXShellgdm Gnome 49. kdm KDE xdm XFree86ShellShellXLinuxXIntel815Intel815rpmhttp://downloadfinder.intel.com/scripts-df/filter_results.asp?strOSs=39&strTypes=DRV%2CARC&ProductID=797&OSFullName=Linux*&submit=Go%21# rpm ivh xfcom_i810-1.2-3.i386(1).rpm# redhat-config-xfree86# startxX1.GeForce FX 6800NVIDIAGeForce FX 6800DOOM3X NVIDIAhttp://www.nvidia.com/object/Linux.htmlNVIDIALinuxNVIDIA-Linux-x86-1.0-6106-pkg1.runtui# chmod 700 NVIDIA-Linux-x86-1.0-6106-pkg1.run# ./ NVIDIA-Linux-x86-1.0-6106-pkg1.run.NVIDIAXFree86 50. kernel# rpm ivh kernel-sourceXXX.rpm Red Hat# tar zxvf Linux-2.XXX.tar.gz kernel.org# ./ NVIDIA-Linux-x86-1.0-6106-pkg1.run. --kernel-source-path=i865 redhat-config-xfree86 XFree86 configure /etc/X11XF86ConfigNVIDIA# ./ NVIDIA-Linux-x86-1.0-6106-pkg1.run x ./NVIDIA-Linux-x86-1.0-6106-pkg1/usr/share/doc XF86Config.exampleXF86Config2ATI 9800 http://www2.ati.com/drivers/Linux/fglrx-4.3.0-3.11.1.i386.rpm fglrx-4.3.0-3.11.1.i386.rpm# rpm -Uvh --force fglrx-4.3.0-3.11.1.i386.rpm /# fglrxconfigATIXF86Config-4 , y 51. # startx X# fglrxinfo 3NVIDIAhttp://www.nvidia.com/object/Linux.htmlATIhttp://www.ati.com/support/driver.html ATIVIA http://www.viaarena.com/?PageID=296SIS http://www.mypcera.com/qu/2/soft1/xsis.rpmIntel http://downloadfinder.intel.com/scripts-df/support_intel.asp?iid=HPAGE+header_support_download&Intel http://downloadfinder.intel.com/scripts-df/filter_results.asp?strOSs=39&strTypes=DRV%2CARC&ProductID=922&OSFullName=Linux*&submit=Go%21ATI XFree86 XFree86 .4.3 4.4 ATIM9000 SIS 4 grub boot loader # vi /boot/grub/grub.conf kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/ vga=0x314 52. vga kernel 0x314 16 314 10 788vga788 vga0x314 kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/ vga=0x314 Linux 800x600 vga 640x480 800x600 1024x768 1280x1024256 0x301 0x303 0x305 0x30716 0x3110x314 0x317 0x31A24 0x3120x315 0x318 0x31B lilo boot loader/etc/lilo.conf append append=" root=LABEL=/ vga0x314"# lilo v MBR Linux - Linux X X 1 ctlaltBackspace X /etc/X11/XF86Config-4 XF86Config redhat-config-xfree86 XFree86 configure2 XF86Config redhat-config-xfree86 XFree86 configure3 zorro su joan joan startx exit joan shell startx4 kde gnome X 53. /tmp X 5 redhat-config-xfree86 XFree86 configure6 xfs xfs X # service xfs start # /etc/rc.d/init.d/xfs start chkconfig xfs onLinux /lib/modules/2.XXX/kernel/drivers/sound/# ls /lib/modules/2.XXX/kernel/drivers/sound/ac97_codec.ocs4232.oforte.o uart401.oac97.o cs4281 i810_audio.o via82cxxx_audio.oad1848.o cs46xx.o maestro3.oymfpci.oad1889.o emu10k1rme96xx.oaudigy es1370.osoundcore.ocmpci.o es1371.o sound.o /etc/modules.conf /etc/rc.d/rc.sysinit Red Hat Linux kudzu VIA 8237 54. VIA http://www.viaarena.com/?PageID=294 LinuxAudiov230.gz # tar xzvf LinuxAudiov230.gz src.rpm # rpmbuild --rebuild viaudiocombo-2.2-3.src.rpm rpmbuild # rpm --rebuild viaudiocombo-2.2-3.src.rpm# cd /usr/src/RPM/RPMS/iX86. ( X )# rpm ivh --force viaudiocombo-2.2-3.iX86.rpmIntel i810_audio.o Linux Linux - Linux Linux IntelVIA Linux Linux LinuxALSA Advanced Linux Sound Architecture , GPL Linux http://www.alsa-project.org/ OSS Open Sound System UNIX Linux http://www.opensound.com/ ALSA A ALSA 1 http://www.alsa-project.org/alsa-doc/ details Soundblaster Audigy details Red Hat kernel-sourceXXX.rpm 55. kernel.org # rpm ivh kernel-soureXXX.rpm# tar zxvf kernel-2.XXX.tar.gz# cd /usr/src/Linux2.XXX/ # cp /boot/config-2.XXX ./.config 2 http://www.alsa-project.org/alsa/ftp/driver/ alsa-dirver-1.0.6rc1.tar.bz2 http://www.alsa-project.org/alsa/ftp/lib/ alsa-lib-1.0.6rc1.tar.bz2 http://www.alsa-project.org/alsa/ftp/utils/ alsa-utils-1.0.6rc1.tar.bz23# cd /usr/src# mkdir alsa# cd alsa# cp alsa* ./ # tar -xjvf alsa-driver-1.0.6rc1.tar.bz2# cd alsa-driver-1.0.6rc1# ./configure --with-cards=emu10k1 --with-sequencer=yes; # make # make install # chmod a+rw /dev/dsp /dev/mixer /dev/sequencer /dev/midi 56. lib utils # cd ..# tar -jxvf alsa-lib-1.0.6rc1.tar.bz2# cd alsa-lib-1.0.6rc1# ./configure# make# make install# cd ..# tar -jxvf alsa-utils-1.0.6rc1.tar.bz2# cd alsa-utils-1.0.6rc1# ./configure# make# make install4# vi /etc/modules.conf alias char-major-116 snd alias snd-card-0 snd-emu10k1# module options should go here alias char-major-14 soundcore alias sound-slot-0 snd-card-0alias sound-service-0-0 snd-mixer-ossalias sound-service-0-1 snd-seq-oss 57. alias sound-service-0-3 snd-pcm-ossalias sound-service-0-8 snd-seq-ossalias sound-service-0-12 snd-pcm-oss ALSA ALSA mixer #./audunmute#amixer-c0sset Master,0100%,100% unmute# amixer -c 0 sset PCM ,0 100% unmute/etc/modules.conf 100%post-install snd-card-0 amixer -c 0 sset Master,0 100%,100% unmute &&amixer -c 0 sset PCM ,0 100% unmuteB OSS 1 http://www.opensound.com/download.cgi OSS 2.4 2.6 2.4 ftp://www.se.opensound.com/pub/oss/Linux/oss3991e-Linux-x86-v24.tar.gz2# tar zxvf oss3991e-Linux-x86-v24.tar.gz#./oss-install modprobe r rmmod Linux Linux 58. insmod modprobe /etc/modules.conf /etc/modules.conf Linux Linux /etc/conf.modules, options snd-card-0io=0x300 irq=5 io