宿主機: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 的核心原始碼目錄 安裝交叉工具鏈,然後修改環...