"这篇文档是关于将Android开源项目移植到博创2410实验箱的实践报告,主要涉及移植的几个关键步骤,包括修改VIVI bootloader、内核源码的修改和配置、驱动移植以及Android根文件系统的制作。小组成员包括秦国利、魏巍、李伟和杨邵文,他们在2010年春季进行了这项工程实践。"
移植Android到博创2410实验箱是一个复杂的过程,首先要解决的是VIVI bootloader的问题。由于实验箱的内核分区默认只有1M,而配置后的内核大小达到1.7M,因此需要对VIVI的分区表进行调整,扩大内核分区的容量,以容纳更大的内核镜像。这一步骤对于启动过程至关重要,因为VIVI是加载内核到内存的程序。
接下来,团队对内核源码进行了修改和配置。首先,在Makefile中设置了架构为ARM,并定义了交叉编译器路径。然后,在arch/arm/plat-s3c24xx/common-smdk.c中添加了NAND Flash分区信息和硬件信息,确保这些信息与VIVI的分区表一致。同时,他们还修改了drivers/mtd/nand/s3c2410.c,禁用了NAND Flash的ECC校验,可能是因为实验环境中不需要或者为了优化性能。
配置编译内核是通过运行makemenuconfig命令完成的,这一步是为了添加Android所需的特定功能和设置。完成后,通过执行make命令编译内核,产生的zImage文件会通过VIVI烧写到kernel分区,检查VIVI能否正确引导新内核。
移植过程中,驱动移植也是一项重要任务。针对博创2410-S实验箱配备的AX88796网卡,团队需要移植驱动以支持NFS挂载。为此,他们在arch/arm/目录下的Kconfig文件中增加了对ISA总线的支持,并在include/asm-arm/arch-s3c2410文件夹下针对该网卡的特性进行了相应的修改。
此外,制作Android根文件系统也是移植工作的一部分,这部分内容没有在摘要中详细展开,但通常会涉及到选择和编译必要的用户空间程序和服务,以便为Android系统提供基础运行环境。
最后,团队会运行Android应用程序并进行测试,以验证移植的成功性和系统功能的完整性。整个移植过程不仅涉及到技术层面的操作,还展示了团队协作和问题解决的能力。
这个项目涵盖了Android系统移植的关键环节,从低级别的bootloader修改到内核配置、驱动移植和根文件系统构建,都是为了让Android能够在特定硬件平台上顺利运行。这种实践有助于深入理解Android系统的结构和工作原理,对于提升开发者在嵌入式领域的技能和经验具有重要意义。