日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 有很多原因編譯Ubuntu7.1內(nèi)核,不過最重要的原因就是硬件支持。IBM ThinkPad T61筆記本的硬件比較新,雖然裝了一次就成功了,但是用起來還是不是很順。比如:無線網(wǎng)卡不能

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

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

比如:無線網(wǎng)卡不能配置固定IP,聲卡有點(diǎn)問題,顯卡裝起來費(fèi)勁。

無線網(wǎng)卡是有點(diǎn)受不了的,所以還是決定升級一把內(nèi)核,主要是打個(gè)補(bǔ)丁,用新一點(diǎn)的驅(qū)動(dòng)。

事先做好準(zhǔn)備:

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

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

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

無線網(wǎng)卡intel 4965:

聲卡:

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

還有一些特殊的硬件,指紋驅(qū)動(dòng):

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

HDAPS和電源附加支持:, 專門有開源項(xiàng)目支持,其中tp_smapi就是支持這個(gè)的。

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

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

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

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

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

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

正式開始編譯安裝:

1.實(shí)際上編譯只是花時(shí)間,事先的補(bǔ)丁要搞好。有些模塊是需要先補(bǔ)丁,再編譯內(nèi)核,有些是編譯好內(nèi)核后再安裝驅(qū)動(dòng),次序不要搞錯(cuò),要事先知道清楚。

nvidia是需要編譯安裝好內(nèi)核后再安裝驅(qū)動(dòng),就放到最后。聲卡,指紋,virtualbox也是一樣。

無線網(wǎng)卡最麻煩,要先打補(bǔ)丁,為了mac80211。

intel的驅(qū)動(dòng)有三大部分,一個(gè)是mac80211,一個(gè)是iwlwifi驅(qū)動(dòng),其中包括4965,3945兩種,還有一個(gè)是firmware,拷貝就行了。

mac80211是要對內(nèi)核打補(bǔ)丁的,那是因?yàn)閮?nèi)核已經(jīng)包括了mac80211,而intel是要替換掉的。參見mac80211的INSTALL文檔,它的補(bǔ)丁是缺省打給/lib/modules/`uname -r`/source的,所以需要把源碼目錄給鏈接過去。源碼目錄其實(shí)可以放在任何目錄,一般放在/usr/src。

iwlwifi可以等內(nèi)核安裝好再安裝,因?yàn)樗枰褂么蜻^補(bǔ)丁的內(nèi)核,所以要安裝好新內(nèi)核再編譯安裝。

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

解壓后的目錄一般是/usr/src/linux-2.6.23.12,進(jìn)入這個(gè)目錄,然后把當(dāng)前系統(tǒng)的內(nèi)核配置拷貝過來:

Java代碼

cp /boot/config-2.nfig

cp /boot/config-2.nfig

這應(yīng)該是Ubuntu 7.1的內(nèi)核配置文件,如果是其他系統(tǒng)可能有不同。

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

選擇load載nfig,然后進(jìn)行詳細(xì)配置。一般來說當(dāng)前系統(tǒng)運(yùn)行正常則不需要特別配置,如果有驅(qū)動(dòng)要求有特殊配置的,一定要仔細(xì)檢查一下,按照驅(qū)動(dòng)安裝文檔進(jìn)行。比如:mac80211需要打開無線支持。

退出的時(shí)候選擇保存。

編譯:

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

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

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

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

3.安裝內(nèi)核。

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

安裝,幾乎在編譯內(nèi)核里都要用root權(quán)限

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

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

4.重起應(yīng)用新的內(nèi)核。

一般來說缺省那項(xiàng)grub菜單就是新內(nèi)核,如果正常進(jìn)入后就要安裝硬件驅(qū)動(dòng)了。如果X不能進(jìn),則把nf里改為vesa驅(qū)動(dòng),百試百靈。

5.安裝硬件驅(qū)動(dòng)。

無線網(wǎng)卡最復(fù)雜。先是安裝iwlwifi,按照INSTALL文檔,make , make install一般就行了。

如果有問題,要檢查幾個(gè)地方:

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

mac80211模塊是否在/lib/modules/`uname -r`/kernel/net目錄下。[!--empirenews.page--]

