linux 2 6 33核心的移植過程

2021-06-06 09:51:47 字數 2366 閱讀 1801

宿主機:ubuntu-11.10

目標機:s3c2440

交叉

編譯器:arm-linux-gcc-3.4.2

要移植的

核心版本:linux-2.6.33

檔案系統

型別: yaffs2 

#tar  jxvf  linux-2.6.33.tar.bz2

2.移植yaffs2驅動:

#tar  zxvf  yaffs2.tar.gz

#cd yaffs2

#./patch-ker.sh 

c  ../linux-2.6.33

3.修改機器碼

#vi  arch/arm/tools/mach-types

刪除 smdk2410 

arch_smdk2410 

smdk410 

193 這一行

將s3c2440 

arch_s3c2440 

s3c2440 

362 這行

改為s3c2440 

arch_s3c2440 

s3c2440 

1934.修改linux-2.6.33/makefile

arch 

?= arm

cross_compile 

?= /usr/local/arm/3.4.1/bin/arm-linux-

5.增加devfs檔案管理器的支援

我們所用的檔案系統使用的是devfs檔案管理器。

# vi  linux-2.6.33/fs/kconfig

在menu "pseudo filesystems"下面新增

config devfs_fs

bool "/dev file system support (obsolete)"

default y 

config devfs_mount

bool "automatically mount at boot"

default y

depends on devfs_fs

6.修改晶振頻率

#vi  arch/arm/mach-s3c2440/mach-smdk2440.c

將s3c24xx_init_clocks(16934400) 改為 

s3c24xx_init_clocks(12000000) 

7.修改mtd分割槽

# vi  arch/arm/plat-s3c24xx/common-smdk.c

1.  static struct mtd_partition smdk_default_nand_part = ,

7.  [1] = ,

12. 

[2] = ,

17. 

[3] = ,

22. 

[4] =

27. 

}; 8.關閉ecc校驗

檔案:drivers/mtd/nand/s3c2410.c

函式:s3c2410_nand_init_chip

將chip->ecc.mode = nand_ecc_soft  改為  

chip->ecc.mode = nand_ecc_none

9.修改nandflash驅動,支援k9f2g08的nandflash

修改drivers/mtd/nand下面的nand_bbt.c檔案:

1.  static struct nand_bbt_descr largepage_memorybased = ;

7.  static struct nand_bbt_descr largepage_flashbased = ;

10.開始配置核心

進入linux-2.6.33目錄,把s3c2410的預設配置寫入config檔案。

# make s3c2410_defconfig

# make menuconfig

注:在執行make menuconfig遇到

在包含自 scripts/kconfig/lxdialog/checklist.c:24 的檔案中:

scripts/kconfig/lxdialog/dialog.h:32:20: 錯誤: curses.h:沒有該檔案或目錄

解決方法:先更新後安裝外掛程式,apt-get install libcurses5-dev 

# make zimage

Linux2 6 33定時器和時間管理

在中定義 extern unsigned long volatile jiffies 第二變數也定義在中 extern u64 jiffies 64 ld鏈結指令碼用於連線核心映像 x86位於arch x86 kernel vmlinux.lds.s 然後jiffies 64變數的初值覆蓋jiffi...

linux核心移植

1.基本開發環境 u boot版本 u boot 2012.04.01 假設u boot已經移植好 linux平台 虛擬機器下ubuntu 14.04 交叉編譯工具 gcc 4.4.3 arm開發板 mini2440 cpu s3c2440 sdram 64m,nor flash 2m,nand f...

Linux核心移植

實驗步驟 1 準備工作 2 修改頂層makefile 3 修改falsh 分割槽 4 配置編譯核心 下面以linux2.6.30.4核心移植到gec2440為例 cd linux 2.6.30.4 解壓後會在當前目錄下生成乙個linux 2.6.30.4 的核心原始碼目錄 安裝交叉工具鏈,然後修改環...