LINUX學習筆記20 核心配置與編譯

2021-06-02 14:45:21 字數 1748 閱讀 1079

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...