Õª Òª
¡¡¡¡Linux ÔÚ·þÎñÆ÷¡¢Ç¶Èëʽϵͳ¡¢Òƶ¯ÖÕ¶ËϵͳµÈÐí¶àÁìÓò¶¼µÃµ½Á˹㷺µÄÓ¦Ó㬵«ÊÇÔÚ×ÀÃæ¼ÆËã»úÁìÓò£¬È´ÓÉÓÚ Windows ¢¶ÏµÈ¿Í¹ÛÔÒòʼÖÕÄÑÒÔÆÕ¼°¡£
¡¡¡¡¶Ô×ÀÃæ¼ÆËã»úÓû§À´Ëµ£¬Linux µÄÒ»¸öÑÏÖØ²»×ã¾ÍÊÇÓ²¼þÇý¶¯Ö§³ÖÌ«ÉÙ£¬Çý¶¯µÄ°²×°Ê¹Óò»·½±ã¡£ÏÖÓÐ Linux ²Ù×÷ϵͳÖеÄÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅ乤¾ß¹¦Äܵ¥Ò»¡¢½çÃæ¼òª£¬ÎÞ·¨Âú×ãÆÕͨÓû§ÒªÇó¡£
¡¡¡¡¿ªÔ´ÉçÇø Linux ·¢Ðаæ×Ô´øµÄÓ²¼þÇý¶¯¹ÜÀí¹¤¾ß Driver Manage£¬½öÖ§³Önvidia ºÍ ATI µÄ±ÕÔ´ÏÔ¿¨Çý¶¯°²×°£¬Ä¿Ç°ÎªÖ¹»¹Ã»ÓÐÒ»¿î Linux ·¢ÐаæÓµÓÐÕæÕýÒâÒåµÄ×Ô¶¯»¯Çý¶¯ÊÊÅ乤¾ß¡£±¾¿ÎÌâÖ÷Òª¹¤×÷°üÀ¨£ºÕë¶Ô Linux ²Ù×÷ϵͳÏà¹Ø¿ÎÌâʵʩÏÖ×´ºÍÓ¦ÓÃÈȵ㣬µ÷ÑÐ Linux ÏÂÓ²¼þ¼ì²â»úÖÆ¡¢ÍâÉèÈȲå°ÎÔÀí£¬Éè¼ÆÊÊÓ¦±¾¹¤¾ßÐèÒªµÄÓ²¼þ¼ì²â·½·¨£»¶Ô±Èµ÷ÑÐ Windows ÏÂÓ²¼þÇý¶¯¹ÜÀí¹¤¾ßµÄ²Ù×÷·½Ê½£»ÉîÈëÑо¿ Linux ÏÂÇý¶¯ÊÊÅä²ßÂÔ£¬Éè¼ÆÓ²¼þÓëÇý¶¯ÊÊÅä·½°¸£»×îºóÔÚ³ä·ÖÑо¿·ÖÎöµÄ»ù´¡É϶ÔÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳ½øÐÐʵÏÖ£¬¹¦ÄܰüÀ¨±¾»ú/ÍâÉèÇý¶¯¼ì²â¡¢Çý¶¯°²×°¡¢Çý¶¯¸üС¢Çý¶¯±¸·Ý¡¢Çý¶¯»¹ÔºÍÇý¶¯Ð¶ÔØ£¬Á¦ÇóΪ LinuxÖÕ¶ËÓû§½â¾öÉ豸Çý¶¯°²×°À§ÄÑ¡¢Éý¼¶À§ÄÑ¡¢¹ÜÀíÀ§ÄѵÈʵ¼ÊÎÊÌâ¡£
¡¡¡¡±¾¿ÎÌâʵÏÖµÄÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäÏµÍ³Ìæ´úÔÓеÄÓ²¼þÇý¶¯¹ÜÀí¹¤¾ßDriver Manage¡¢Ìî²¹ÁË Linux ÏÂÇý¶¯ÕâÒ»¿éµÄ¶Ì°å£¬Í¬Ê±£¬ÔÚ¼æ¹ËÓû§¾ÉÓеÄWindows ²Ù×÷ϰ¹ßµÄ»ù´¡ÉÏ´ïµ½Á¼ºÃµÄÓû§Ìå¼ì£¬´Ù½øÁË Linux ×ÀÃæ¼ÆËã»ú²Ù×÷ϵͳµÄÆÕ¼°ÓëÍÆ¹ã¡£
¡¡¡¡¹Ø¼ü´Ê£ºLinux£¬Ó²¼þ¼ì²â£¬Çý¶¯£¬Çý¶¯ÊÊÅä
Abstract
¡¡¡¡Linux has been widely used in many fields, such as server, embedded system, mobile terminal system and so on. However, in the field of desktop computer, it is still difficult to popularize because of the objective reasons such as the monopoly of Windows. For the desktop computer users, a serious shortage of Linux is the hardware driver support is too little, installation and usage of the drivers is not convenient. The existing tools of hardware detection and driver adaptation in Linux operating system have too little functions, and the inerfaces are not friendly, which can not meet the requirements of users.
¡¡¡¡The open source community Linux distribution comes with the hardware driver management tool Driver Manage, closed source graphics only NVIDIA and ATI support the driver installation, there is no automatic which Linux distributions have real meaning of driving adaptation tools. The main work of this paper includes: Based on Linux operating system related project implementation status and application of hot research, Linux hardware detection mechanism, hot swappable peripherals principle, hardware design to adapt to the detecting method of the tool needs; contrast research Windows hardware driver management tool mode of operation; the in-depth study of Linux driver adaptation strategy, hardware design and driving adaptation scheme; finally based on the analysis on the basis of the adaptation and drive system to realize the function of hardware detection, including machine / peripheral driver detection, driver installation, driver updates, drive backup, restore and driveDriverUnload, strive for the user to solve the Linux terminal device driver installation is difficult, difficult to upgrade and management the difficulties.
¡¡¡¡This thesis realized the hardware detection and drive adapter system to replace the original hardware driver management tool Driver Manage, the Linux driver to fill the short board, this one at the same time, the foundation of the old Windows operating habits of users on the user to achieve good examination, promote the popularization and promotion of Linux desktop computer operating system.
¡¡¡¡Key Words: Linux, hardware detection, driver, driver adaptation
¡¡¡¡±¾ÎÄÑо¿µÄÊÇ Linux ƽ̨ÏÂÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳµÄÉè¼ÆÓëʵÏÖ¡£¸Ãϵͳ´Ó½â¾ö Linux Óû§ÔÚ°²×°Ê¹ÓÃÉ豸ʱÓöµ½µÄÇý¶¯°²×°ÄÑ¡¢Çý¶¯²»ºÃÓõÄÎÊÌâ³ö·¢£¬Ì½ÇóÓ²¼þ¼ì²âµÄ¿É¿¿»úÖÆºÍÇý¶¯ÊÊÅäµÄͨÓ÷½·¨£¬²ÉÓÃ×ÀÃæÓ¦ÓóÌÐòÓëÍøÂç·þÎñ¶ËÏà½áºÏµÄ·½Ê½£¬ÊµÏÖÁËÒ»¸öÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳ¡£Ó²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳµÄ¿Í»§¶Ë¿ÉÖ±½Ó¼¯³ÉÖÁ²Ù×÷ϵͳÖУ¬»òÕßÒÔ deb °ü[35]µÄÐÎʽÌṩ¸øÓû§°²×°£¬»òÕßͨ¹ý Linux Ïà¹ØÃüÁî»ò¹¤¾ß½« deb ת»»ÎªÆäËü¸ñʽ¹©·Ç debian ϵͳʹÓá£
¡¡¡¡Linux ƽ̨ÏÂÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳµÄÑо¿ÄÚÈÝÊÇ£º
¡¡¡¡£¨1£©Ñо¿ Linux ÄÚºËÇý¶¯Ô´Â룬Á˽âÇý¶¯¿ò¼Ü»úÖÆ£¬Öصã·ÖÎöÓ²¼þÉ豸½ÓÈëʱ£¬ÄÚºËÄ£¿é¼ÓÔØÇý¶¯µÄ¹ý³Ì£¬´ÓÖÐÌáÁ¶³öͨÓõÄÇý¶¯ÊÊÅä·½°¸£»£¨2£©Ñо¿Ó²¼þ¼ì²â¼¼ÊõºÍ¹¤¾ß£¬¶ÔÓ²¼þ¼ì²â½á¹û½øÐÐÓÅ»¯¹ýÂ˼ӹ¤´¦Àí£¬ÒÔÇó×îºóչʾ¸øÓû§µÄÓ²¼þÐÅϢ׼ȷ¡¢¼ò½àÃ÷ÁË¡¢Ò×¶®£»£¨3£©Ñо¿ÈȲå°Î¼¼Êõ£¬Á˽âÓû§Ì¬ºÍÄÚºË̬ͨÐŵķ½·¨£¬ÒÔʵÏÖÓÐÍâÉè½ÓÈë»ò°Î³öʱ£¬ÏµÍ³×Ô¶¯ÌáʾÓû§ÓÐÉ豸½ÓÈë»ò°Î³ö¡£µ±ÓÐÍâÉè½ÓÈëʱ£¬Èô¸ÃÉ豸Çý¶¯ÒѰ²×°£¬Ôò×Ô¶¯Æ¥ÅäÇý¶¯£¬¼´²å¼´Ó㻵±¸ÃÉ豸Çý¶¯Î´°²×°Ê±£¬Òýµ¼Óû§Ò»¼ü°²×°£»£¨4£©Ñо¿ deb °ü½á¹¹ºÍ´ò°ü·½·¨£¬ÒԱ㽫¿Í»§¶Ë´ò³É deb °ü¹©ÏµÍ³¼¯³É»òÓû§°²×°£»£¨5£©Ñо¿ APT ÍøÂçÔ´ºÍ±¾µØÔ´µÄ´î½¨·½·¨£¬Ñо¿ APT Ô´Ö§³Ö¶à°æ±¾Èí¼þ°üµÄ·½·¨¡£APT ÍøÂçÔ´ÓÃÓÚÁªÍøÓû§Í¨¹ýÍøÂç°²×°Çý¶¯£»APT ±¾µØÔ´Ö÷ÒªÕë¶ÔÕþ¸®²¿·ÖµÈÃô¸ÐÓû§ÔÚ·ÇÁªÍøÇé¿ö°²×°Çý¶¯£»APT Ô´ÐèÒªÖ§³Ö¶à°æ±¾Èí¼þ°üÉÏ´«£¬ÒÔÂú×ãÓû§Éý¼¶Çý¶¯¡¢»¹ÔÇý¶¯µÄÐèÇ󣻣¨6£©Ñо¿Çý¶¯°²×°/Ð¶ÔØ½Å±¾¼¼Êõ£¬±ãÓÚ¶ÔÊÐÃæÉÏÒÑÓеIJ»¹æ·¶µÄÇý¶¯°ü½Å±¾½øÐиĽø£¬ÊµÏÖÇý¶¯Ò»¼ü°²×°¡¢Éý¼¶¡¢Ð¶Ôع¦ÄÜ¡£
¡¡¡¡µÚ 1 Õ Ð÷ÂÛ¡£Ö÷Òª½éÉÜÂÛÎĵÄÑо¿±³¾°ÓëÒâÒ壬·ÖÎö¹úÄÚÍâ Linux ÏÂÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳµÄÑо¿ÏÖ×´£¬²¢²ûÊö±¾ÎĵÄÖ÷ÒªÑо¿ÄÚÈݼ°Õ½ڰ²ÅÅ¡£
¡¡¡¡µÚ 2 Õ ¹Ø¼ü¼¼ÊõÑо¿¡£°üÀ¨ debian ϵͳÏÂÇý¶¯Ä¿Â¼·ÖÎö¡¢¡¢Ó²¼þ¼ì²â¼¼Êõ·ÖÎö¡¢Çý¶¯ÊÊÅä¼¼Êõ·ÖÎö¡¢ÈȲå°Î¼¼Êõ·ÖÎöµÈ¡£
¡¡¡¡µÚ 3 Õ ÐèÇó·ÖÎöÓëÕûÌåÉè¼Æ¡£±¾ÕÂÊ×ÏÈÃ÷È·ÁËϵͳµÄʵÏÖÄ¿±ê£¬ÂÛÎĵÄ×ÅÑ۵㲻ÔÚÇý¶¯µÄ¿ª·¢¶øÔÚÇý¶¯µÄÊÊÅä¡¢°²×°ºÍÐ¶ÔØ£»·ÖÎöϵͳµÄÓû§½ÇÉ«ºÍÒµÎñÂß¼£»Ï¸»¯/²ð·Ö¹¦ÄÜÐèÇó£¬È·¶¨»ù±¾µÄÐÔÄÜÐèÇó£»¶ÔϵͳµÄÕûÌåµÄ¼Ü¹¹¡¢¹¤×÷Á÷³Ì½øÐвûÊö£¬È·¶¨ÏµÍ³ÕûÌåʵÏÖ·½°¸²¢½øÐÐÊý¾Ý¿âÉè¼Æ¡£
¡¡¡¡µÚ 4 Õ ÏêϸÉè¼ÆºÍʵÏÖ¡£±¾Õ½éÉÜϵͳ¿Í»§¶Ë¡¢·þÎñ¶ËµÄÏêϸÉè¼ÆÓëʵÏÖ¡£Öصã²ûÊö¿Í»§¶Ë¿ò¼ÜÉè¼Æ¡¢Ö÷Òª¹¦ÄÜʵÏÖÒÔ¼°·þÎñ¶ËµÄ¿ò¼ÜÉè¼Æ¡¢Ö÷Òª¹¦ÄÜÄ£¿éʵÏÖ¡¢·þÎñ¹¹½¨¹ý³ÌºÍºÍ¿Í»§¶Ë½»»¥¹¦ÄܵÄʵÏÖ¡£
¡¡¡¡µÚ 5 Õ ʵ¼ÊÓ¦ÓÃÓëЧ¹ûչʾ¡£±¾Õ½éÉÜ Linux ƽ̨ÏÂÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳÔÚʵ¼ÊÉú»îÖеÄÓ¦Óð¸Àý£¬Õ¹Ê¾ÁËϵͳ´Ó°²×°µ½Ê¹Óõĸ÷¸ö¹¦ÄܽçÃæ£¬¶ÔϵͳÐÔÄܽøÐмòÒªÆÀ¹À²âÊÔ¡£
¡¡¡¡µÚ 6 Õ ½áÂÛÓëÕ¹Íû¡£¶ÔÒÑÍê³ÉµÄ Linux ƽ̨ÏÂÓ²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳ½øÐÐ×ܽᣬ²¢Ö¸³öºóÐøÐèÍêÉÆÓëÉîÈëµÄ·½ÏòÒÔ¼°¶ÔδÀ´µÄÑо¿¹¤×÷µÄÕ¹Íû¡£
¡¡¡¡Ó²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳÉè¼Æ²¿·Ö¹¦ÄÜÑÝʾ£º
ºǫ́µÇÂ¼Ò³Ãæ
ºǫ́¹¦ÄÜÒ³Ãæ
Ê×Ò³¹¦ÄÜÒ³Ãæ
±¾»úÇý¶¯
±¾»úÇý¶¯ Çý¶¯°²×°
Çý¶¯¹ÜÀí Çý¶¯»¹Ô
ÈȲå°Î I É豸Á¬½Ó
ÈȲå°Î I Éè±¸ÒÆ³ý
ÈȲå°Î II É豸Á¬½Ó
ÈȲå°Î II É豸Á¬½Ó ÓÒϽÇÍвÛÏÔʾ
ÈȲå°Î II Éè±¸ÒÆ³ý
Ŀ¼
¡¡¡¡Õª Òª
¡¡¡¡Abstract
¡¡¡¡µÚÒ»Õ Ð÷ÂÛ
¡¡¡¡¡¡¡¡1.1 Ñо¿±³¾°ÓëÒâÒå
¡¡¡¡¡¡¡¡1.2 ¹úÄÚÍâÑо¿ÏÖ×´
¡¡¡¡¡¡¡¡¡¡¡¡1.2.1 Çý¶¯¹ÜÀí¹¤¾ßµ÷ÑÐ
¡¡¡¡¡¡¡¡¡¡¡¡1.2.2 ¸÷¿î¹¤¾ß±È½Ï·ÖÎö
¡¡¡¡¡¡¡¡1.3 ±¾ÎÄÖ÷ÒªÑо¿ÄÚÈÝ
¡¡¡¡¡¡¡¡1.4 ÂÛÎÄ×éÖ¯½á¹¹
¡¡¡¡µÚ¶þÕ ¹Ø¼ü¼¼ÊõÑо¿
¡¡¡¡¡¡¡¡2.1 Linux ÄÚºËÇý¶¯·ÖÎö
¡¡¡¡¡¡¡¡¡¡¡¡2.1.1 Linux Äں˸ÅÊö
¡¡¡¡¡¡¡¡¡¡¡¡2.1.2 Linux ÄÚºËĿ¼·ÖÎö
¡¡¡¡¡¡¡¡¡¡¡¡2.1.3 Linux ÄÚºËÇý¶¯·ÖÎö
¡¡¡¡¡¡¡¡2.2 Ó²¼þ¼ì²â¼¼Êõ
¡¡¡¡¡¡¡¡¡¡¡¡2.2.1 lspci/lsusb
¡¡¡¡¡¡¡¡¡¡¡¡2.2.2 hwinfo
¡¡¡¡¡¡¡¡2.3 Çý¶¯ÊÊÅä¼¼Êõ
¡¡¡¡¡¡¡¡¡¡¡¡2.3.1 USB É豸Çý¶¯Æ¥Åä¹ý³Ìµ÷ÑÐ
¡¡¡¡¡¡¡¡¡¡¡¡2.3.2 PCI É豸Çý¶¯Æ¥Åä¹ý³Ìµ÷ÑÐ
¡¡¡¡¡¡¡¡2.4 ÈȲå°Î¼¼Êõ·ÖÎö
¡¡¡¡¡¡¡¡2.5 С½á
¡¡¡¡µÚÈýÕ ÐèÇó·ÖÎöÓëÕûÌåÉè¼Æ
¡¡¡¡¡¡¡¡3.1 Ó²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳÐèÇó·ÖÎö
¡¡¡¡¡¡¡¡¡¡¡¡3.1.1 ¿Í»§¶Ë¹¦ÄÜÐèÇó
¡¡¡¡¡¡¡¡¡¡¡¡3.1.2 ·þÎñ¶Ë¹¦ÄÜÐèÇó
¡¡¡¡¡¡¡¡¡¡¡¡3.1.3 ÐÔÄÜÐèÇó
¡¡¡¡¡¡¡¡3.2 Ó²¼þ¼ì²âÓëÇý¶¯ÊÊÅäϵͳÕûÌåÉè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡3.2.1 Óû§½ÇÉ«ºÍÒµÎñ·ÖÎö
¡¡¡¡¡¡¡¡¡¡¡¡3.2.2 ϵͳ¼Ü¹¹Éè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡3.2.3 ϵͳÕûÌ幤×÷Á÷³Ì
¡¡¡¡¡¡¡¡¡¡¡¡3.2.4 ϵͳÊý¾Ý¿âÉè¼Æ
¡¡¡¡¡¡¡¡3.3 С½á
¡¡¡¡µÚËÄÕ ÏêϸÉè¼ÆºÍʵÏÖ45
¡¡¡¡¡¡¡¡4.1 ¿Í»§¶ËÏêϸÉè¼ÆÓëʵÏÖ
¡¡¡¡¡¡¡¡¡¡¡¡4.1.1 ¿Í»§¶Ë¿ò¼ÜÉè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡4.1.2 Ö÷Òª¹¦ÄÜÄ£¿éÉè¼ÆÓëʵÏÖ
¡¡¡¡¡¡¡¡4.2 ·þÎñ¶ËÏêϸÉè¼ÆÓëʵÏÖ
¡¡¡¡¡¡¡¡¡¡¡¡4.2.1 ·þÎñ¶Ë¿ò¼ÜÉè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡4.2.2 ·þÎñ¶Ëºǫ́¹¦ÄÜÉè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡4.2.3 ·þÎñ¶ËÓë¿Í»§¶Ë½»»¥Éè¼Æ
¡¡¡¡¡¡¡¡¡¡¡¡4.2.4 APT Çý¶¯Ô´´î½¨
¡¡¡¡¡¡¡¡4.3 С½á
¡¡¡¡µÚÎåÕ ʵ¼ÊÓ¦ÓÃÓëЧ¹ûչʾ
¡¡¡¡¡¡¡¡5.1 ϵͳʵ¼ÊÓ¦Óû·¾³
¡¡¡¡¡¡¡¡5.2 ϵͳÖ÷ÒªÓ¦ÓÃЧ¹ûչʾ
¡¡¡¡¡¡¡¡¡¡¡¡5.2.1 ϵͳ°²×°
¡¡¡¡¡¡¡¡¡¡¡¡5.2.2 ϵͳÆô¶¯
¡¡¡¡¡¡¡¡¡¡¡¡5.2.3 ϵͳʹÓÃ
¡¡¡¡¡¡¡¡5.3 ϵͳ¹¦ÄܲâÊÔ
¡¡¡¡¡¡¡¡5.4 ϵͳÐÔÄܲâÊÔ
¡¡¡¡¡¡¡¡5.5 С½á
¡¡¡¡µÚÁùÕ ½áÂÛÓëÕ¹Íû
¡¡¡¡¡¡¡¡6.1 ÂÛÎŤ×÷×ܽá
¡¡¡¡¡¡¡¡6.2 δÀ´Õ¹Íû
¡¡¡¡²Î¿¼ÎÄÏ×
¡¡¡¡ÖÂл
¡¡¡¡¸öÈ˼òÀú¡¢ÔÚѧÆÚ¼ä·¢±íµÄÂÛÎÄÓëÑо¿³É¹û
£¨ÈçÄúÐèÒª²é¿´±¾Æª±ÏÒµÉè¼ÆÈ«ÎÄ£¬ÇëÄúÁªÏµ¿Í·þË÷È¡£©