裝好后,檢查一下/lib/modules/`uname -r`/kernel/drivers/net/wireless/目錄,是否有 iwl3945.ko和iwl4965.ko,這兩個(gè)是真正的驅(qū)動(dòng)。

還要把firmware拷貝過去。

手動(dòng)安裝內(nèi)核是沒有firmware,所以要先創(chuàng)建

進(jìn)入目錄 /lib/firmware

Java代碼

cp -R 2.6.22-14-generic/ 2.6.23.12-t61/

cp -R 2.6.22-14-generic/ 2.6.23.12-t61/

相當(dāng)于把原來缺省的firmware都拷貝過來。不過重點(diǎn)是 iwlwifi*

從無線網(wǎng)卡驅(qū)動(dòng)網(wǎng)站上下載的firmware解開,把iwlwifi*.ucode拷貝過來覆蓋掉。

這樣mac80211-10.0.3 ,iwlwifi-1.2.23 , iwl4965-ucode-4.44.1.20 就安裝好了,版本號要對齊,否則極容易錯(cuò)。

這里給一個(gè)高人的好辦法,但是我怎么也沒試成功過,不知道這個(gè)牛人怎么裝上的。(要用代理看)

弄好了無線,要搞聲卡,這個(gè)太方便了,只要下載drivers, utils, lib, oss,然后分別make make install(注意lib要比utils先裝),基本上都可以了。但是還要識別一下聲卡和驅(qū)動(dòng)。裝好程序后,在drivers源碼目錄下./snddevices來創(chuàng)建聲卡設(shè)備,然后使用alsaconf來自動(dòng)識別。如果識別了,那就搞定了,如果不行,那就放棄alsa吧,或者是有特殊的驅(qū)動(dòng)再安裝。

顯卡也方便,退回控制臺(sudo /etc/init.d/gdm stop),然后轉(zhuǎn)到ctrl+alt+F1,登錄后安裝nvidia。

Java代碼

sudo sh ./NVIDIA-Linux-x86-169.07-pkg1.run

sudo sh ./NVIDIA-Linux-x86-169.07-pkg1.run

照著提示就行了,也要編譯一下,需要內(nèi)核header,當(dāng)然源碼也可以,只要保證 /lib/modules/`uname -r`/build指向正確就行了。

ati安裝也用廠商的,不要用Ubuntu缺省的驅(qū)動(dòng),因?yàn)?strong>內(nèi)核動(dòng)過,有可能出問題。

當(dāng)然如果是vesa就沒關(guān)系了。其實(shí)感覺還是vesa好,nvidia這個(gè)驅(qū)動(dòng)感覺挺慢的,不知道為什么。

如果重啟后沒事,那么恭喜你了,一場大戰(zhàn)結(jié)束了,雖然是慘勝,不過也是勝。

如果裝了virtual box,別忘了重新編譯

Java代碼

sudo /etc/init.d/vboxdrv setup

sudo /etc/init.d/vboxdrv setup

檢驗(yàn)戰(zhàn)果:

無線網(wǎng)卡還算是穩(wěn)定了,可以設(shè)固定IP了,而且似乎速度快了一點(diǎn),但是比windows還慢,這個(gè)實(shí)在是不能原諒,不過只能等了。

顯卡驅(qū)動(dòng)還是那樣,要靠nvidia再努力了。

聲卡的靜音快捷鍵沒有OSD了,不過還能靜音,只是不能取消靜音了,只能用mixer來調(diào)了。不過我的聲卡長年靜音,都快忘了。

空格鍵上放大的快捷鍵失效了,實(shí)在是大喜事啊,多么恨這個(gè)鍵啊。鍵盤燈是bios控制的,沒問題。調(diào)LCD亮度只要裝了新的nivida驅(qū)動(dòng)就能用。

休眠和待機(jī)是不用的,不是不想,而是問題多多,基本處于windows 98水平,次得很。

切換外置顯示器還沒試過,據(jù)說要配另一個(gè)screen的,不過老的sony上試過,很容易,這個(gè)要看驅(qū)動(dòng)保佑了。

總結(jié):

要娛樂還是去xp,連vista都兼容性不好,linux工作是一流的,要在windows這種細(xì)調(diào)的可能性都沒有,不過實(shí)在是繁瑣了一點(diǎn),沖著這超強(qiáng)的硬盤緩存,值了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