ARM-Linux 内核移植--基于FL2440开发板(修改为Linux单系统)

本文介绍了如何通过修改FL2440开发板的bootloader源码来调整NANDFlash分区大小,并对内核进行相应配置,以充分利用更大的Flash空间,从而提高Linux系统的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件平台:FL2440开发板

内核版本:2.6.28

主机:ubuntu 11.04

内核版本:2.6.39

原创作品,转载请标明出处http://blog.youkuaiyun.com/yming0221/archive/2011/06/24/6566551.aspx

本来以为fl2440的nand flash大小为128M,问了客服才知道,现在FL2440使用的是现代的flash,现在都换成256M的了,只是飞凌的bootloader没有相应的修改,它使用的既不是u-boot,也不是vivi,而是自己的bootloader。现在修改bootloader源码中的nand.c

修改如下:

//可更改删除分区,分区名字不可改 static struct Partition NandPart[] = { {0, 0x00020000, "boot"}, //128K one block {0x00020000, 0x00060000, "bootParam"}, //384K three blocks {0x00080000, 0x00100000, "pic"}, //1M {0x00180000, 0x00380000, "MyApp"}, //3.5M {0x00500000, 0x00300000, "kernel"}, //3M {0x00800000, 0x0f000000, "fs_yaffs"}, //240M //{0x09e00000, 0x00080000, "eboot"}, //512K //{0x09e80000, 0x06400000, "wince"}, //100M {0, 0 , 0} };

使用ADS工具,重新编译bootloader,生成.bin文件,然后烧写bootloader,这样分给linux文件系统的flash 大小为240M(由于自己不用

WIN CE)

这样使linux充分利用flash,不用将许多库文件挂载成NFS了

然后修改FL2440自带的内核(大部分驱动都已经集成)修改linux/arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part[] = { [0] = { .name = "Boot", .size = 0x00100000, .offset = 0 }, [1] = { .name = "MyApp", .size = 0x003c0000, .offset = 0x00140000, }, [2] = { .name = "Kernel", .size = 0x00300000, .offset = 0x00500000, }, [3] = { .name = "fs_yaffs", .size = 0x0f000000, //240M .offset = 0x00800000, }, /*[4] = { .name = "WINCE", .size = 0x03c00000, .offset = 0x04400000, } */ };

然后make zImage重新编译内核。烧写内核。

最后将以前制作好的文件系统烧写进去即可。

(注:由于大小为64M的sdram,文件系统过大将不能使用这种bootloader烧写进去,可以先将qt的库删除,启动起来后,使用NFS载,然

后复制过去即可)。

输入cat /proc/mtd查看分区信息

成功修改分区,将双系统改为单系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值