久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久
右欄
歡迎您:游客!請先
登錄
或
注冊
風格
恢復(fù)默認設(shè)置
|
展區(qū)
文件集瀏覽
圖片集瀏覽
Flash瀏覽
音樂集瀏覽
電影集瀏覽
|
搜索
|
社區(qū)游戲中心
曙海教育集團論壇
→
Linux專區(qū)
→
Linux系統(tǒng)開發(fā)
→ LINUX 內(nèi)核配置及編譯
新的主題
投票帖
交易帖
小字報
下一主題 >>
<< 上一主題
共有
9311
人關(guān)注過本帖
樹形
打印
主題:LINUX 內(nèi)核配置及編譯
wangxinxin
小
大
1樓
個性首頁
|
博客
|
信息
|
搜索
|
郵箱
|
主頁
|
UC
加好友
發(fā)短信
等級:青蜂俠
帖子:
1393
積分:14038
威望:0
精華:0
注冊:
2010-11-12 11:08:23
LINUX 內(nèi)核配置及編譯
Post By:2010-11-25 10:43:36
以下內(nèi)容含腳本,或可能導(dǎo)致頁面不正常的代碼
<strong><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%86%85%E6%A0%B8">內(nèi)核</span>配置<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%B3%BB%E7%BB%9F">系統(tǒng)</span>: </strong>1. Linux 采用了模塊化的內(nèi)核配置系統(tǒng),保證了內(nèi)核的擴展性。 Linux 內(nèi)核的配置系統(tǒng)由三個部分組成: Makefile 配置<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E6%96%87%E4%BB%B6">文件</span> (config.in) 配置工具 用戶通過 <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=make">make</span> config 配置后,產(chǎn)生了 .config 。頂層 Makefile 讀入 .config 中的配置選擇,再遞歸的進入到內(nèi)核的 各個子目錄中,分別調(diào)用位于這些子目錄中的 Makefile 。 Makefile 根據(jù)配置文件 .config 形成<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%BC%96%E8%AF%91">編譯</span>的源文件列表, 2. GNU 編譯工具對源文件進行編譯,并把目標代碼鏈接到一起形成 Linux 內(nèi)核二進制文件。主 makefile 在內(nèi)核源代 碼的根目錄上,它支持的 make <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%91%BD%E4%BB%A4">命令</span>的操作描述如下: make mrproper // 確保源代碼目錄下沒有不正確的 .o 文件,以及文件的依賴關(guān)系 配置內(nèi)核并生成配置文件 make config // 讀取配置文件,創(chuàng)建對應(yīng)于配置的依賴關(guān)系樹 make dep // 編譯并用 gzip 壓縮成 1MB 以下的內(nèi)核,未壓縮的文件是 make zImage //vmlinux make modules // 編譯模塊將模塊安裝到<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E8%BF%90%E8%A1%8C">運行</span>目錄下 make modules_install // 生成模塊間的依賴關(guān)系 depmod ?a // 生成模塊間的依賴關(guān)系 <strong>主 makefile 分析: </strong>主 makefile 定義許多<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%8E%AF%E5%A2%83">環(huán)境</span>變量,向各個子目錄下的makefile 使用了這些變量,常用的變量有以下幾類: 版本: VERSION,PATCHLEVEL,SUBLEVL 等。定義了當前內(nèi)核的版本。CPU 體系結(jié)構(gòu): ARCH 。定義目標 CPU 的體系 結(jié)構(gòu)。 路徑: TOPDIR,SUBDIRS 。 TOPDIR 是 Linux 內(nèi)核源代碼的根目錄, Makefile 通過 $(TOPDIR)/Rules.make 可以找到 Rules.make 的位置。 SUBDIRS 是目錄列表,根據(jù)它來判斷進入哪些子目錄編譯。內(nèi)核的配置文件決定了 SUBDIRS 的值。 內(nèi)核組成: HEAD,CORE_FILES,NETWORKS,DRIVERS,LIBS 。 它們分別代表了最先鏈入的文件、核心文件、<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%BD%91%E7%BB%9C">網(wǎng)絡(luò)</span>系統(tǒng)、<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E9%A9%B1%E5%8A%A8">驅(qū)動</span><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%A8%8B%E5%BA%8F">程序</span>、庫文件。它們編譯鏈接后形成了二進制文件 vmlinux 。 主 makefile 常用變量: 編譯: CPP,CC,AS,LD,AR,CFLAGS,LINKFLAGS 。這些變量明確地定義了編譯環(huán)境。如果是<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E4%BA%A4%E5%8F%89">交叉</span>編譯,還定義了 CROSS_COMPILE 。 配置變量: CONFIG_* 下面是主 makefile 的部分代碼: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 11 TOPDIR := $(srctree) SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=arm">arm</span>.*/arm/ -e s/sa110/arm/ -e s/s390x/s390/ -e s/parisc64/parisc/ ) CROSS_COMPILE ?= AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)gcc CPP = $(CC) -E AR = $(CROSS_COMPILE)ar NM = $(CROSS_COMPILE)nm STRIP = $(CROSS_COMPILE)strip OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump <strong>Linux 內(nèi)核編譯具體步驟: </strong>1. 首先<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E4%B8%8B%E8%BD%BD">下載</span>內(nèi)核,拷貝到 /usr/src/ 下 (2.6內(nèi)核下載網(wǎng)址:[size=+0][size=+0]<font color="#000000">http://www.kernel.org/pub/linux/kernel/v2.6/)</font></font></font> cp linux-2.6.11.tar.gz /usr/src 2. 刪除原有鏈接并解壓縮源代碼 cd /usr/src rm -f linux //如果沒有軟鏈接可不刪 tar -xzvf linux-2.6.11.tar.gz 3. 重新建立 Linux 鏈接 ln -s linux-2.6.11 linux cd /usr/src/linux; <strong>4.</strong> <strong>修改主 Makefile</strong> 在Makefile中的: ARCH :=arm CROSS_COMPILE:=/home/gdlc/makecrosstool/armgcc-setup/gcc-3.3.4-glibc-2.3.3/arm-S3C2410-linux-gnu/bin/arm-S3C2410-linux-g nu- //交叉工具鏈中的gcc目錄,用來編譯內(nèi)核。注意后面不要有空格。 <strong>5. 安裝libncurses5-dev等軟件包。</strong> 6. 執(zhí)行內(nèi)核配置命令(下面任選一條,運行時如出現(xiàn)某軟件包未安裝,安裝該軟件包即可) make config (基于文本的最為傳統(tǒng)的配置<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%95%8C%E9%9D%A2">界面</span>,不推薦使用) <strong>make menuconfig (基于文本選單的配置界面,<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%AD%97%E7%AC%A6">字符</span>終端下推薦使用) //本文用這條命令</strong> make xconfig (基于圖形<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%AA%97%E5%8F%A3">窗口</span>模式的配置界面,X<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=window">window</span> 下推薦使用) make oldconfig (如果只想在原來內(nèi)核配置的基礎(chǔ)上修改一些小地方,會省去不少麻煩) 配置時,有三種選擇,它們分別代表的含義如下: Y - - 將該<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%8A%9F%E8%83%BD">功能</span>編譯進內(nèi)核 N - - 不將該功能編譯進內(nèi)核 M - - 將該功能編譯成可以在需要時<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%8A%A8%E6%80%81">動態(tài)</span>插入到內(nèi)核中的模塊 7. 執(zhí)行相關(guān)編譯命令: <strong>make dep //</strong><strong>正確<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E8%AE%BE%E7%BD%AE">設(shè)置</span>關(guān)聯(lián)文件</strong> <strong>makeUimage </strong> 或 make zImage 或 make bzImage
說明:
上面顯示的是代碼內(nèi)容。您可以先檢查過代碼沒問題,或修改之后再運行.
支持
(
0
)
中立
(
0
)
反對
(
0
)
單帖管理
舉報帖子
使用道具
|
引用
|
回復(fù)
下一主題 >>
<< 上一主題
返回版面帖子列表
LINUX 內(nèi)核配置及編譯
回復(fù)標題:
上傳附件:
簽名
:
不顯示
顯示
RSS2.0
Xhtml無圖版
Xslt無圖版
Copyright © 2000 - 2009
曙海
教育集團
Powered By
曙海教育集團
Version 2.2
頁面執(zhí)行時間 0.03125 秒, 3 次數(shù)據(jù)查詢
主站蜘蛛池模板:
露脸国产野战最新在线视频
|
九色视频在线观看免费
|
成人精品综合免费视频
|
国产午夜精品久久理论片
|
91精品国产91久久久久
|
91精品国产色综合久久
|
亚洲国产欧美日韩第一香蕉
|
欧洲亚洲综合一区二区三区
|
日韩国产三级
|
嫩小性性性xxxxbbbb
|
欧美孕妇性xxxⅹ精品hd
|
成视频年人黄网站免费
|
成人亚洲欧美日韩在线
|
午夜精品久久久久久毛片
|
亚洲大片
|
欧美国产成人一区二区三区
|
精品国产综合区久久久久99
|
91久久99久91天天拍拍
|
色黄啪啪18周岁以下禁止观看
|
在线观看一级毛片
|
欧美怡红院在线
|
亚洲精品一区二区在线播放
|
欧美日本一区二区三区生
|
久久精品视频在线观看
|
黄色国产网站
|
夜间福利在线观看
|
黄毛片一级毛片
|
日韩中文精品亚洲第三区
|
欧美成人精品三级网站
|
特级做a爰片毛片免费看
|
久久久亚洲欧洲日产国码二区
|
综合自拍亚洲综合图区美腿丝袜
|
欧美一级毛片美99毛片
|
国产一区二区三区日韩
|
久久福利青草精品免费
|
久久久免费视频观看
|
午夜一级毛片看看
|
国产欧美日韩不卡一区二区三区
|
99视频有精品
|
日本一级特黄特色大片免费视频
|
国产精品久久久久久久y
|