自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入講解剖析Linux設(shè)備驅(qū)動

運維 系統(tǒng)運維
在Fedoar Linux設(shè)備驅(qū)動官方站點的ftp中下載和你自己內(nèi)核版本相同的源代碼和devel包比如我通過uname -r命令看到我的內(nèi)核版本是2.6.22.1-41.fc7于是就下載。

這里將介紹Linux設(shè)備驅(qū)動問題的解決方法,新手 Fedora 7 下編譯 Linux設(shè)備驅(qū)動 3ed scull模塊 收藏 Linux的基礎(chǔ)操作,旨在讓讀者對Linux有個初步的認(rèn)識。內(nèi)容涉及文件管理、磁盤管理、用戶與組群管理、man幫助、軟件包管理、文件壓縮和打印機管理。

Linux設(shè)備驅(qū)動 Device Driver(ldd) 是本內(nèi)核開發(fā)入門書籍.其中scull是第一個例子模塊.所以學(xué)習(xí)scull是很重要的.由于內(nèi)核開發(fā)變動較快.所以ldd書中的一些例子已經(jīng)不能在現(xiàn)有開發(fā)環(huán)境中編譯了.本文說明如何在fedora7平臺修改scull程序,使他能夠順利編譯.
Fedora Linux設(shè)備驅(qū)動 安裝時沒有內(nèi)核開發(fā)的部分.所以我們先要安裝內(nèi)核開發(fā)相關(guān)包.

1在Fedoar Linux設(shè)備驅(qū)動官方站點的ftp中下載和你自己內(nèi)核版本相同的源代碼和devel包比如我通過uname -r命令看到我的內(nèi)核版本是2.6.22.1-41.fc7于是就下載kernel-devel-2.6.22.1-41.fc7  kernel-2.6.21-1.3194.fc7.src.rpm 然后安裝這兩個包.kernel-devel可以直接安裝.如果要裝src的話還要rpmbuild一下.把補丁打進去.具體方法網(wǎng)上有很多關(guān)于內(nèi)核編譯的文章.

2.下載ldd第三版的源代碼
http://examples.oreilly.com/linuxdrive3/examples.tar.gz 接著把它解壓縮 tar zxvf examples.tar.gz進入scull目錄我們可以看到有main.c文件打開他.刪除include中的linux/config.h 由于在2.6.19版本以后config.h文件被取消了.所以以后有config.h的地方都會報錯
接下來再make,還是有錯.發(fā)現(xiàn)是if (! capable (CAP_SYS_ADMIN))這里.CAP_SYS_ADMIN找不到.在網(wǎng)上查一下,發(fā)現(xiàn)這個宏是定義在linux/capability.h中的于是加#include 再編譯還是不通過.原因還是有宏沒有定義.不過這次是在access.c中.根據(jù)未定義的宏查找.發(fā)現(xiàn)他們在inux/capability.h和sched.h.兩個文件中在access.c中加入#include

#include 改正了這些以后make回車下面是輸出
make -C /lib/modules/2.6.22.1-41.fc7/build M=/home/hide1713/Desktop/kernel/examples/scull LDDINC=/home/hide1713/Desktop/kernel/examples/scull/../include modules
make[1]: Entering directory `/usr/src/kernels/2.6.22.1-41.fc7-i686'
CC [M]  /home/hide1713/Desktop/kernel/examples/scull/access.o
LD [M]  /home/hide1713/Desktop/kernel/examples/scull/scull.o
Building modules, stage 2.
MODPOST 1 modules
CC      /home/hide1713/Desktop/kernel/examples/scull/scull.mod.o
LD [M]  /home/hide1713/Desktop/kernel/examples/scull/scull.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.22.1-41.fc7-i686'

Linux設(shè)備驅(qū)動這樣就是編譯好了.我們用chmod +x scull_load scull_unload 把這倆個腳本變?yōu)榭蓤?zhí)行./scull_load/sbin/lsmod 怎么樣.順利裝入內(nèi)核了吧.上面的內(nèi)容是我憑記憶寫的.如果和實際情況有出入請還是按照上面的方法.先差是哪個定義引起的.再把對應(yīng)的頭文件加入就行了 。以上是對Linux設(shè)備驅(qū)動介紹。

【編輯推薦】

  1. Linux設(shè)備驅(qū)動程序--與硬件通信
  2. 闡述Linux設(shè)備文件管理硬件設(shè)備
  3. Linux設(shè)備管理指令setleds
  4. 簡介qemu通過nfs啟動Linux的方法
  5. 對于Linux chmod命令的闡述
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2011-01-11 16:11:03

2010-08-11 10:41:22

AdobeFlex

2009-12-22 11:21:11

2020-11-20 07:55:55

Linux內(nèi)核映射

2017-02-10 15:32:47

2009-06-03 08:53:20

微軟Windows 7操作系統(tǒng)

2009-11-24 09:39:55

SUSE Linux

2009-12-22 14:08:38

2009-12-16 13:42:56

Mandriva Li

2017-11-16 14:46:58

Linuxplatform總線驅(qū)動設(shè)備

2020-12-03 08:59:06

Linux設(shè)備驅(qū)動

2022-05-10 08:49:46

設(shè)備驅(qū)動Linux

2009-10-23 17:35:16

linux進程管理

2009-07-06 10:44:45

JSP charset

2009-09-27 17:13:36

Hibernate V

2010-06-03 13:08:51

2011-06-03 13:48:18

JavaScript重構(gòu)

2010-05-25 12:59:00

Subversion

2009-09-14 15:12:40

LINQ to XML

2011-01-10 18:21:38

linux編寫程序
點贊
收藏

51CTO技術(shù)棧公眾號