欢迎来到天天文库
浏览记录
ID:2080153
大小:70.50 KB
页数:15页
时间:2017-11-14
《linux2.6.34.2在tq6410上的移植详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、由于Linux2.6.34.2对S3C64xx有了一定的支持,所以采用Linux2.6.34.2版本的内核。 一、 移植环境主 机:VMWare--Fedora 8开发板:天嵌TQ6410—256Mnandflash,Kernel:2.6.34.2编译器:EABI-4.3.2_V0.1u-boot:u-boot-2010.08二、 源码获得 内核源码到http://www.all.kernel.org/下载;三、 移植步骤:1.将Linux2.6.34.2内核源码放到工
2、作目录文件夹下,并解压。#tarxzvflinux2.6.34.2.tar.gz–c/#pwd/ #cdlinux2.6.34.2 2. 修改内核源码根目录下的Makefile文件(CROSS_COMPILE =的值因个人情况而定,其他可以照做,蓝色部分为修改部分。) #geditMakefile......#SUBARCH:=$(shelluname-m
3、sed-es/i.86/i386/-es/sun4u/sparc64/# -es/arm
4、.*/arm/-es/sa110/arm/# -es/s390x/s390/-es/parisc64/parisc/# -es/ppc.*/powerpc/-es/mips.*/mips/)......#ARCH ?=$(SUBARCH)#CROSS_COMPILE ?=ARCH =armCROSS_COMPILE =/usr/local/arm/usr/local/arm/4.3.2/bin/arm-none
5、-linux- gnueabi- 3. 对于平台时钟的修改,可以查看内核顶层目录下的arch/arm/mach-s3c64xx/mach-smdk6410.c在smdk6410_mapio()函数中有声明为12000000,而开发板上的外部时钟也是12M所以不用修改。 4. 修改机器码,可以看到在arch/arm/mach-s3c64xx/mach-smdk6410.c中MACHINE_START(SMDK6410,”SMDK6410”)是在uboot引导内核时需要对应的机器码。所以在ar
6、ch/arm/tools/mach-types文件中找到这个SMDK6410对应的机器码并改为888(uboot中是这样设置的)。 4. 配置内核,由于开始对s3c6410的内核支持结构不是很了解,所以可以采用默认配置内核。(arch/arm/configs/目录下是一般内核的默认配置)#pwd#/linux2.6.34.2#cp–farch/arm/configs/s3c6400_defconfig.config可以使用makemenuconfig对刚刚配置的内核根据具体的情况进行修改,开始我没有进
7、行修改直接makezImage,最后在arch/arm/boot/目录下生成zImage镜像文件。5.使用mkimage命令打包zImage并烧写到开发板上。#mkimage–n‘linux-2.6.34.2’-Aarm-Olinux-Cnone-a0xc0008000-e0xc0008000-dzImageuImage可以看到内核停在Startingkernel...不能解压内核。打印信息如下:Bootingimageatc0008000...
8、ImageName: Linux-2.6.34.2 Created: 2010-08-10 0:13:40UTC ImageType: ARMLinuxKernelImage(uncompressed) DataSize: 1650092Bytes= 1.6MB LoadAddress:c
9、0008000 EntryPoint: c0008000 VerifyingChecksum...OK Startingkernel...后来经过对比天嵌原来开发板上的内核是没有上面的打印信息的,在
此文档下载收益归作者所有