導航:首頁 > 編程系統 > linux添加驅動的兩種方法

linux添加驅動的兩種方法

發布時間:2023-08-26 14:07:29

❶ 在linux上怎樣安裝顯卡驅動

1. 先看來硬體列表,用lspci,找到VGA那一自行,確定型號
2. 網上找相應型號的驅動並下載
3. 安裝之前,要禁掉X-serveri:方法為:
vim /etc/X11/xorg.conf
禁掉其中device部分
4. 重啟系統,以root登錄
5. 找到驅動文件,執行:sudo sh ./*.run(或其他格式)
6. startx啟動X-server

❷ 在linux系統中,如何安裝各種硬體的驅動呀

看格式,如果復是自己制開發的驅動,就是****.ko格式
使用如下指令掛載:
insmod ****.ko
如果是官方提供的,常見有兩種,一種是可執行的(在linux終端下綠色,用ll看,該文件有x屬性),直接到那個目錄下執行
./****.bin
如果是gz,很可能需要編譯和安裝,那個就是
./configure
make
make install

❸ linux下怎麼編譯安裝驅動

linux 編譯安裝驅動有兩種,動態載入與靜態載入
動態載入
一,編譯,在指點內核樹下編專譯,生成.o文件或.ko文件
二,屬將生成的.o或.ko文件拷到相應目錄,一般是/lib/mole/kernel下面
三,用insmod命令載入,用rmmod命令卸載
靜態載入
靜態載入主要就是編譯內核。就是將編寫好的驅動放進內核相應的目錄下面。然後編譯內核。然後運行編譯好的內核。

❹ 如何在嵌入式LINUX中增加自己的設備驅動程序

Linux驅動程序的使用可以按照兩種方式編譯,一種是靜態編譯進內核,另一種是編譯成模塊以供動態載入。由於uClinux不支持模塊動態載入,而且嵌入式LINUX不能夠象桌面LINUX那樣靈活的使用insmod/rmmod載入卸載設備驅動程序,因而這里只介紹將設備驅動程序靜態編譯進uClinux內核的方法。
下面以UCLINUX為例,介紹在一個以模塊方式出現的驅動程序test.c基礎之上,將其編譯進內核的一系列步驟:
(1)
改動test.c源帶代碼
第一步,將原來的:
#include
#include
char
kernel_version[]=UTS_RELEASE;
改動為:
#ifdef
MODULE
#include
#include
char
kernel_version[]=UTS_RELEASE;
#else
#define
MOD_INC_USE_COUNT
#define
MOD_DEC_USE_COUNT
#endif
第二步,新建函數int
init_test(void)
將設備注冊寫在此處:
result=register_chrdev(254,"test",&test_fops);
(2)將test.c復制到/uclinux/linux/drivers/char目錄下,並且在/uclinux/linux/drivers/char目錄下mem.c中,int
chr_dev_init(
)函數中增加如下代碼:
#ifdef
CONFIG_TESTDRIVE
init_test();
#endif
(3)在/uclinux/linux/drivers/char目錄下Makefile中增加如下代碼:
ifeq($(CONFIG_TESTDRIVE),y)
L_OBJS+=test.o
Endif
(4)在/uclinux/linux/arch/m68knommu目錄下config.in中字元設備段里增加如下代碼:
bool
'support
for
testdrive'
CONFIG_TESTDRIVE
y
(5)
運行make
menuconfig(在menuconfig的字元設備選項里你可以看見我們剛剛添加的'support
for
testdrive'選項,並且已經被選中);make
dep;make
linux;make
linux.text;make
linux.data;cat
linux.text
linux.data
>
linux.bin。
(6)

/uclinux/romdisk/romdisk/dev/目錄下創建設備:
mknod
test
c
254
0
並且在/uclinux/appsrc/下運行make,生成新的Romdisk.s19文件。
到這里,在UCLINUX中增加設備驅動程序的工作可以說是完成了,只要將新的linux.bin與Romdisk

❺ 如何在Linux下添加自己的驅動

一.驅動編譯到內核
1.先選擇一個放置驅動代碼的位置,例:drivers/char/xxx.c
2.在drivers/char/Kconfig文件添加以下內容:
menu " xxx support"
config xxx
tristate "xxx support"
---help---
xxx use gpio as ir input .
If you want xxx support, you should say Y here and also to the
specific driver for your bus adapter(s) below.
This xxx support can be built as a mole.
endmenu
3.編寫Makefile,位置與上相同(drivers/char/),內容如下:
obj-$(CONFIG_xxx) += xxx.o //黑色xxx與上面Kconfig中的xxx相同,而紅色xxx應與
驅動xxx.c的命名相同
4.修改上一級Makefile和Kconfig //根據自己驅動的位置做相應的修改,參考上級的Mak_
efile和Kconfig的內容
至此,修改完畢,此時你可以使用make menuconfig,發現已有 xxx support ---> 選項,進入後選擇M,再make moles,到char目錄下,已生成xxx.ko。
最後,再進入make menuconfig ,選擇 xxx support,編譯進內核.

二. 驅動作成模塊載入
一般在開發時採用這種方式比較方便,無需每次都要通過tftp下載內核,nfs去掛載根文件系統,我們只需要把驅動作為模塊,在本地虛擬機中完成操作。
1>.模塊製作
a.驅動編譯
把 xxx.c文件放入drivers/char子目錄下,修改drivers/char/Makefile
obj-m += xxx.o
然後,
make moles,生成模塊都 drivers/char/xxx.ko
再把 xxx.ko 放到單板根文件系統的/lib/moles/2.6.14.1(自己的內核版本)/目錄下
b.驅動測試
編寫測試代碼及Makefile文件,make後,把生成文件放在單板跟文件系統/usr/bin/目錄下
2>.調試
在根文件系統中建立設備文件:
# mknod /dev/buttons c 232 0
載入模塊
# insmod s3c24xx_buttons
卸載模塊
# rmmod s3c24xx_buttons

❻ 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添加驅動的兩種方法相關的資料

熱點內容
修改iptables配置文件 瀏覽:427
word自動保存指定文件夾 瀏覽:18
電腦畫質不清晰win10 瀏覽:912
diskgen使用教程 瀏覽:970
常州數控車編程培訓哪裡有 瀏覽:44
如何升級晴明等級 瀏覽:347
開頭是什麼文件 瀏覽:645
linux16進制看elf文件 瀏覽:663
紙檔文件怎麼能變成excel檔 瀏覽:481
迅雷下載總出現jsp 瀏覽:150
創建網頁用什麼編程語言 瀏覽:526
考研哪個app好 瀏覽:30
計算機網路的概念是什麼 瀏覽:625
網路硬碟存儲製作 瀏覽:4
iphone怎麼備份數據到電腦 瀏覽:41
微信小程序報表控制項 瀏覽:722
ipad添加不了qq郵箱賬號和密碼 瀏覽:503
matlab中文文件名 瀏覽:236
excel是啥類型文件 瀏覽:471
安慶培訓編程怎麼選 瀏覽:817

友情鏈接