linux源碼樹編譯

來源:互聯網
上載者:User

標籤:blog   http   io   os   ar   java   sp   檔案   資料   

寫linux的網卡驅動,需要把arm版本遷移至x86版本測試,這就需要重新編譯適應x86 PC的源碼樹。其實安裝的系統已經有源碼樹,不需要像arm版本那樣重新編譯,位於/lib/modules/3.0.0-14-generic/build下。 同時需要注意的是2.6.32版本和3.0.0-14核心在部分結構體上出現不相容。直接編譯會出現:

錯誤: 初始值設定項裡有未知的欄位‘ioctl’

這是因為3.0.0.15版本核心 file_operation結構體已經刪除了ioctl函數,取代的是:

long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);long (*compat_ioctl) (struct file *, unsigned int, unsigned long);

需要在相應結構體中作出修改。

makefile這樣寫就可以了。

obj-m:=ed_device.oKERNELDIR:=/lib/modules/3.0.0-14-generic/buildPWD:=$(shell pwd)modules:        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
源碼樹是做什麼的

源碼樹是編譯核心驅動時所需要的庫函數和資源。

從形式上看,核心樹與核心源碼的目錄結構形式是相同的,都是由各個層次的檔案目錄結構組成,但是其中的具體內容肯定是不同的。

從功能上看,核心樹中含有編寫或編譯Kernel程式或驅動時所需要的一些核心功能庫以及定義好的一些資料結構,資料類型等。

Reference

[1].http://blog.csdn.net/freedom2028/article/details/7879574

linux源碼樹編譯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.