---------------------------------------------- bootloader编译环境: vivi版本:0.1.4 交叉编译器(CROSS-COMPILE)版本:2.95.3 (下载地址略:网上很多搜下。) 操作系统:Fedora 7 ====================================== linux内核编译环境: 内核版本:linux2.6.22.1 交叉编译器(CROSS-COMPILE)版本: 4.2.0 (下载地址: ) 注意:下载选项,要选 ARM EABI 的选项,和 IA32 GNU/linux 操作系统: Fedora 7 ====================================== 文件系统编译环境: busybox1.5.1,或1.4.2 交叉编译器(CROSS-COMPILE)版本: 3.3.2 (下载地址: ) 操作系统: Fedora 7 ---------------------------------------------- 硬件: 板子是中嵌科技的CE2410-1 内存: 64MB SDRAM(2×16M×16位); CPU: S3C2410 ARM处理器, Nor Flash:2MB的Nor Flash,用于固化测试程序(用来下载bootloader,内核,或文件系统); NANDflash: 64MB的Nand Flash,用于存储Bootloader、Linux内核及文件系统、应用程序和数据; =============================================================== 一: 编译环境搭建 =============================================================== 一:搭建交叉编译环境 说明:由于编译交叉编译环境比较繁琐,建议大家用已经编译好的交叉编译环境。 下面以3.3.2的交叉编译环境的搭建为例,其他的两个的编译器环境搭建一样。
1. 解压文件命令: tar jxvf obsolete-gcc-3.3.2.tar.bz2 (obsolete-gcc-3.3.2.tar.bz2下载地址: )
2. 把解压的文件夹中的 “3.3.2”文件夹拷贝到 /usr/local/arm目录下 (如果没有arm目录就新建arm目录,但是一定要是拷贝到这个目录,不然不能运行)。
3. 在命令窗口输入 export PATH=/usr/local/arm/3.3.2/bin:$PATH
4. 如果输入 arm- 然后按下tab键能自动补全命令 arm-linux- 说明搭建成功。
=============================================================== 二: bootloader 编译 ===============================================================
二: bootloader的修改
主要修改分区信息,如果要能下载yaffs文件系统还得另外打补丁,最近我会写编这样的文章。 具体修改:
1. 解压vivi(具体命令略,如果你解压都不会,移植可能对你来说有点困难) [root@localhost vivi]# ls arch CVS drivers init Makefile Rules.make test vivi vivi.map COPYING Documentation include lib Makefile.newSDK scrīpts util vivi-elf
2. [root@localhost vivi]# vim ./arch/s3c2410/smdk.c 修改 NAND flash 分区如下: ---------------------------------------------------------------------- mtd_partition_t default_mtd_partitions[] = { { name: "bootloader", offset: 0, size: 0x00020000, flag: 0 }, { name: "param", offset: 0x00020000, size: 0x000E0000, flag: 0 }, { name: "kernel", offset: 0x00100000, size: 0x00300000, flag: 0 }, { name: "root", offset: 0x00400000, size: 0x01400000, flag: MF_BONFS }, { name: "user", offset: 0x01800000, size: 0x02C00000, flag: MF_BONFS } }; -------------------------------------------------------------------------
3. 修改Makefile [root@localhost vivi]# vim Makefile 修改 ARCH LINUX_INCLUDE_DIR CROSS_COMPILE 如下: ------------------------------------------------------------------------ ARCH := arm LINUX_INCLUDE_DIR = /usr/local/arm/2.95.3/include/ CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux- |