




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux内核移植指导书 实训指导书1-Linux内核向ARM(S3C2410)平台的移植实训目的完成linux2.6.14内核向S3C2410实验箱的移植实训内容包含以下内容 1、准备实验环境,包括安装VMware Tools,准备源码文件。 2、修改环境变量,对flash进行分区,将分区信息加入内核源码,指定启动时的设备初始化, 3、下载Yaffs2,解压Yaffs2并将其加入Linux内核,修改Makefile, 4、配置内核产生.config文件,然后编译:make zImage, 5、修改、创建根文件系统,所需设备PCVMWare linux操作系统实训要求本次实验要求提交实训报告,可简要描述实验步骤,重点描述本人在实训过程中遇到的问题和解决的方法。 实训步骤由老师提供所需要的工具安装包、内核源码和实训指导书,各位同学根据文档逐步配置编译,实训内容包括安装虚拟机、搭建交叉编译环境、修改内核源码、Makefile的改写、内核配置裁减、编译调试等。 1、准备工作需要以下工具和文件文件名获得方法说明arm-linux-g-3.4.1.tar.bz2ftp:/ftp.handhelds/projects/toolchain/arm-linux-g-交叉编译工具3.4.1.tar.bz22linux-2.6.14.tar.bz2.kernel/pub/linux/kernel/v2.6/linux-.tar.bz2内核源码yaffs2.tar.gz .aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar文件系统源码实训Linux内核移植指导书.doc老师提供实训指导书VmWorkStation的配置.ppt老师提供Vmware vmtools的安装方法?在PC机E盘根目录下建立目录“vmshare”,将上述文件拷贝到“vmshare”目录下,?启动linux后,安装vmware tools,具体步骤参见“VmWorkStation的配置.ppt”,P18-30安装vmware tools的目的,主要是配置虚拟机与winxp的文件共享,PC机上的共享目录是e盘下的vmshare目录,linux下的共享目录是/mnt/hgfs/vmshare 2、展开源码在本步骤中,展开源码,并设置环境变量1mkdir/home/armlinux/创建工作目录2cd/home/armlinux/进入工作目录3cp/mnt/hgfs/vmshare/arm-linux-g-3.4.1.tar.bz2。 /将交叉工具链拷贝到当前目录4cp/mnt/hgfs/vmshare/linux-2.6.14.tar.bz2。 /将linux内核源码拷贝到当前目录5tar-jxvf linux-2.6.14.tar.bz2/在当前目录展开内核源码6cd/回到根目录7tar-jxvf/home/armlinux/arm-linux-g-3.4.1.tar.bz2/展开交叉编译工具建立环境变量、修改Makefile将交叉编译工具路径和内核源码路径加入环境变量。 修改/root/.bash_profile文件vi/root/.bash_profile在文件末尾添加以下内容export KERNEL=/home/armlinux/linux-2.6.14/说明内核源码目录export PATH=/usr/local/arm/3.4.1/bin:$PATH/说明交叉编译工具路径添加完成后存盘退出,执行命令source/root/.bash_profile echo$KERNEL/判断KERNEL变量是否成功定义,应该显示/home/armlinux/linux-2.6.14进入内核源码目录下$KERNEL,修改对应的Makefile文件:cd$KERNEL vi3Makefile找到ARCH与CROSS_PILE,修改为ARCH=arm/注意arm后不能有空格CROSS_PILE=arm-linux-/注意arm-linux-后不能有空格保存退出 3、修改内核源码将分区信息加入内核源码(修改arch/arm/mach-s3c2410/devs.c)#vi$KERNEL/arch/arm/mach-s3c2410/devs.c添加头文件#include#include#include添加分区结构,其中name:代表分区名字,size:代表flash分区大小(单位字节),offset:代表flash分区的起始地址(相对于0x0的偏移),目标板计划分5个区,分别存放bootloader,bootloader param,kernel,rootfs和yaffs。 static structmtd_partition partition_info=name:loader,/分区名字,任意size:0x00020000,/分区大小offset:0x0,/分区的起始地址,相对于0x0的偏移,name:param,size:0x00010000,offset:0x00020000,name:kernel,size:0x00200000,offset:0x00030000,name:rootfs,size:0x00300000,offset:0x00230000,name:yaffs,size:0x03A00000,offset:0x00530000,在vi中查找一个字符串的方法在命令行方式下,键入/ARCH,含义是,查询以ARCH开头的行具体是在该文件的第 192、193行在devs.c文件的include说明的后面加加在include说明结束后4;加入Nand Flash分区,nr_partitions指明partition_info中定义的分区数目,partitions分区信息表struct s3c2410_nand_set nandset=nr_partitions:5,/分区数量partitions:partition_info,/分区表;加入对Nand Flash芯片的支持tacls,twrph0,twrph1的意思见S3C2410手册sets:支持的分区集,nr_set:分区集的个数struct s3c2410_platform_nand superlpplatform=/NAND Flash芯片支持/参数意义可参考S3C2410手册tacls:0,twrph0:30,twrph1:0,sets:&nandset,nr_sets:1,;修改s3c_device_nand,以加入NAND Flash驱动name:设备名称,id:有效设备编号,如果只有唯一的一个设备为1,有多个设备从0开始计数。 num_resource:有几个寄存器区,resource:寄存器区数组首地址,dev:支持的Nand Flash设备struct platform_device s3c_device_nand=.name=s3c2410-nand,/设备名称.id=-1,/有效设备编号,-1表示唯一设备.num_resources=ARRAY_SIZE(s3c_nand_resource),/寄存器区的个数.resource=s3c_nand_resource,/寄存器区的首地址/添加如下信息,表示NAND Flash设备.dev=.platform_data=&superlpplatform;在devs.c中查找s3c_device_nand,即在命令行方式下输入:/s3c_device_nand指定启动时的设备初始化5kernel启动时依据我们对分区的设置进行初始配置,修改arch/arm/mach-s3c2410/mach-smdk2410.c文件,修改smdk2410_devices结构,指明初始化时包括在前面所设置的flash分区信息vi$KERNEL/arch/arm/mach-s3c2410/mach-smdk2410.c找到结构platform_device,在结构定义的最后加入一个条项&s3c_device_nand staticstruct platform_device*smdk2410_devices_initdata=&s3c_device_usb,&s3c_device_lcd,&s3c_device_wdt,&s3c_device_i2c,&s3c_device_iis,/添加如下信息&s3c_device_nand,;禁止Flash ECC效验内核通过vivi把数据写入NAND Flash,而vivi的ECC效验算法和内核的不同,内核的效验码是由NAND Flash控制器产生的,所以在此必须禁用NAND FlashECC。 修改drivers/mtd/nand/s3c2410.c文件vi$KERNEL/drivers/mtd/nand/s3c2410.c找到s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:chip-emode=NAND_ECC_NONE;保存,退出。 4、解压Yaffs2,并加入内核解压Yaffs2并将其加入Linux内核cd/home/armlinux tar-zxvf yaffs2.tar.gz cdyaffs2sh patch-ker.sh c$KERNEL 5、内核配置(.config)与编译为了使内核支持devfs,启动时在/sbin/init运行之前能自动挂载/dev为devfs文件系统,修改fs/Kconfig文件cd$KERNEL vifs/Kconfig找到menuPseudo filesystems,添加以下语句config DEVFS_FS在vi中查找该函数,即,在命令行方式下输入:/s3c2410_nand_init_chip在vi中查找该函数,即,在命令行方式下输入:/platform_device在vi中查找该函数,即,在命令行方式下输入:/Pseudo filesystems6bool/dev file system support(OBSOLETE)default yconfig DEVFS_MOUNT boolAutomatically mountat bootdefault ydepends onDEVFS_FS配置内核产生.config文件cp arch/arm/configs/smdk2410_defconfig.config makemenuconfig在smdk2410_defconfig基础上,所增删的内核配置项如下Loadable module support*Enable loadablemodulesupport*Automatic kernelmodule loadingSystem Type*S3C2410DMA supportBoot optionsDefault kernelmand string:noinitrd root=/dev/mtdblock/3init=/linuxrc console=ttySAC0,115200说明mtdblock3代表的第4个flash分区,它是rootfs,而console=ttySAC0,115200使kernel启动期间的信息全部输出到串口0上,2.6内核对于串口的命名改为ttySAC0,但这不影响用户空间的串口编程。 用户空间的串口编程针对的仍是/dev/ttyS0等Floating pointemulation*NWFPE mathemulation#接下来要做的是对内核MTD子系统的设置Device DriversMemory TechnologyDevices(MTD)-*MTD partitioningsupport#支持MTD分区,这样我们在前面设置的分区才有意义*Command linepartition tableparsing#支持从命令行设置flash分区信息,灵活RAM/ROM/Flash chipdrivers-Detect flashchips byCommon FlashInterface(CFI)probeDetect nonCFIAMD/JEDECpatible flashchipsSupport forIntel/Sharp flashchipsSupport forAMD/Fujitsu flashchips7Support forROM chipsin busmapping NAND Flash DeviceDrivers-NAND DeviceSupportNANDFlashsupport forS3C2410/S3C2440SoC Characterdevices-=*Nonstandardserial portsupport*S3C2410RTC Driver#接下来做的是针对文件系统的设置,目标板上的根文件系统是cramfs,所以做如下配置File systemsSecond extendedfs support#去除对ext2的支持Pseudo filesystems*/proc file system support*Virtual memoryfilesystem support(former shmfs)*/dev file
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电塔筒水性面漆项目可行性研究报告
- 防火隔离带项目可行性研究报告
- 电容储能技术项目可行性研究报告
- 2026年高考语文总复习文言文专题-教师版-古代文化常识(复习讲义)
- 投资与资产管理公司合同付款管理办法
- 新材料产业市场前景预测
- 美食文化节市场推广方案
- 防护知识培训内容课件
- 企业施工合同8篇
- 环卫公司劳动合同3篇
- 中央基建投资绩效目标表
- 电商企业海外中转仓库管理方法与经验
- 高压电气设备试验的基本知识
- 整理我的小书桌(课件)小学劳动二年级通用版
- 激光束传输与变换-第九讲课件
- 时空大数据讲义课件
- 2023年上海国企中远海运(上海)有限公司招聘笔试题库含答案解析
- 管工安全技术操作规程
- 武汉某厂房设备基础施工方案
- 第4部分 质量经理-质量管理体系章节题-43题附有答案
- DL-T 736-2021 农村电网剩余电流动作保护器安装运行规程
评论
0/150
提交评论