移植内核到s3c2440

尝试移植内核到s3c2440

一、环境搭建:

1.下载资源包:

linux-3.0.12.tar.gz (https://www.kernel.org/pub/linux/kernel/v3.0/)

ARM-Linux GCC 4.4.3(http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz)

2.解压内核:

1.tar -xzvf  linux-3.0.12.tar.gz

2.cd linux-3.0.12

3.make s3c2410_defconfig

4.修改Makefile

 195行 ARCH            ?= arm
 196 行CROSS_COMPILE   ?= arm-linux-

5.make menuconfig添加你需要的驱动支持

如果此处报错Unable to find the ncurses libraries or the,则是需要安装ncurses-devel

ubuntu下:sudo apt-get install ncurses安装

6.修改晶振频率:

内核默认晶振是16M的,但大多数开发板是12M,需要修改,不然会出现乱扣乱码的现象

arch/arm/mach-s3c2440/mach-smdk2440.c中的

160static void __init smdk2440_map_io(void)
161 {
162         s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
163         s3c24xx_init_clocks(12000000);
164         s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs))    ;
165 }
7.修改分区
arch/arm/plat-s3c24xx/common-smdk.c中的smdk_default_nand_part[]结构体数组

我的分区如下:

111 static struct mtd_partition smdk_default_nand_part[] = {
112         [0] = {
113                 .name   = "bootloader",
114                 .size   = SZ_256K,
115                 .offset = 0,
116         },
117         [1] = {
118                 .name   = "params",
119                 .offset =  MTDPART_OFS_APPEND,
120                 .size   = SZ_128K,
121         },
122         [2] = {
123                 .name   = "kernel",
124                 .offset =  MTDPART_OFS_APPEND,
125                 .size   = SZ_4M,
126         },
127         [3] = {
128                 .name   = "roots",
129                 .offset =  MTDPART_OFS_APPEND,
130                 .size   = MTDPART_SIZ_FULL,
131         },
132 };
7.make uImage

8.将arch/arm/boot/uImage烧到开发板中

此时的内核还不支持yaff文件系统可以烧jffs2文件系统



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值