ARM Linux 2 6 34核心移植

2021-09-07 21:13:09 字數 1951 閱讀 4940

arm-linux-gcc版本4.3.2.以安裝在/usr/local/arm/4.3.2下.

第一步:

修改linux-2.6.34/makefile檔案,在makefile中找到以下兩條資訊並做修改

arch ? =arm 

cross_compile ?=/usr/local/arm/4.3.2/bin/arm-linux-

第二步:

修改平台輸入時鐘

修改平台的時鐘頻率,修改核心原始碼「arch/arm/mach-s3c2440/mach-smdk2440.c」

把時鐘初始化中(s3c24xx_init_clocks(16934400 ))的16934400 改為12000000,因為我們的開發板上為12m

第三步:

修改機器型別id號::

bootloader啟動核心時,會傳遞機器型別id進來,這裡需根據bootloadr傳進的id修改核心id號.

在核心原始碼的「arch/arm/tools/mach-types」檔案查詢s3c2440,這裡剛好與我們的bootloader相同,所以不用做修改,直接儲存退出即可,如果不同則根據bootloader的內容修改此檔案,或根據此檔案修改boorloader的內容(在vivi中可通過param show檢視)。

第四步:

解壓yaffs2.tar.gz原始碼包,進入yaffs2資料夾,給核心打上補丁使核心支援yaffs2

# ./patch-ker.sh  c  /home/linux-2.6.34

結果:更新了兩個檔案系統下的檔案

updating /home/linux-2.6.34/fs/kconfig

updating /home/linux-2.6.34/fs/makefile

第五步:

修改核心mtd分割槽和bootloader(vivi)使其一致

編輯檔案arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part = ,

[1] = ,

[2] = ,

};第六步:

修改檔案drivers/mtd/nand/s3c2410.c

將s3c2410_nand_init_chip函式裡的nand_ecc_soft改為nand_ecc_none(因為在核心中預設配置不支援ecc校驗,當然也可以在核心配置時選中ecc選項)

修改後如下:

chip->ecc.mode        = nand_ecc_none;

第七步:

到llinux-2.6.30目錄下執行命令

#cp  arch/arm/configs/s3c2410_defconfig  .config

第八步:

執行make menuconfig,並對選項進行配置

1)system type --->

s3c2440 and s3c2442 machines --->

僅保留smdk2440 與smdk2440 whith s3c2440 cpu module兩個選項,將其他的選項全部勾掉

2)kernel features --->

[*]use the arm eabi to compile the kernel(選中該選項)

3)file systems --->

a、把與ext2 ext3 ext4相關的所有選項全部去掉

b、miscellaneous filesystems --->

<*>yaffs2 file system support(選中此選項)

去除所有與jffs2相關的選項

儲存退出

第九步:執行make zimage

編譯生成核心.

在arch/arm/boot下生成編譯好的可執行程式zimage.  這個是在

vivi

下使用的.

wenhao@20110609

編譯 linux核心 2 6 34

最進核心老報錯,所以就產生編譯最新核心 2.6.34 第一步安裝必要的工具 首先要安裝必要的包。包有 libncurses5 dev menuconfig 需要的 和 essential sudo apt get install build essential kernel package sudo...

編譯arm linux核心

這一次寫一下編譯 arm核心以及根檔案系統的體驗,我使用的是 linux 2.6.30.4 的核心,通過 第一步 解壓原始檔 tar jxvf linux 2.6.30.4.tar.bz2 c opt 下。第二步 更改主目錄下 makefile 檔案,使其支援 arm架構。在 193行的 arch ...

CFS排程分析 核心版本 2 6 34

cfs不再有時間片的概念,他維護的是每個程序執行的時間記賬 使用排程器實體結構來追蹤程序執行記賬 無數統計變數 但是演算法核心就是圍繞vruntime設計。排程器實體,作為程序的乙個名為se的成員變數。cfs使用vruntime變數來記錄乙個程式到底執行了多長時間以及他要應該執行多久。中,up da...