新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Ubuntu 7.1內核編譯詳解與無線網卡安裝

        Ubuntu 7.1內核編譯詳解與無線網卡安裝

        作者: 時間:2016-09-12 來源:網絡 收藏

        有很多原因編譯Ubuntu7.1內核,不過最重要的原因就是硬件支持。

        本文引用地址:http://www.104case.com/article/201609/304544.htm

        IBM ThinkPad T61筆記本的硬件比較新,雖然裝了一次就成功了,但是用起來還是不是很順。

        比如:無線網卡不能配置固定IP,聲卡有點問題,顯卡裝起來費勁。

        無線網卡是有點受不了的,所以還是決定升級一把內核,主要是打個補丁,用新一點的驅動。

        事先做好準備:

        1.保存好lspci, lsmod的配置和內核模塊,弄清楚所有的硬件用的是什么模塊。在Ubuntu下,基本上分三種模塊:內核模塊、Ubuntu特殊模塊(新的無線網卡之類)和受限驅動。如果自己要編譯內核,建議把受限驅動去掉,然后使用廠商推薦的方法。例如:nvidia就要去下載

        Ubuntu特殊模塊是存在于包:linux-Ubuntu-modules-2.6.22-14-generic 中。如果自己 編譯內核,也要替換這個(比如:無線網卡iwl4965)。

        2.下載廠家推薦驅動,如果沒有就可以止步了(除非你自己能搞定驅動),最好是源碼的,或者是不依賴于內核,或者是可以根據內核變動而重新編譯的,反正要匹配內核。

        無線網卡intel 4965:

        聲卡:

        一般來說CPU、主板、內存、硬盤都是內核帶的(有些特殊硬盤是需要廠商提供驅動的),聲卡alsa都能搞定(也有少量支持不好的),顯卡就難說了(新顯卡一般都需要廠家提供,要按照廠家的安裝方法來安裝),有線網卡一般來說都能支持,但是無線網卡的支持程度還是不夠的,即使是最新的intel驅動也有不少問題,特別是速度不行。

        還有一些特殊的硬件,指紋驅動:

        快捷鍵和acpi電源支持,這個一般包括在內核里,當然也有可能不支持,那要看廠家是否支持或者是有開源支持。thinkpad_acpi已經包括在內核中了,只要不把它去掉就行。

        HDAPS和電源附加支持:, 專門有開源項目支持,其中tp_smapi就是支持這個的。

        modem,似乎沒有支持,估計要等了。不過一直都沒用過。

        觸摸板和trackpoint小紅帽:都支持,當鼠標用,不過特殊功能沒有 了,需要的話要特別去安裝。還是去這里找:

        3.下載源碼,確定好版本,具體操作參見:

        如果是使用Ubuntu 7.1的內核,就安裝linux-source包。版本應該是2.6.22-14,裝好在/usr/src下有個壓縮包,就是源碼。

        我選了kernel 2.6.23.12,這是最后的穩定版,先用著(其實對快捷鍵的支持似乎不如2.6.22)。

        安裝好所有編譯所需包(參見上面),下載了kernel源碼和無線網卡、顯卡、聲卡驅動后,開始折騰,漫長的......

        正式開始編譯安裝:

        1.實際上編譯只是花時間,事先的補丁要搞好。有些模塊是需要先補丁,再編譯內核,有些是編譯好內核后再安裝驅動,次序不要搞錯,要事先知道清楚。

        nvidia是需要編譯安裝好內核后再安裝驅動,就放到最后。聲卡,指紋,virtualbox也是一樣。

        無線網卡最麻煩,要先打補丁,為了mac80211。

        intel的驅動有三大部分,一個是mac80211,一個是iwlwifi驅動,其中包括4965,3945兩種,還有一個是firmware,拷貝就行了。

        mac80211是要對內核打補丁的,那是因為內核已經包括了mac80211,而intel是要替換掉的。參見mac80211的INSTALL文檔,它的補丁是缺省打給/lib/modules/`uname -r`/source的,所以需要把源碼目錄給鏈接過去。源碼目錄其實可以放在任何目錄,一般放在/usr/src。

        iwlwifi可以等內核安裝好再安裝,因為它需要使用打過補丁的內核,所以要安裝好新內核再編譯安裝。

        2.解壓和編譯內核,除非特殊需要,一般都不用再打補丁,直接解壓后編譯。注意需要用root用戶:sudo -s -H。

        解壓后的目錄一般是/usr/src/linux-2.6.23.12,進入這個目錄,然后把當前系統的內核配置拷貝過來:

        Java代碼

        cp /boot/config-2.nfig

        cp /boot/config-2.nfig

        這應該是Ubuntu 7.1的內核配置文件,如果是其他系統可能有不同。

        在源碼目錄下打開配置菜單:make menuconfig

        選擇load載nfig,然后進行詳細配置。一般來說當前系統運行正常則不需要特別配置,如果有驅動要求有特殊配置的,一定要仔細檢查一下,按照驅動安裝文檔進行。比如:mac80211需要打開無線支持。

        退出的時候選擇保存。

        編譯:

        Java代碼

        make-kpkg clean

        fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

        make-kpkg clean

        fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

        其中那個 -custom 是跟在版本號后面的字符串,可以任意,我就加了一個 -t61,主要是為了區別其他內核,別重名了。

        在做這事之前,一定要想好有什么可以打發的閑事,如果機器沒有很好,那么編譯的時候幾乎cpu占滿了(當然我還是照常用,T61還是很強的)。

        如果一切正常就會編譯完成,如果出了錯,那么要檢查是否已經安裝了所有的編譯所需,補丁有沒有打錯,或者是把錯誤信息發到別的地方詢問。

        3.安裝內核。

        這步太簡單了,編譯好后會生成兩個 deb包,在上一層目錄里。

        安裝,幾乎在編譯內核里都要用root權限

        Java代碼

        dpkg -i linux-image-2.6.23.12-t61_2.6.23.12-t61-10.00.Custom_i386.deb

        dpkg -i linux-image-2.6.23.12-t61_2.6.23.12-t61-10.00.Custom_i386.deb

        一陣狂閃后,全部都會自動裝好,包括grub會多一個菜單項,就是新裝的內核,原來的內核還在,不用擔心。不過grub要注意,最好是去掉vga=xxx這一項,這樣控制臺就會正常識別。

        4.重起應用新的內核。

        一般來說缺省那項grub菜單就是新內核,如果正常進入后就要安裝硬件驅動了。如果X不能進,則把nf里改為vesa驅動,百試百靈。

        5.安裝硬件驅動。

        無線網卡最復雜。先是安裝iwlwifi,按照INSTALL文檔,make , make install一般就行了。

        如果有問題,要檢查幾個地方:

        /lib/modules/`uname -r`/build和source目錄是否指向源碼目錄了,并且是打了mac80211補丁的源碼目錄。

        mac80211模塊是否在/lib/modules/`uname -r`/kernel/net目錄下。


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蒙山县| 榆中县| 黄陵县| 加查县| 左权县| 洪雅县| 融水| 济南市| 乳山市| 个旧市| 阜康市| 兰坪| 荃湾区| 巴青县| 乌拉特前旗| 江阴市| 龙岩市| 古丈县| 大埔区| 威远县| 灌云县| 芒康县| 蒙山县| 兰溪市| 辽宁省| 金川县| 永和县| 海丰县| 磴口县| 沁阳市| 宁安市| 桃园县| 衡山县| 大关县| 屏南县| 达孜县| 晋州市| 安仁县| 积石山| 乐东| 白沙|