導航:首頁 > 編程系統 > linux3xdrivers

linux3xdrivers

發布時間:2023-02-21 16:16:00

linux 內核代碼drivers/net/wireless/

你說的是內核源碼。
一般安裝前,需要配置,編譯。
安裝的代碼,不包含源碼,也就是prism54文件夾中源碼編譯出來的代碼,已經是uImagede的一部分了,看不到的。
如果需要單獨載入,在配置菜單中,選擇為模塊。內核編譯完以後,然後使用make moles編譯模塊。
模塊一般為.ko文件,可以用insmod載入,用rmmod卸載。

㈡ linux 內核樹編譯 drivers/usb/serial/option.c 問題

兩種方法: 1,直接添加進內核。 a, 比如進入drivers/char/目錄,把xxx.c文件拷版貝到該目錄 b, 修改drivers/char/Kconfig文件,自定義仿照其他權選項,添加自己的選項XXX。 c, 修改drivers/char/Makefile文件,添加obj-$(CONFIG_XXX) += xxx.o d, ...

㈢ linux fedora 下面 進入修改drivers/gpu/drm/i915

這是看樣子應該是在linux內核源代碼里的文件,你直接在/下面肯定是找不到的,你首先需要一份內核源代碼。試試看找/usr/src/下面有沒有,如果沒有,就要自己下載一份了。

㈣ linux查看補丁的方法

linux下patch命令使用詳解---linux打補丁命令
功能說明:修補文件。
語法:patch
[-bceEflnNRstTuvZ][-B
<備份字首字元串>][-d
<工作目錄>][-D
<標示符號>][-F
<監別列數>][-g
<控制數值>][-i
<修補文件>][-o
<輸出文件>][-p
<剝離層級>][-r
<拒絕文件>][-V
<備份方式>][-Y
<備份字首字元串>][-z
<備份字尾字元串>][--backup-if
-mismatch][--binary][--help][--nobackup-if-mismatch][--verbose][原始文件
<修補文件>]

path
[-p
<剝離層級>]
<
[修補文件]
補充說明:patch指令讓用戶利用設置修補文件的方式,修改,更新原始文件。倘若一次僅修改一個文件,可直接在指令列中下達指令依序執行。如果配合修補文件的方式則能一次修補大批文件,這也是Linux系統核心的升級方法之一。
參數:
-b或--backup
備份每一個原始文件。
-B<備份字首字元串>或--prefix=<備份字首字元串>
設置文件備份時,附加在文件名稱前面的字首字元串,該字元串可以是路徑名稱。
-c或--context
把修補數據解譯成關聯性的差異。
-d<工作目錄>或--directory=<工作目錄>
設置工作目錄。
-D<標示符號>或--ifdef=<標示符號>
用指定的符號把改變的地方標示出來。
-e或--ed
把修補數據解譯成ed指令可用的敘述文件。
-E或--remove-empty-files
若修補過後輸出的文件其內容是一片空白,則移除該文件。
-f或--force
此參數的效果和指定-t參數類似,但會假設修補數據的版本為新版本。
-F<監別列數>或--fuzz<監別列數>
設置監別列數的最大值。
-g<控制數值>或--get=<控制數值>
設置以RSC或SCCS控制修補作業。
-i<修補文件>或--input=<修補文件>
讀取指定的修補問家你。
-l或--ignore-whitespace
忽略修補數據與輸入數據的跳格,空格字元。
-n或--normal
把修補數據解譯成一般性的差異。
-N或--forward
忽略修補的數據較原始文件的版本更舊,或該版本的修補數據已使用過。
-o<輸出文件>或--output=<輸出文件>
設置輸出文件的名稱,修補過的文件會以該名稱存放。
-p<剝離層級>或--strip=<剝離層級>
設置欲剝離幾層路徑名稱。
-f<拒絕文件>或--reject-file=<拒絕文件>
設置保存拒絕修補相關信息的文件名稱,預設的文件名稱為.rej。
-R或--reverse
假設修補數據是由新舊文件交換位置而產生。
-s或--quiet或--silent
不顯示指令執行過程,除非發生錯誤。
-t或--batch
自動略過錯誤,不詢問任何問題。
-T或--set-time
此參數的效果和指定-Z參數類似,但以本地時間為主。
-u或--unified
把修補數據解譯成一致化的差異。
-v或--version
顯示版本信息。
-V<備份方式>或--version-control=<備份方式>
用-b參數備份目標文件後,備份文件的字尾會被加上一個備份字元串,這個字元串不僅可用-z參數變更,當使用-V參數指定不同備份方式時,也會產生不同字尾的備份字元串。
-Y<備份字首字元串>或--basename-prefix=--<備份字首字元串>
設置文件備份時,附加在文件基本名稱開頭的字首字元串。
-z<備份字尾字元串>或--suffix=<備份字尾字元串>
此參數的效果和指定-B參數類似,差別在於修補作業使用的路徑與文件名若為src/linux/fs/super.c,加上backup/字元串後,文件super.c會備份於/src/linux/fs/backup目錄里。
-Z或--set-utc
把修補過的文件更改,存取時間設為UTC。
--backup-if-mismatch
在修補數據不完全吻合,且沒有刻意指定要備份文件時,才備份文件。
--binary
以二進制模式讀寫數據,而不通過標准輸出設備。
--help
在線幫助。
--nobackup-if-mismatch
在修補數據不完全吻合,且沒有刻意指定要備份文件時,不要備份文件。
--verbose
詳細顯示指令的執行過程。
patch,是打補丁的命令,有很多用法,見幫助#man
patch
patch
-p0
(「p」指的是路徑,後面的數字表示去掉路徑的第幾部分。0,表示不去掉,為全路徑)
patch
-p1
(「p」後面的數字1,表示去掉前第一個路徑)fetch
http://people.freebsd.org/~delphij/misc/patch-bge-releng62
fetch
http://people.freebsd.org/~delphij/misc/patch-bce-watchdog-rewritecd
/sys/dev/bge
fetch
...
patch
-p0
<
...fetch
http://people.freebsd.org/~delphij/misc/patch-tcp_auto_buf-20061212-RELENG_6.diff
patch
-p
<
patch-tcp_auto_buf-20061212-RELENG_6.diff
也可以把文件中的目錄全改成系統已在的目錄如/usr/src/sys.....注意:
1,確認目錄
然後確認目錄,如不在默認目錄下,就寫下要打補丁的當前絕對目錄。如/usr/src/sys/dev/bge/if_bce.c2,P的使用
可以使用不帶數字的參數。
patch
後的軟體安裝

