環境:debian 6 linux 2.6.35.7
arm-linux-gcc:
LINUX隻是一個核心,不能算是作業系統。作業系統還包括更多的東西,比如使用者界面。我們要做的第一步是要讓核心在目标版運作起來。
移植準備
1.目标闆
已經安裝bootloader目标闆。
2.交叉工具鍊
可以網上下載下傳已經編譯好的工具鍊,需要将路徑放入環境變量PATH。
3.核心源碼
下載下傳新的核心,在http://www.kernel.org/pub/linux/kernel/,可以下載下傳任意版本核心。最好選穩定版本,也就是第二位為偶數的。我下載下傳的是
linux-2.6.35.7.tar.gz
3.燒寫工具
可以将鏡像燒進目标闆的工具,根據不同目标版而定。可通過網口,SD卡下載下傳。
開始移植
shell進入包含核心包路徑,解壓核心tar -zvxflinux-2.6.35.7.tar.gz.按TAB鍵可以補全。解壓完畢後會生成linux-2.6.35.7檔案夾。
修改頂層Makefile。
ARCH =? ARM,
CORSS_COMPILE =? arm-linux-
如不修改,将會預設ARCH=x86
載入CPU預設配置
在arch/arm/configs下面,有各種配置,我們需要的是預設配置s5pv210_deconfig,在核心根目錄下執行make s5pv210_deconfig,s5pv210_deconfig配置将會寫進根目錄下的.config。
配置核心
在根目錄下執行最常用的make menuconfig,将會載入.config的内容。由于我們現在隻是先将核心運作起來,直接采用預設配置就行。一般是采用序列槽來檢測核心的運作情況,有一個地方要注意一下,就是在配置核心的時候設定圖中第四個選項。表示選擇哪個序列槽輸出低級資訊,這個要根據你所使用處理器的哪個序列槽來決定。配置完後記得儲存。
設定mach-type
将核心下載下傳進入開發闆,必須要先設定mach-type,mach-type儲存在arch/arm/tools/mach-type.h。mach-type要與bootloader中的mach-type對應才能正确下載下傳核心。
編譯核心
在核心根目錄下make clean,清楚以前編譯留下的檔案,否則有可能出現錯誤。接着make zImage。編譯完成後,将會在arch/arm/boot生成zImage檔案。将其下載下傳進闆内,正确設定序列槽終端,将會看到啟動資訊。表示核心正确運作。
補充:
修改 Boot Options:
修改 arch/arm/tools中的mach-types
修改 arch/arm/mach-s5pv210/include/mach/ 中的memory.h