1. 程式人生 > >Linux核心--01(基於armA9tiny4412開發板)

Linux核心--01(基於armA9tiny4412開發板)

1、如何編譯核心

tar -Jxvf linux-3.5-20170929.tar.xz -C /~
解壓核心壓縮包至自己的家目錄
建議刪除arch目錄與我們無關的其他架構的資料夾
通過./config生成Makefile,但是因為我們初學核心,不懂得用		
meumconfig選擇哪些選項編譯進入核心,故./millet4412_linux_defconfig來生成我們的Makefile通過make -j 4
開啟核心4個執行緒去編譯我們的核心。
最終提示  Kernel: arch/arm/boot/zImage is ready

2、追蹤原始碼

Linux原始碼的追蹤會一直伴隨著我們整個的核心學習。故學會追蹤原始碼是必須的。修改vimrc 第二行為 linux-3.5下cags的絕對路徑
首先下載ctags工具。通過apt直接下載即可。
解壓cscope-15.8b.tar.gz並./configf make make install安裝(可能出問題,根據提示安裝對應的包,每次失敗執行 make distclean)
taglist_46.zip (unzip xxx -d text)  解壓 
cp doc/taglist.txt  /usr/share/vim/vim74/doc/
cp plugin/  /usr/share/vim/vim74/plugin/
最後修改vimrc 第二行為 linux-3.5下cags的絕對路徑
可以通過 vim -t strlen 在任意目錄下隨便的追蹤核心程式碼

3、Linux核心檔案初識

fs  檔案系統相關init 核心的啟動程式 fs檔案系統相關 Documentation為文件(沒有man手冊了,在核心階段) include是與硬體介面無關的函式宣告 kernel 核心支援中斷 電源 程序 時間管理 排程 arch/arm/includ 硬體相關的函式宣告 apc 程序通訊 lib 與體積結構無關的庫檔案 mm 記憶體管理相關程式碼 net 協議棧 sound 音效卡 scipts指令碼