主题 : 最新版mini2440兼容2009.4.18版问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 7192
精华: 0
发帖: 7
金钱: 70 两
威望: 65 点
综合积分: 14 分
注册时间: 2009-07-05
最后登录: 2009-08-30
楼主  发表于: 2009-08-22 20:46

 最新版mini2440兼容2009.4.18版问题

在网上看到mini2440更新了,于是下载了光盘准备把原来的系统更新一下。首先用bios命令行烧写supervivi时出现错误,大小超出了分区的大小,查看最新版的supervivi-64M是251K大小,原来的是125K,而默认的分区大小是200K,显然已经超出了,所以我选择沿用旧版的vivi;其次烧写完kernel后,运行boot命令,系统启动到解压linux内核就停止了,查看原因是Mach-type不一致,比较两个版本的内核源码,发现有3个重大的改变:
        1.增加了对TFT640*480屏的支持(这对我使用的N320*240屏无影响);
        2.改变了MINI2440的机器码,原来是“MACHINE_START(PNX4008, "FriendlyARM Mini2440 development board")”现在是“MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board")”查看两者定义值,前者是782与旧版supervivi机器码一致,后者1999(因为我使用的是旧版vivi,所以两者不兼容,我想新版的vivi肯定也变了吧!);
        3.改变了默认分区结构,增加了一个nand分区,但大小“.size = 1024 * 1024 * 1024”好像有问题。

于是修改机器码,重新编译,发现zImage大小大于2M,于是去除些配置(旧版kernel中也存在这个问题,映像文件超过2M),烧写内核和根文件系统,启动。发现运行到根文件系统时出现错误,大致意思是某些启动无法进行,于是尝试烧写旧版kernel,不存在此问题,由此看出问题应该是出在分区部分,尝试把旧版的static struct mtd_partition friendly_arm_default_nand_part[]替换新的分区,重新编译烧写,启动,OK,没问题了。我不知道其他人有没有遇到这种情况?
级别: 新手上路
UID: 8603
精华: 0
发帖: 2
金钱: 20 两
威望: 10 点
综合积分: 4 分
注册时间: 2009-08-29
最后登录: 2009-09-20
1楼  发表于: 2009-08-30 03:28
我也是燒supervivi-64M 時 , 無法燒入, 而己用舊版vivi,
能否分享static struct mtd_partition friendly_arm_default_nand_part[]替换新的分区設定方法??