linux2.6.22.1 的在s3c2410板子上的移植2007年11月05日 星期一 下午 08:12linux2.6.22.1 的在s3c2410板子上的移植
---------------------------------------------- bootloader编译环境: vivi版本:0.1.4
交叉编译器(CROSS-COMPILE)版本:2.95.3 (下载地址略:网上很多搜下。) 操作系统:redhat server 5
====================================== linux内核编译环境: 内核版本:linux2.6.22.2
交叉编译器:自己做的适合Linux2.6.22.2版本的交叉编译器 操作系统: redhat server 5
====================================== 文件系统编译环境: busybox1.5.1,或1.4.2
交叉编译器(CROSS-COMPILE)版本: 同上 操作系统: redhat server 5
---------------------------------------------- 硬件:
自己做的2410开发板
内存: 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 corss-2.95.3.tar.bz2
2. 把解压的文件夹中的 “2.95.3”文件夹拷贝到 /usr/local/arm目录下
(如果没有arm目录就新建arm目录,但是一定要是拷贝到这个目录,不然不能运
行)。
3. 在命令窗口输入
export PATH=/usr/local/arm/2.95.3/bin:$PATH
或者:
# vi /etc/profile
添加pathmunage /usr/local/arm/2.95.3/bin
#source /etc/profile
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: \ offset: 0,
size: 0x00020000, flag: 0
}, {
name: \ offset: 0x00020000, size: 0x000E0000, flag: 0 }, {
name: \ offset: 0x00100000, size: 0x00300000, flag: 0 }, {
name: \ offset: 0x00400000, size: 0x01400000, flag: MF_BONFS }, {
name: \ 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-
3. 编译
[root@localhost vivi]# make
------------------------------------------------------------------------ 会在 vivi目录生成你要的 vivi 程序(bootloader) ------------------------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 说明:我的nand falsh的一块为16k,