usbip在linux 3 0以上核心的編譯和執行

2021-06-29 06:05:04 字數 2367 閱讀 7605

usbip

readme

和usage

說明文件,但是由於年代久遠,已經不適合現在的系統使用了。這次實驗平台的搭建採用了如下兩種環境:

ubuntu14.04

(server

)<

——>ubuntu14.04

(client);

ubuntu14.04(server)<

——>windows(client)

。首先要保證

server

和client

端的ubuntu14.04

在終端執行命令

/lib/modules/3.13.0-46-generic/kernel/drivers/staging/

,進入目錄,然後執行

insmodusbip-core.ko

和insmod usbip-host.ko

命令載入

server

端的驅動模組。

將使用者空間程式從核心原始碼樹種拷貝出來。執行命令

/ cd /usr/src/3.13.0-46-generic/drivers/staging/usbip/userspace/,

進入到存放使用者空間**的目錄,把整個

userspace

目錄拷貝到

home

目錄下。

重新編譯

userspace

目錄下的**。在編譯這部分**之前需要安裝

sysfsutils等依賴

./configure 

、make

、make install

安裝,在此不廢話。安裝完成

依賴包包之後,進入到

userspace

目錄下,依次執行

./autogen.sh

./configure

make install 

如果沒有錯誤,則使用者空間程式編譯成功。

在新版本的核心中,使用者空間的命令已經發生了變化只有兩個程式

usbipd

和usbip(舊版包含usbip、

usbipd、usbip_bind_driver三個程式)。

進入userspace/src

目錄下,執行

./usbipd –d

命令,開啟守護程序。

然後執行

./usbip 

命令,檢視幫助資訊。

usbip

用的多的命令是:

./usbip list –l 

列舉本地上

usb裝置,

./usbip bind --busid=

把特定裝置繫結到

usbip-host.ko

上,這裡的

是./usbip list–l 

命令檢視得到的。如果沒有報錯,就表示把服務端的裝置已經繫結到了

usbip-host.ko

上面了。

需要注意的是在執行

./usbip

命令式如果出現無法開啟

usb.ids

這樣的錯誤,可以根據錯誤自己建立相應的目錄,並把

/usr/share

目錄下的

usb.ids

檔案拷貝到已建立的相應目錄下。

1

、客戶端需要載入的核心驅動模組式

usbip-core.ko 

和vhci-hcd.ko

,首先當然是載入這兩個木塊,存放目錄和服務端一樣,載入方式也一樣,不在贅述。 2

、編譯userspace

程式,同服務端完全一樣,不在贅述。 3

、與服務端不同的是在

client

端,我們只需要

./usbip

命令,首先執行

./usbip list –remote=端

ip位址

>

,該命令可以檢視到服務端繫結到

usbip-host.ko

上的裝置以及

busid

。執行./usbip attach 位址

>  

(這個命令具體不記得了,可以執行

./usbip

自己檢視

usage

)。如果沒有報錯,這樣就成功吧服務端的

usb裝置對映到了客戶端了。

服務端和

ubuntu14.04

(server

)<

——>ubuntu14.04

(client

)完全一樣,這裡不再贅述。

Linux核心的編譯

linux的乙個重要的特點就是其源 的公開性,所有的核心源程式都可以在 usr src linux下找到,大部分應用軟體也都是遵循gpl而設計的,你都可以獲取相應的源程式 全世界任何乙個軟體工程師都可以將自己認為優秀的 加入到其中,由此引發的乙個明顯的好處就是linux修補漏洞的快速以及對最新軟體技...

linux核心的編譯

1 解壓縮 tar jxvf linux 2.6.22.6.tar.bz2 2 打補丁,patch 補丁檔案 具體打到那裡去的目標位址 在補丁檔案裡面有,查詢diff的地方 進入linux核心目錄,cd linux 2.6.22.6 patch p1 linux 2.6.22.6 jz2440.pa...

編譯android的linux核心

分類 android 2009 03 19 09 36 2311人閱讀 收藏舉報 arm none linux gnueabi 將cross compile值改為arm none linux gnueabi 這是我們安裝的交叉編譯工具鏈的字首,修改此處意在告訴make在編譯的時候要使用該工具鏈。注釋...