歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 基於S3C2440的Linux-3.6.6移植

基於S3C2440的Linux-3.6.6移植

日期:2017/3/1 9:51:46   编辑:Linux編程

1.在下面的網站內下載目前最新的穩定版本的linux內核——linux-3.6.6

Linux Kernel 的詳細介紹:請點這裡
Linux Kernel 的下載地址:請點這裡

2.解壓到當前目錄

tar –xvjf linux-3.6.6.tar.bz2

3.修改在根目錄下的Makefile文件中的第195行和第196行:

ARCH ?=arm

CROSS_COMPILE ?= arm-linux-

4.修改機器碼,要與uboot中所設置的機器碼一致,在arch/arm/tools目錄下的mach-types文件中的第207行添加:

zhaocj2440 MACH_ZHAOCJ2440 ZHAOCJ2440 1008

5.在arch/arm/mach-s3c24xx目錄下

復制mach-mini2440.c文件為mach-zhaocj2440.c文件:

cp mach-mini2440.c mach-zhaocj2440.c

把mach-zhaocj2440.c文件內的所有MINI改為ZHAOCJ,把mini改為zhaocj

第246行中的zhaocj2440_default_nand_part結構體改為:

/* NAND Flash on ZHAOCJ2440 board */

static struct mtd_partition zhaocj2440_default_nand_part[] __initdata = {

[0]= {

.name = "u-boot",

.size = SZ_512K,

.offset = 0,

},

[1]= {

.name = "u-boot-env",

.size = SZ_512K,

.offset = SZ_512K,

},

[2]= {

.name = "kernel",

.offset = SZ_2M,

.size = SZ_4M+ SZ_2M,

},

[3]= {

.name = "root",

.offset = SZ_8M,

.size = MTDPART_SIZ_FULL,

},

};

在該目錄下,在Makefile文件中的第78行處添加:

obj-$(CONFIG_MACH_ZHAOCJ2440) += mach-zhaocj2440.o

仍然是在該目錄,在Kconfig文件中的第467行處添加:

config MACH_ZHAOCJ2440

bool "ZHAOCJ2440 development board"

select S3C_DEV_NAND

select S3C_DEV_USB_HOST

help

Say Y here to select support for the ZHAOCJ2440

6.在drivers/mtd/nand目錄下的s3c2410.c文件內,第846行中的NAND_ECC_SOFT改為NAND_ECC_NONE,即:

chip->ecc.mode = NAND_ECC_NONE;

7.在arch/arm/configs目錄下,復制mini2440-defconfig文件為zhaocj2440-defconfig文件,並把第21行中的CONFIG_MACH_MINI2440=y 修改為:

CONFIG_MACH_ZHAOCJ2440 = y

8.退回到linux-3.6.6的根目錄下,復制配置文件:

cp arch/arm/configs/zhaocj2440_defconfig .config

9.使用menuconfig來配置內核:

make menuconfig

不用修改裡面的任何內容,保存退出即可。

10.最後執行下面兩個命令:

make clean

make zImage

等待一段時間後,便會在arch/arm/boot/目錄下生成zImage文件。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-10/91993p2.htm

Copyright © Linux教程網 All Rights Reserved