linux 2.6.32.2核心移植(MINI2440)步驟

來源:互聯網
上載者:User

1.擷取核心移植源碼

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz2

2.解壓核心源碼

(1).bzip2 -d linux-2.6.32.2.tar.bz2

(2).tar -xvf  linux-2.6.32.2.tar

3.修改總目錄下的Makefile

原:

export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=

改為
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
其中,ARCH 是指定目標平台為 arm, CROSS_COMPILE 是指定交叉編譯器,這裡指定的是系統預設的交叉編譯器,如要使用其它的,則要把編譯器的全路徑在這裡寫出。

4.測試一下linux編譯是否能通過

 #make s3c2410_defconfig ;使用預設核心設定檔,s3c2410_defconfig 是 SMDK2440 的預設設定檔
 #make ;編譯時間較長

5.複製建立自己的平台

5.1 linux-2.6.32.2/arch/arm/mach-s3c2440 目 錄 下 有 個mach-mini2440.c 檔案,它其實就是國外愛好者為 mini2440 移植添加的主要內容了,但我們不需要,直接刪除。

5.2 將 linux-2.6.32.2/arch/arm/mach-s3c2440/目錄下的 mach-smdk2440.c 複製一份。命名為mach-mini2440.c , 找 到 MACHINE_START(S3C2440, "SMDK2440") , 修 改 為
MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board")

5.3修改時鐘源頻率

mach-mini2440.c( 就 是 我 們 剛 剛 通 過 複 制mach-smdk2440.c 得到的)的第 160 行 static void __init smdk2440_map_io(void)函數中,把其中的 16934400(代表SMDK2440 目標板上的晶振是 16.9344MHz)改為 mini2440 開發板上實際使用的 12000000(代表 mini2440 開發板上的晶振 12MHz,元器件標號為 X2)

因為我們要製作自己的 mini2440 平台體系,因此把 mach-mini2440.c 中所有的smdk2440 字樣改為 mini2440,可以使用批處理命令修改,在 vim 的命令模式下輸入:
%s/smdk2440/mini2440/g
上面這句的意思是:把所有和“smdk2440”匹配的字串全部替換為“mini2440”,前面的“%s“代表字串匹配,最後的“g”代表 global,是全域的意思。
除此之外,還有一個地方需要改動,在 mini2440_machine_init(void)函數中,把smdk_machine_init()函數調用注釋掉,因為我們後面會編寫自己的初始化函數,不需要調用smdk2440 原來的。

6.在 Linux 原始碼根目錄下執行
#make mini2440_defconfig ;使用 Linux 官方內建的 mini2440 配置
#make zImage ;編譯核心,時間較長,最後會產生 zImage
重新編譯並把產生的核心檔案 zImage(位於 arch/arm/boot 目錄)下到板子中,可以看到核心已經可以正常啟動了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.