Linux核心--01(基於armA9tiny4412開發板)
阿新 • • 發佈:2018-12-13
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核心檔案初識
init 核心的啟動程式 fs檔案系統相關 Documentation為文件(沒有man手冊了,在核心階段) include是與硬體介面無關的函式宣告 kernel 核心支援中斷 電源 程序 時間管理 排程 arch/arm/includ 硬體相關的函式宣告 apc 程序通訊 lib 與體積結構無關的庫檔案 mm 記憶體管理相關程式碼 net 協議棧 sound 音效卡 scipts指令碼