1. 清除臨時檔案,中間檔案和配置檔案:在頂層目錄下執行
a) make clean:刪除產生檔案,儲存配置檔案
b) make mrproper:刪除產生檔案和配置檔案
2. 確定目標系統的軟硬體配置情況:比如cpu的型別、網絡卡的型號,所需支援的網路協議等
3. 配置核心方式:會生成.config檔案,儲存配置檔案
a) make config:
基於文字模式的互動式配置,問答形式
i. *:對應y:在編譯的基礎上,進行連線
ii. m:對應m:進行編譯不連線,將該功能編譯成可以在需要時動態插入到核心中的模組。
iii. 空:對應n:不進行編譯
c) make oldconfig:要求回答的配置項比較少,大部分預設
d) make xconfig:圖形化的配置
4. 核心配置項選擇方法:參考核心配置文件
b) 找到配置檔案:
i. 如arm開發板的:進入arch—arm—config目錄中有很多
ii. 如紅帽企業版5的核心:/boot/
c) 拷貝檔案到.config所在的目錄層次
d) 再進行上一步的配置核心,修改自己需要的內容,
5. 編譯核心:這步編譯的是核心核心檔案
a) make zimage(大寫i):在x86平台,只能用於小於512k的核心
b) make bzlmage:
c) make zlmage v=1:能獲取詳細的編譯資訊,便於查錯
d) 編譯好的核心位於:arch//boot/目錄下
e) 需要的時間挺久的
6. 編譯核心模組:make modules :這步編譯的是剛才配置的核心模組
7. 安裝核心模組:make modules_install
a) 作用:將編譯好的核心模組從核心源**目錄copy至/lib/modules下
8. 製作init ramdisk 記憶體盤
a) mkinitrd initrd-$version $version 前乙個變數可自己取,後乙個變數是/lib/modules下的目錄名,這個目錄是安裝核心時產生的
b) 例:mkinitrd initrd-2.6.29 2.6.29 當前使用的核心版本號
9. 虛擬機器中安裝核心
a) cp arch/x86/boot/bzlmage /boot/vmlinuz-$version版本號
b) cp $initrd /boot/
c) 修改/etc/grub.conf或者/etc/lilo.conf
i. 注意是否多系統啟動:
ii. 注意拷貝後修改title後面的內容,乙個title代表乙個啟動項
iii. title後面的是名字,可以改
iv. 修改/vmlinuz-2.6.29
修改/initrd-2.6.29
linux學習筆記20
zip壓縮工具 zip壓縮包在windows和linux中都比較常用,他可以壓縮目錄和檔案,壓縮目錄時需要制定目錄下的檔案。zip後面先跟目標檔名,即壓縮後的自定義壓縮名,然後跟要壓縮的檔案和目錄,若你的centos沒有zip需要使用yum工具安裝 使用zip壓縮檔案 使用zip壓縮目錄。注意不管使...
Linux核心學習筆記 核心同步
linux核心中執行的程式,時刻都要防止併發引起的競態。這將會導致資料結構被破壞,嚴重的時候會引起核心崩潰。所以核心同步技術對核心開發的驅動程式來說非常重要。不懂核心同步技術的人,是寫不出安全健壯的核心驅動程式來的。在學習核心同步技術之前需要掌握一下幾個概念。1 並行,併發與競態 在smp執行的li...
linux學習筆記核心篇,核心移植
1.將核心從flash讀到記憶體 2.設定tag引數,3.啟動kernel,引數1r0 0,r1 機器id,r3 tag位址 1.讀取機器碼,呼叫相對應的初始化函式。2.解析tag引數,3.裝載驅動,網絡卡,flash等驅動 4.掛載根檔案系統,5.啟動應用程式。1.啟動核心函式檔案 cmd boo...