telnetd伺服器的問題及補丁
在當前FreeBSD所有版本中,也就是FreeBSD
5.0、FreeBSD
4.3、FreeBSD
4.2、FreeBSD
4.1.1、FreeBSD
4.1、FreeBSD
4.0、FreeBSD
3.x、FreeBSD
2.x的版本,其telnetd守護進程中存在一個致命的緩沖區溢出漏洞,該問題是由於telnetd在處理telnet協議選項的函數中沒有進行有效的邊界檢查,當使用某些選項(\'AYT\')時,可能發生緩沖區溢出。這會導致遠程root級別的安全威脅。
因此,如果一定要使用telnet服務的話,必須為伺服器打上最新的patch,該patch可以從以下鏈接獲得:
(註:通常有兩個版本的telnetd伺服器,有crypto及無crypto的版本,因此需要判斷主機使用的是哪種版本的telnetd,這通常可以通過察看src文件來判斷,比如#
ls
/usr/src/crypto/telnet/telnetd,如果不存在,則說明使用的是無crypto的版本了,在判別清楚之後再分別下載相關補丁文件)
crypto版本補丁:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd-crypto.patch
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd-crypto.patch.asc
patch方法:
#
cd
/usr/src/
#
patch
-p
<
/path/to/patch
#
cd
/usr/src/secure/libexec/telnetd
#
make
depend
&&
make
all
install
無crypto版本補丁:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd.patch
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-01:49/telnetd.patch.asc
patch方法:
#
cd
/usr/src/
#
patch
-p
<
/path/to/patch
#
cd
/usr/src/libexec/telnetd
#
make
depend
&&
make
all
install
例子來源http://toby.bokee.com/文件:isp1161-2.6.12.patch(在/root下)
由於patch文件的首行已經指明了路徑,所以根據當前所在的目錄,加不同的參數使用patch命令:
1:如果當前的目錄是和linux-2.6.12的同級目錄:
[root@
www.linuxidc.com]#patch
-p0
</root/isp1161-2.6.12.patch
2:如果當前的目錄為
linux-2.6.12/:
[root@
www.linuxidc.com]#patch
-p1
</root/isp1161-2.6.12.patch
3:如果當前的目錄為
linux-2.6.12/drivers/:
[root@
www.linuxidc.com]#patch
-p2
</root/isp1161-2.6.12.pathc
0,1,2,是指略去的patch文件中的前幾級目錄。
ln
命令的使用
這是linux中一個非常重要的命令。它的功能是為某一個文件在另外一個位置建立一個不同的鏈接,這個命令最常用的參數是-s,具體用法是:ln
-s
源文件
目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄放上該文件,然後在其它的目錄下用ln命令鏈接(link)它就可以,不必重復的佔用磁碟空間。
例如:ln
-s
/bin/less
/usr/local/bin/less
-s
是代號(symbolic)的意思。
這里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性。也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化。
patch附帶有一個很好的幫助,其中羅列了很多選項,但是99%的時間只要兩個選項就能滿足我們的需要:
patch
-p1
<
[patchfile]
patch
-R
<
[patchfile]
(used
to
undo
a
patch)
-p1選項代表patchfile中文件名左邊目錄的層數,頂層目錄在不同的機器上有所不同。要使用這個選項,就要把你的patch放在要被打補丁的目錄下,然後在這個目錄中運行path
-p1
<
[patchfile]。來自Linux內核patch的一個簡短的引用可以這樣實現:
diff
-u
--recursive
--new-file
v2.1.118/linux/mm/swapfile.c
linux/mm/swapfile.
c---
v2.1.118/linux/mm/swapfile.c
Wed
Aug
26
11:37:45
1998
+++
linux/mm/swapfile.c
Wed
Aug
26
16:01:57
1998
@@
-489,7
+489,7
@@
int
swap_header_version;
int
lock_map_size
=
PAGE_SIZE;
int
nr_good_pages
=
0;
-
char
tmp_lock_map
=
0;
+
unsigned
long
tmp_lock_map
=
0;
應用來自本段中使用-p1開關拷貝的patch可以有效地減短patch定位的路徑;patch會查找當前目錄下一個名為/mm的子目錄,接著應該會在這兒發現swapfile.c文件,然後等待打補丁。在這個過程中,以破折號(「-」號,譯者注)開始的行會被一個以加號(「+」號,譯者注)開始的行代替。一個典型的patch會包含對多個文件的更新,每個部分中都由對兩個版本的文件運行diff
-u命令的輸出結果組成。
patch在操作時把自己的輸出結果顯示在屏幕上,但是這種輸出通常都滾屏太快,來不及觀看。原來准備patch的文件名為*.orig,新的patch文件會覆蓋這個初始文件名。
打補丁的問題
使用不同版本的patch問題來源可能不同,所有的版本在網路上都是可用的。Larry
Wall近年來已經不再做很多工作來更新patch了,這可能是由於他最後發行的一個版本在大部分情況下都能正常運行。最近幾年以來,一直是GNU項目的
FSF程序員發行新版本的patch。他們首先修訂有問題的patch,但是我最近一直使用沒有問題的2.5版本(這是Debian2.0的發行版本號)。過去,我的2.1版本也一直運行的很好。當前的GNU
patch的版本可以從GNU
FTP站點上獲取,然而大部分人都只使用他們Linux發行版中所提供的版本。
讓我們假定你已經對一個目錄下的源程序文件進行了patch修補工作,但是patch並沒有清晰地發揮作用。這可能會偶然發生,在打補丁的過程中會顯示錯誤信息,其中帶有行號,說明哪一個文件出現了問題。有時錯誤是很明顯的,例如缺少了分號,��種錯誤可以不費多大力氣就能改正。另外一種可能是從
patch部分刪除了產生問題的部分,但是這樣根據所涉及到的文件的不同可能會正常工作,也可能不能正常工作了。
另外一種常見的錯位為:假設你有一個未使用tar打包的內核源程序文件,在/linux/arch/下瀏覽各個子目錄時你會發現各種機器體系結構子目錄,例如alpah、sparc等等。如果你和大多數Linux用戶一樣,使用的是Intel的處理器(或者是Intel系列),你可以決定刪除這些目錄,這些目錄對於編譯你特殊的內核並不需要,只是白白佔用了磁碟空間。一段時間之後發行了一個新的內核patch,此時試圖進行patch操作,當它發現不能找到自己打補丁需要的Alpha或者PPC文件,就會停頓下來。幸運的是patch在這些地方允許用戶參與,它會詢問Skip
this
patch?回答y,patch就可以按照正確的路徑繼續執行。也許你需要回答這個問題很多次,因此允許自己不需要的目錄保留在磁碟上是一種很好的方法。

㈤ LINUX 終端設備驅動

在Linux系統中,終端是一種字元型設備,它有多種類型,通常使用tty (Teletype)來簡稱各種類型的終端設備。對於嵌入式系統而言,最普遍採用的是UART (Universal Asynchronous Receiver/Transmitter)串列埠,日常生活中簡稱串口。
Linux內核中tty的層次結構它包含tty核心tty_10.c、tty或路規在n_tty.C(頭現N_11Y線路規程)和tty驅動實例xxx_tty.c,tty線路規程的工作是以特殊的方式格式化從一個用戶或者硬體收到的數據,這種格式化常常採用一個協議轉換的形式tty _io.c本身是一個標準的字元設備驅動,它對上有字元改備的職貢,買現tle_operatIonS雙貝圖效。但是tty核心層對下又定義了tty_driver的架構,這樣tty設備驅動的主體工作就變成了琪允tty_driVeT依構體中的成員,實現其中的tty_operations的成員函數,而不再是去實現file_operations這一級的工作。tty設備發送數據的流程為:tty核心從一個用戶獲取將要發送給一個tty設備的數據,tty核心將數據傳遞給tty線路規程驅動,接著數據被傳遞到tty驅動,tty驅動將數據轉換為可以發送給硬體的格式。接收數據的流程為:從tty硬體接收到的數據向上交給tty驅動,接著進入tty線路規程驅動,再進入tty核心,在這里它被一個用戶獲取。盡管一個特定的底層UART設備驅動完全可以遵循上述tty_driver的方法來設計,即定義tty_driver並實現tty_operations中的成員函數,但是鑒於串口之間的共性,Linux考慮在文件drivers'ttyliserial'serial_core.c中實現了UART設備的通用tty驅動層(我們可以稱其為串口核心層)。這樣,UART驅動的主要任務就進一步演變成了實現serial-core.c中定義的一組uart_xxx介面而不是tty_xxx介面。因此,按照面向對象的思想,可以認為tty_driver是字元設備的泛化、serial-core是tty_driver的泛化,而具體的串口驅動又是serial-core的泛化。

㈥ linux如何安裝驅動

在Intel網站直接下載的Linux驅動是e1000-5.2.52.tar.gz(版本可能會有改變),這個壓縮包裡面沒有編譯好的.o的文件,需要在Linux系統下編譯之後才能使用,
因為網卡需要編譯,所以要先確認將內核源文件安裝好,下面是關於內核源文件的安裝
● Linux下添加內核源文件
1. 用rpm –qa|grep kernel-source查看是否安裝了這個包;
如果返回結果中有kernel-source-xxx(其中xxx為當前redhat的內核版本,如rhel3為2.4.21-4EL), 即已經 安裝。如無返回結果則需要安裝kernel-source包。到安裝光碟中找到kernel-source-xxx.i386.rpm,用下面命令安裝此rpm包:
2.如果安裝了用rpm -V kernel-source校驗是否有文件丟失,如果沒有輸出,表示文件完整;
3.如果有丟失用rpm -ivh --force kernel-source-xxxx...把包重新安裝一下;
這個kernel-source包,在您的RH安裝光碟中,在Redhat/RPMS中,如果以前沒有安裝過這個包,那麼用rpm -ivh kernel-source-xxxx...來安裝,如果安裝過,需要覆蓋安裝,使用rpm -ivh --force kernel-source-xxxx...這個命令強制安裝。
註:AS 4 開始,沒有kernel-source這個包了,取而代之的是kernel-dev這個包,檢查這個包有沒有安裝的方法同上
● 驅動安裝步驟:
1. 把這個tar文件拷貝到用戶自己定義的目錄中,例如:
/home/username/e1000 or /usr/local/src/e1000
2. 用tar命令解這個壓縮包:
tar zxf e1000-5.2.52.tar.gz
3. 切換到驅動的src目錄下:
cd e1000-5.2.52/src/
4. 編譯這個驅動模塊:
make
然後安裝這個模塊
make install
這個二進制元將被安裝到如下位置:
/lib/moles//kernel/drivers/net/e1000.o
以上的路徑是默認的安裝位置,在某些linux版本中可能是其他位置,具體信息可以查看在驅動的 tar壓縮包中的ldistrib.txt文件.
5. 安裝模塊:
insmod e1000 (2.6以上的版本最好使用全路徑安裝 P insmod /lib/moles//kernel/drivers/net/e1000/e1000.ko)
6. 設定網卡IP地址:
ifconfig ethx <IP_address> x是網卡介面的號
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
若多個網卡的晶元相同可以cp ifcfg-eth0 ifcfg-eth1~~~~~~
修改下裡面的drive名稱就OK
!!!!!!!!!!!!!!!!!!!
在網卡的編譯中很可能不能進行下去~這個原因除了kernel的開發包沒有安裝外還可能是由於開發環境不完全所引起的!
這時就需要你講開發環境安裝完成,最簡單的辦法就是通過 sysconfig-config-packet 安裝gcc
安裝完成後繼續執行 make ;make install

了解更多開源相關,去LUPA社區看看吧

㈦ linux中的drivers文件夾在哪呢

/usr/src/kernels/2.6.32-220.el6.x86_64/sound/drivers 具體每個系統內核不同,路徑也不同,但是都差不多;

㈧ linux 內核編譯出錯。沒有規則可以創建「drivers/mtd/nand/built-in.o」需要的目標「drivers/mtd/nand/s3c

檢查drivers/mtd/nand/Makefile,看s3c_nand.o依賴哪些文件,
這個錯誤說依賴的東西不存在,所以編譯s3c_nand.o失敗。

㈨ Linux的三種模式

1.編輯模式

    編輯模式中,每一個按鍵都有其他的功能

2.輸入模式

    每一個按鍵按下什麼,就像文本中數據輸入什麼

3.末行(命令行)模式

    我們可以直接在VI中輸入特定的命令

1.編輯模式-->輸入模式

    i在當前位置插入數據

    a追加數據

    o在當前行後面開啟一個新的輸入行

    I 行首

    A 行尾

    O 上一行

2.輸入模式-->編輯模式

    按下ESC

2.編輯模式-->末行模式

    :

3.末行模式-->編輯模式

    按下ESC

    G最後一行

    gg 跳轉到第一行

    數字gg 跳轉到第數字行

    w 下個單詞

    數字w

    dw 刪除一個單詞

    3dw 刪除三個單詞

    dd 刪除一行

    3dd 刪除三行

    u回退到前面的操作

    .回退u執行的操作

    yw 復制一個單詞

    3yw 復制三個單詞

    yy 復制一行

    3yy復制三行

    p粘貼

    6p 粘貼6次

    x 剪切

    3x 剪切三個字元

    r 替換,然後輸入一個字元替換

    3r 替換三個

    hjkl 方向鍵

    ZZ 保存並退出

    ctrl+s 鎖屏 ctrl+q 解鎖

    沒啥東西,按什麼是什麼。

    set nu 設置行號

    set nonu 取消行號

    w 保存

    q 退出

    wq 保存並退出

    q!強制退出,但是不保存

    如果上次異常退出會保留同名隱藏文件,每次啟動會給與提示

        如果確定當前文件沒問題,請刪除隱藏文件

    /pattern

        搜索指定的字元串

        /usr n向下查找 N逆向查找

s/p1/p2/g

    替換字元串

    g 替換當前行所有 否則只替換當前行第一個

    s/abc/lucky/g

    查找指定行

    3,8s/abc/lucky/g

    替換全文

    g/abc/s//lucky/g

閱讀全文

與linux3xdrivers相關的資料

熱點內容
qq288紅包是什麼意思 瀏覽:731
qq開通vip多少錢 瀏覽:962
如何快捷讓文件名按順序編輯 瀏覽:513
華為手機文件哪些能刪除 瀏覽:744
追星app的應援金是什麼 瀏覽:86
win10下載還原文件在哪裡 瀏覽:887
橙心優選app買不了怎麼辦 瀏覽:126
蘋果系統低怎麼下載qq 瀏覽:582
數據科學與大數據專業課程有哪些 瀏覽:630
微信公眾號回調文件 瀏覽:38
ipad怎麼看密碼是多少錢 瀏覽:678
qq2014表情在哪個文件夾 瀏覽:115
iphone6s下載的文件在哪裡 瀏覽:332
網站怎麼查詢真假 瀏覽:507
視頻文件沒有圖標 瀏覽:944
文件圖標上有個鎖 瀏覽:87
ios9appstore空白 瀏覽:744
htmljs是什麼 瀏覽:852
win10自帶軟體卸載軟體卸載 瀏覽:552
蘋果刷機好多錢 瀏覽:275

友情鏈接