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

介紹Fedora平臺 主要是運用Fedora Core 6

系統(tǒng) Linux
本文我將描述在Fedora平臺上構(gòu)建自定義內(nèi)核的兩種方式. 第一種是Fedora方式, 最后你將能獲得一個內(nèi)核rpm包, 從而可以方便地與他人分享. 第二種是傳統(tǒng)方式, 適用于所有l(wèi)inux發(fā)行版, 不過最后你不會有一個rpm包.

在向大家詳細介紹Fedora平臺之前,首先讓大家了解下Fedora Core 6,然后全面介紹Fedora平臺,希望對大家有用。每一個Linux發(fā)行版都有自己專門的工具去構(gòu)建自定義的內(nèi)核。

本文主要介紹在Fedora平臺上編譯內(nèi)核,如何從www.kernel.org(也叫vanilla kernel)獲得最新且未改動的內(nèi)核源代碼來構(gòu)建一個自定義的內(nèi)核,這樣你可以使用自己的內(nèi)核而不是發(fā)行版的內(nèi)核, 另外也介紹了如何給內(nèi)核打補丁, 從而方便增加新的功能.

下面的工作我都在Fedora Core 6上經(jīng)過了測試.

我想首先要說的是文章中構(gòu)建自定義內(nèi)核的方式不是唯一的, 還有許多其它的方式, 這不過是我習(xí)慣的方式. 我不能保證使用后不會出現(xiàn)任何問題.

1. 預(yù)備工作
本文我將描述在Fedora平臺上構(gòu)建自定義內(nèi)核的兩種方式. 第一種是Fedora方式, 最后你將能獲得一個內(nèi)核rpm包, 從而可以方便地與他人分享. 第二種是傳統(tǒng)方式, 適用于所有l(wèi)inux發(fā)行版, 不過最后你不會有一個rpm包.

我推薦使用root用戶做下面所有的步驟. 然而, 有時也需要使用非超級用戶(比如用戶tom)來運行一些命令, 所以你可能會使用visudo編輯器在/etc/sudoers文件中添加下面一行:
tom ALL=(ALL) ALL

現(xiàn)在無論什么時候你需要用root權(quán)限運行命令, 比如:
yum install fedora-rpmdevtools unifdef

你都可以用下面的命令來替代:
sudo yum install fedora-rpmdevtools unifdef

請記住: 如果以root用戶身份運行所有命令, 你可以完全忘記sudo. 采用什么方式, 看你自己的習(xí)慣.

2. 構(gòu)建rpm內(nèi)核包
這一小節(jié)介紹如何構(gòu)建內(nèi)核, 最終你可以得到一個rpm包, 這樣可以方便安裝或與他人分享.

2.1 創(chuàng)建你的rpmbuild目錄
按下面創(chuàng)建你的rpmbuild目錄:
cd ~
cp -a /usr/src/redhat/ rpmbuild
echo '%_topdir %(echo $HOME)/rpmbuild' >> .rpmmacros

然后安裝構(gòu)建rpm包需要的應(yīng)用軟件包
yum install fedora-rpmdevtools unifdef

然后運行
fedora-buildrpmtree

2.2 下載和安裝Fedora內(nèi)核src.rpm包
接下來為我們的Fedora版本下載最新的內(nèi)核src.rpm包. 針對Fedora Core 6, 你可以從接下來的網(wǎng)址獲得src.rpm包: http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/, 針對Fedora Core 5, 你可以從下面的網(wǎng)址獲得src.rpm包: http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/, 等等.

最新的Fedora Core 6內(nèi)核src.rpm包是kernel-2.6.18-1.2798.fc6.src.rpm, 所以我們現(xiàn)在下載和安裝它:
cd /usr/src
wget http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/kernel-2.6.18-1.2798.fc6.src.rpm
rpm -ivh kernel-2.6.18-1.2798.fc6.src.rpm

如果你看到這些警告:
warning: user brewbuilder does not exist - using root
warning: group brewbuilder does not exist - using root

你可以忽略它們.

我們已經(jīng)成功安裝了最新的2.6.18.1內(nèi)核源代碼包. 如果我們繼續(xù)構(gòu)建內(nèi)核源代碼包的話, 我們的內(nèi)核版本將是2.6.18.1.

2.3 給內(nèi)核打補丁——Fedora平臺

我想安裝新內(nèi)核2.6.18.2來替代2.6.18.1. 系統(tǒng)已經(jīng)安裝的src.rpm包是給2.6.18打過補丁的2.6.18.1. 而我們現(xiàn)在將使用打補丁的方式升級內(nèi)核到2.6.18.2
cd ~/rpmbuild/SOURCES/
wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.18.2.bz2

如果你想內(nèi)核的名字結(jié)尾為2.6.19-rc5,你也可以使用prepatch包http: //www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc5.bz2. 請注意這項工作僅對prepaches有效. 比如. 內(nèi)核補丁僅對最終發(fā)行的內(nèi)核版本有效,比如2.6.19內(nèi)核. 你可以給2.6.18內(nèi)核源代碼打補丁, 但不能是2.6.18.1或2.6.18.2, 等.這個規(guī)則在接下來的網(wǎng)頁中注明: http://kernel.org/patchtypes/pre.html

prepatches等同于linux中的測試發(fā)行; 他們位于存檔的測試目錄中,我們可以使用patch(1)工具對上一個完整發(fā)行版(版本號分三部分)打補丁(例如, 2.6.13-rc4prepatch只可以給2.6.11內(nèi)核源代碼打補丁, 而不是2.6.11.10.)

