1. linux操作系統怎麼識別USB介面設備
linux系統會自動識別USB介面為串口磁碟sda(通常為sda1,可通過fdisk
-l命令查詢),掛載就可用。
例:新建掛載目錄mkdir
/mnt/usb,掛載mount
/dev/sda1
/mnt/usb,用完卸載掛起點unmount
/dev/sda1
/mnt/usb。
2. 如何用USB盤啟動Linux系統
進入BIOS的「AdvancedBIOS Features」下的「first boot device」選項,就有usb-fdd、 usb-hdd、usb-zip和usb-cdrom等USB設備的啟動選項了,然後製作一張Linux啟動盤。將 boot.img保存在根分區下,運行命令:「dmesg」,查看USB盤設備號。一般是sda。
3. linux 怎麼通過usb通信
USB驅動程序基礎 在動手寫USB驅動程序這前,讓我們先看看寫的USB驅動程序在內核中的結構,如下圖: USB驅動程序存在於不同的內核子系統和USB硬體控制器之間,USB核心為USB驅動程序提供了一個用於訪問和控制USB硬體的介面,而不必考慮系統當前存在的各種不同類型的USB硬體控制器。USB是一個非常復雜的設備,linux內核為我們提供了一個稱為USB的核心的子系統來處理大部分的復雜性,USB設備包括配置(configuration)、介面(interface)和端點(endpoint),USB設備綁定到介面上,而不是整個USB設備。如下圖所示: USB通信最基本的形式是通過端點(USB端點分中斷、批量、等時、控制四種,每種用途不同),USB端點只能往一個方向傳送數據,從主機到設備或者從設備到主機,端點可以看作是單向的管道(pipe)。所以我們可以這樣認為:設備通常具有一個或者更多的配置,配置經常具有一個或者更多的介面,介面通常具有一個或者更多的設置,介面沒有或具有一個以上的端點。驅動程序把驅動程序對象注冊到USB子系統中,稍後再使用製造商和設備標識來判斷是否已經安裝了硬體。USB核心使用一個列表(是一個包含製造商ID和設備號ID的一個結構體)來判斷對於一個設備該使用哪一個驅動程序,熱插撥腳本使用它來確定當一個特定的設備插入到系統時該自動裝載哪一個驅動程序。 上面我們簡要說明了驅動程序的基本理論,在寫一個設備驅動程序之前,我們還要了解以下兩個概念:模塊和設備文件。 模塊:是在內核空間運行的程序,實際上是一種目標對象文件,沒有鏈接,不能獨立運行,但是可以裝載到系統中作為內核的一部分運行,從而可以動態擴充內核的功能。模塊最主要的用處就是用來實現設備驅動程序。Linux下對於一個硬體的驅動,可以有兩種方式:直接載入到內核代碼中,啟動內核時就會驅動此硬體設備。另一種就是以模塊方式,編譯生成一個.ko文件(在2.4以下內核中是用.o作模塊文件,我們以2.6的內核為准,以下同)。當應用程序需要時再載入到內核空間運行。所以我們所說的一個硬體的驅動程序,通常指的就是一個驅動模塊。 設備文件:對於一個設備,它可以在/dev下面存在一個對應的邏輯設備節點,這個節點以文件的形式存在,但它不是普通意義上的文件,它是設備文件,更確切的說,它是設備節點。這個節點是通過mknod命令建立的,其中指定了主設備號和次設備號。主設備號表明了某一類設備,一般對應著確定的驅動程序;次設備號一般是區分不同屬性,例如不同的使用方法,不同的位置,不同的操作。這個設備號是從/proc/devices文件中獲得的,所以一般是先有驅動程序在內核中,才有設備節點在目錄中。這個設備號(特指主設備號)的主要作用,就是聲明設備所使用的驅動程序。驅動程序和設備號是一一對應的,當你打開一個設備文件時,操作系統就已經知道這個設備所對應的驅動程序。對於一個硬體,Linux是這樣來進行驅動的:首先,我們必須提供一個.ko的驅動模塊文件。我們要使用這個驅動程序,首先要載入它,我們可以用insmod xxx.ko,這樣驅動就會根據自己的類型(字元設備類型或塊設備類型,例如滑鼠就是字元設備而硬碟就是塊設備)向系統注冊,注冊成功系統會反饋一個主設備號,這個主設備號就是系統對它的唯一標識。驅動就是根據此主設備號來創建一個一般放置在/dev目錄下的設備文件。在我們要訪問此硬體時,就可以對設備文件通過open、read、write、close等命令進行。而驅動就會接收到相應的read、write操作而根據自己的模塊中的相應函數進行操作了。 USB驅動程序實踐 了解了上述理論後,我們就可以動手寫驅動程序,如果你基本功好,而且寫過linux下的硬體驅動,USB的硬體驅動和pci_driver很類似,那麼寫USB的驅動就比較簡單了,如果你只是大體了解了linux的硬體驅動,那也不要緊,因為在linux的內核源碼中有一個框架程序可以拿來借用一下,這個框架程序在/usr/src/~(你的內核版本,以下同)/drivers/usb下,文件名為usb-skeleton.c。寫一個USB的驅動程序最基本的要做四件事:驅動程序要支持的設備、注冊USB驅動程序、探測和斷開、提交和控制urb(USB請求塊)(當然也可以不用urb來傳輸數據,下文我們會說到)。 驅動程序支持的設備:有一個結構體struct usb_device_id,這個結構體提供了一列不同類型的該驅動程序支持的USB設備,對於一個只控制一個特定的USB設備的驅動程序來說,struct usb_device_id表被定義為: /* 驅動程序支持的設備列表 */ static struct usb_device_id skel_table [] = { { USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID) }, { } /* 終止入口 */ }; MODULE_DEVICE_TABLE (usb, skel_table); 對於PC驅動程序,MODULE_DEVICE_TABLE是必需的,而且usb必需為該宏的第一個值,而USB_SKEL_VENDOR_ID和USB_SKEL_PRODUCT_ID就是這個特殊設備的製造商和產品的ID了,我們在程序中把定義的值改為我們這款USB的,如: /* 定義製造商和產品的ID號 */ #define USB_SKEL_VENDOR_ID 0x1234 #define USB_SKEL_PRODUCT_ID 0x2345 這兩個值可以通過命令lsusb,當然你得先把USB設備先插到主機上了。或者查看廠商的USB設備的手冊也能得到,在我機器上運行lsusb是這樣的結果: Bus 004 Device 001: ID 0000:0000 Bus 003 Device 002: ID 1234:2345 Abc Corp. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 得到這兩個值後把它定義到程序里就可以了。 注冊USB驅動程序:所有的USB驅動程序都必須創建的結構體是struct usb_driver。這個結構體必須由USB驅動程序來填寫,包括許多回調函數和變數,它們向USB核心代碼描述USB驅動程序。創建一個有效的struct usb_driver結構體,只須要初始化五個欄位就可以了,在框架程序中是這樣的: static struct usb_driver skel_driver = { .owner = THIS_MODULE, .name = "skeleton", .probe = skel_probe, .disconnect = skel_disconnect, .id_table = skel_table, };
4. 寫出linux如何使用usb的命令和步驟解釋
Linux不直接支持NTFS文件系統,如果U盤是NTFS文件系統就無法直接掛載使用。
首先用lsblk列出所有塊設備:
lsblk
sd表示SCSI磁碟,後面跟a,b,c之類的字母表示第幾個磁碟,字母之後再跟數字表示這個磁碟的第幾個分區。大部分人只有一個硬碟,此時再接一個U盤,這個U盤就是sdb,U盤上的分區就是sdb1。除此以外,還可以根據顯示的容量判斷U盤設備名是sdb還是sdc。其他情況以此類推。
然後可以在用戶目錄創建一個usb目錄:(也可以根據喜好設置在其他地方,下面的掛載地址跟著改變即可)
mkdir~/usb1
最後把U盤分區掛載到這個目錄即可:(可能會提示輸入密碼,輸入密碼後回車即可)
sudomount/dev/sdb1~/usb1
然後就可以通過訪問 ~/usb1目錄來訪問U盤:
cd~/usb1
ls
最後要拔出U盤以前,要卸載U盤:(卸載時要退出usb1目錄,不然無法卸載)(可能會提示輸入密碼,輸入密碼後回車即可)
sudoumount/dev/sdb1
5. 從usb安裝linux
一、安裝所用到的工具和軟體。
1、U盤一個建議用容量為8GB的U盤。
2、刻錄軟體UltraISO,當然別的軟體也可以,只要能將啟動文件寫入U盤並成功啟動即可。
3、Linux系統鏡像文件(用的是CentOS-5.6-i386-bin-DVD.ISO鏡像文件)。
二、將U盤做成啟動盤
1、用ultraiso打開CentOS-5.6-i386-bin-DVD.iso鏡像文件,找到boot.iso文件並將其提取出來,如圖
根據提示操作即可完成linux的安裝。
6. 如何在 usb linux下格式化磁碟
首先確認你的硬碟格式是MBR還是GPT,然後選擇合適的分區工具:
fdisk、cfdisk(適用於MBR磁碟)
gdisk、cgdisk(適用於GPT磁碟)
parted適用於MBR、GPT磁碟
以上都是命令行操作的,建議用Linux Live CD製作Live USB,通常下載的Linux發行版ISO都是Live CD,直接寫入U盤製作啟動U盤就是Live USB,啟動選擇Live試用,就可以進入Live模式用圖形界面的GParted軟體來操作硬碟了。
7. 怎樣操作linux的usb設備
Linux不直接支持NTFS文件系統,如果U盤是NTFS文件系統就無法直接掛載使用。
首先用lsblk列出所有塊設備:
lsblk
sd表示SCSI磁碟,後面跟a,b,c之類的字母表示第幾個磁碟,字母之後再跟數字表示這個磁碟的第幾個分區。大部分人只有一個硬碟,此時再接一個U盤,這個U盤就是sdb,U盤上的分區就是sdb1。除此以外,還可以根據顯示的容量判斷U盤設備名是sdb還是sdc。其他情況以此類推。
然後可以在用戶目錄創建一個usb目錄:(也可以根據喜好設置在其他地方,下面的掛載地址跟著改變即可)
mkdir ~/usb1
最後把U盤分區掛載到這個目錄即可:(可能會提示輸入密碼,輸入密碼後回車即可)
sudo mount /dev/sdb1 ~/usb1
然後就可以通過訪問 ~/usb1目錄來訪問U盤:
cd ~/usb1
ls
最後要拔出U盤以前,要卸載U盤:(卸載時要退出usb1目錄,不然無法卸載)(可能會提示輸入密碼,輸入密碼後回車即可)
sudo umount /dev/sdb1
8. 如何製作usb啟動的linux系統盤
如何製作usb啟動的linux系統盤,解答如下
首先下載軟碟通這個軟體UltraISO,網上很多油單文件版的。如圖所示:
然後把下載好的iso系統文件打開添加到UltraISO
這里我的Linux iso是fedora 20,最後會說到使用UltraISO製作啟動盤支持的系統。
插入U盤格式化,一般選FAT32快速格式化,然後點擊UltraISO,啟動->寫入硬碟映像
到這一步如果U盤沒有格式化可以點擊格式化。
最後這里還是要說下fedora U盤啟動一直還需要修改啟動盤的isolinuxsyslinux.cfg這個文件,找到文件所有CDLABEL=Fedora-Live-Desktop-x86_64-20-20替換為CDLABEL=Fedora-Live即可,不過在fedora 20上以前的老方法不行。還有一個方法可以啟動,就是在u盤引導的過程中進入第一個界面選擇引導的內核時按tab鍵會看到引導的內核帶有參數其中就有CDLABEL中的內容把他修改為Fedora-Live回車即可引導進去系統安裝。說到這里其實這個方法可以製作ubuntu,linuxmint,deeplinux,fedora等linux系統啟動盤,前三者製作完即可引導不需要修改syslinux.cfg文件。
9. linux下怎麼查找usb對應的設備,比如滑鼠....
1、首先Linux 系統使用 /dev 目錄下特定的設備文件來標識插入的設備。會發現該目錄下的某些文件,包括 /dev/sda 或者 /dev/hda 表示第一個主設備,每個分區使用一個數字來表示,比如 /dev/sda1 或 /dev/hda1 表示主設備的第一個分區等。
10. linux下usb驅動程序開發有哪些背景及其意義
在Linux kernel源碼目錄中driver/usb/usb-skeleton.c為我們提供了一個最基礎的USB驅動程序。我們稱為USB骨架。通過它我們僅需要修改極少的部分,就可以完成一個USB設備的驅動。我們的USB驅動開發也是從她開始的。
那些linux下不支持的USB設備幾乎都是生產廠商特定的產品。如果生產廠商在他們的產品中使用自己定義的協議,他們就需要為此設備創建特定的驅動程序。當然我們知道,有些生產廠商公開他們的USB協議,並幫助Linux驅動程序的開發,然而有些生產廠商卻根本不公開他們的USB協議。因為每一個不同的協議都會產生一個新的驅動程序,所以就有了這個通用的USB驅動骨架程序, 它是以pci 骨架為模板的。
如果你准備寫一個linux驅動程序,首先要熟悉USB協議規范。USB主頁上有它的幫助。一些比較典型的驅動可以在上面發現,同時還介紹了USB urbs的概念,而這個是usb驅動程序中最基本的。
Linux USB 驅動程序需要做的第一件事情就是在Linux USB 子系統里注冊,並提供一些相關信息,例如這個驅動程序支持哪種設備,當被支持的設備從系統插入或拔出時,會有哪些動作。所有這些信息都傳送到USB 子系統中。
樓主如果想學習如何使用Linux系統,可以網路《Linux就該這么學》,裡面有詳細的介紹。