GT2440_linux_移植

在这里我写下我学习之旅,给以后留给参考

在arm-Linux移植先要完成一下基本流程:

1)配置交叉编译环境 arm-linux-gcc.4.3.2 (在我上传的资源中有)

2)获得Linux源码包linux-2.6.34.13.tar 并且对其中的几项参数的修改

Linux源码包下载地址2.6版本的ftp://ftp.kernel.org/pub/linux/kernel/v2.6/


1)好吧,我们现在就开始配置交叉编译环境

先将我提供的arm-linux-gcc源码包下载:

将这两个源码包拷贝到你的linux上, 然后进入相应目录,将usr.tar 和libc.tar 解压 具体命令如下:

tar zxvf usr.tar.gz -C /

tar zxvf libc.tar.gz -C /usr/local/arm/4.3.2/arm-none-linux-gnueabi/

-C 后面是解压指定的路径

这样我们就能在/usr/local/看到arm这个目录了

再修该  /etc目录下的profile文件, 向profile文件添加 pathmunge /usr/local/arm/4.3.2/bin 这句话 命令如下:

vim /etc/profile

在30行左右加入

# Path manipulation
if [ "$EUID" = "0" ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
        pathmunge /usr/local/arm/4.3.2/bin
fi

保存推出 执行 source /etc/profile

到这里交叉编译环境配置完成


2)我用的是linux-2.6.34.13版本的内核(下载地址如上)。我将其解压在目录 /root/tar/ 下,命令如下:

tar jxvf linux-2.6.34.13.tar.bz2 -C /root/tar/

进入该目录 命令 cd /root/tar/linux-2.6.34.13/

先 make clean ,将不该有的东西去掉

在本版本中没有对gt2440的支持所以我们直接就用mini2440的配置好了(其实所有的2440开发板大部分都一样仅仅是一些接口的变化而已)

首先,我们要改分区表 命名:

vim arch/arm/mach-s3c2440/mach-mini2440.c

将函数:static struct mtd_partition mini2440_default_nand_part[] __initdata = {
[0] = {
.name = "u-boot",
.size = SZ_256K,
.offset = 0,
},
[1] = {
.name = "u-boot-env",
.size = SZ_128K,
.offset = SZ_256K,
},
[2] = {
.name = "kernel",
/* 5 megabytes, for a kernel with no modules
* or a uImage with a ramdisk attached */
.size = 0x00500000,
.offset = SZ_256K + SZ_128K,
},
[3] = {
. name = "root",
.offset = SZ_256K + SZ_128K + 0x00500000,
.size = MTDPART_SIZ_FULL,
},
};

该为:static struct mtd_partition mini2440_default_nand_part[] __initdata = {

[0] = {
.name = "uboot",
.offset = 0x00000000,
.size = 0x00080000,
},
[1] = {
.name = "kernel",
.offset = 0x00240000,
.size = 0x00400000,
},
[2] = {
.name = "yaffs2",
.offset = 0x00640000,
.size = 0x0F940000,
}

};

保存推出

在修该设备好。u-boot 在启动linux内核是会向linux传递参数的其中就包括设备好,gt2440的设备好是9999,修改如下:

vim  arch/arm/tools/mach-types

在1990行左右将

mini2440                MACH_MINI2440           MINI2440                1999

改mini2440                MACH_MINI2440           MINI2440               9999

保存推出,再执行命令

make mini2440_defconfig ARCH=arm CROSS_COMPILE=arm-linux-

配置mini2440的文件

再执行命令 

make zImage ARCH=arm CROSS_COMPILE=arm-linux-

这就开始编译内核了,在这期间需要20分钟左右

编译完成就会在目录  arch/arm/boot/ 下生成zImage文件 这个就是你要下载到gt2440上的但是不支持yaffs2

下篇 支持yaffs2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值