現(xiàn)在我們必須修改kernel-2.6.spec文件, 讓它知道我們使用了新的內(nèi)核補丁:
cd ~/rpmbuild/SPECS/
vi kernel-2.6.spec

搜尋下面行
Patch1: patch-2.6.18.1.bz2

替換為下面的內(nèi)容:
Patch1: patch-2.6.18.2.bz2

(或者其它你已下載的版本)

然后運行
rpmbuild -bp kernel-2.6.spec

(如果你想構(gòu)建其它平臺如i386, i586, i686或者x86_64的內(nèi)核, 你可以通過運行下面的命令來實現(xiàn):
rpmbuild -bp --target=i686 kernel-2.6.spec

我沒有在上面例子中指定為i386, 你的系統(tǒng)可能是其它的平臺類型, 請記得填寫你的平臺類型.)

現(xiàn)在我們進入到關(guān)鍵的部分. src.rpm有很多fedora專門的補丁, 其中一些不能與我們的2.6.18.2補丁很好的工作, 所以如果你在rpmbuild輸出看到下面狀況:

+ echo 'Patch #300 (linux-2.6-ppc-dac960-ipr-clash.patch):'
Patch #300 (linux-2.6-ppc-dac960-ipr-clash.patch):
+ patch -p1 -s
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
1 out of 1 hunk ignored -- saving rejects to file drivers/block/DAC960.c.rej
error: Bad exit status from /var/tmp/rpm-tmp.46287 (%prep)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.46287 (%prep)

這時候你必須再次編輯kernel-2.6.spec文件, 注解掉patch #300一行:
vi kernel-2.6.spec
[...]
#Patch300: linux-2.6-ppc-dac960-ipr-clash.patch
[...]
#%patch300 -p1
[...]

然后再運行rpmbuild命令, 比如:
rpmbuild -bp kernel-2.6.spec

注意: 你必須不斷重復(fù)上面過程直到不出現(xiàn)任何錯誤.

2.4 指定內(nèi)核識別碼
現(xiàn)在我們將指定一個字符串方便以后區(qū)別內(nèi)核版本. 因此我們需要做:
cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i386
vi Makefile

在EXTRAVERSION一行, 你可以輸入一個內(nèi)核識別碼. 我想最好是在字符串后附上內(nèi)核的版本號, 這樣來操作:
EXTRAVERSION = -custom-2.6.18.2

2.5 配置內(nèi)核
現(xiàn)在我們運行
make menuconfig

然后我們看到內(nèi)核的配置菜單. 移動綠色光標到 Load an Alternate Configuration File 行后選擇.config文件做為配置文件:

http://blog.zhaoke.com/data/2006/1116/6.png

http://blog.zhaoke.com/data/2006/1116/7.png

然后瀏覽內(nèi)核配置菜單, 選擇你需要的功能. 完成配置后, 選擇Exit, 回答下面的問題(Do you wish to save your new kernel configuration? 你希望保存新的內(nèi)核配置嗎?), 選擇Yes:

http://blog.zhaoke.com/data/2006/1116/8.png

2.6 構(gòu)建內(nèi)核
現(xiàn)在我們簡單運行下面命令來構(gòu)建內(nèi)核:
make rpm

然后你將在~/rpmbuild/SRPMS/目錄發(fā)現(xiàn)一個新的src.rpm包, 比如.~/rpmbuild/SRPMS/kernel-2.6.18custom2.6.18.2-1.src.rpm,內(nèi)核rpm包位于 ~/rpmbuild/RPMS/i386/ (或 ~/rpmbuild/RPMS/i586/,~/rpmbuild/RPMS/i686/, 等. 看你的平臺類型). 比如.~/rpmbuild/RPMS/i386/kernel-2.6.18custom2.6.18.2-1.i386.rpm.你看到內(nèi)核識別碼已 添加到軟件包的名字中.

2.7 安裝新內(nèi)核
現(xiàn)在去新的rpm內(nèi)核包存在的目錄(基于你的平臺類型, 比如. ~/rpmbuild/RPMS/i386/)安裝rpm包:
cd ~/rpmbuild/RPMS/i386
rpm -ivh kernel-2.6.18custom2.6.18.2-1.i386.rpm,以上介紹Fedora平臺。

【編輯推薦】

  1. Fedora項目發(fā)布Linux系統(tǒng)更新
  2. 合理配置Fedora下Firefox使其加速
  3. Fedora linux的播放器與解碼器的安裝
  4. 在Windows下把Fedora安裝到U盤上啟動
  5. Ubuntu Fedora Mandriva性能對比
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2009-12-17 09:12:21

Fedora Core

2009-12-21 15:05:57

Fedora Core

2009-12-23 18:54:53

Fedora Core

2009-12-22 14:22:39

Fedora Core

2009-12-21 17:45:26

Fedora Core

2009-12-28 11:27:34

Fedora Core

2010-02-26 10:11:04

Fedora Core

2010-02-25 15:26:48

Fedora core

2009-12-21 17:05:48

2009-12-17 10:47:31

Fedora Core

2009-12-24 15:13:24

2009-12-22 16:29:10

Fedora Core

2009-12-24 14:58:32

Fedora Core

2009-12-28 08:57:22

Fedora操作系統(tǒng)

2009-12-24 14:05:06

Fedora core

2009-12-28 09:51:17

Fedora GNOM

2009-12-21 15:42:41

Fedora Core

2009-12-21 15:55:16

Fedora Core

2010-02-02 13:26:53

2009-12-28 10:17:54

Fedora Core
點贊
收藏

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