linux26221 的在s3c2410板子上的移植_第1页
linux26221 的在s3c2410板子上的移植_第2页
linux26221 的在s3c2410板子上的移植_第3页
linux26221 的在s3c2410板子上的移植_第4页
linux26221 的在s3c2410板子上的移植_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、linux 的在s3c2410板子上的移植2007年11月05日 星期一 下午 08:12linux 的在s3c2410板子上的移植-bootloader编译环境:vivi版本:0.1.4交叉编译译器(CCROSSS-CCOMPPILEE)版本本:2.95.3(下载地地址略:网上很很多搜下下。)操作系统统:reedhaat sservver 5=linuux内核核编译环环境:内核版本本:liinuxx交叉编译译器:自自己做的的适合LLinuux2版本的的交叉编编译器操作系统统: rredhhat serrverr 5=文件系统统编译环环境:busyyboxx1.55.1,或1

2、.4.22交叉编译译器(CCROSSS-CCOMPPILEE)版本本: 同同上操作系统统: rredhhat serrverr 5-硬件: 自自己做的的24110开发发板 内存: 664MBB SDDRAMM(216MM16位位); CPUU: S33C24410 ARMM处理器器, Norr Fllashh:2MMB的NNor Flaash,用于固固化测试试程序(用来下下载boootlloadder,内核,或文件件系统); NANNDfllashh: 664MBB的Naand Flaash,用于存存储Boootlloadder、Linnux内内核及文文件系统统、应用用程序和和数据;+= 一:

3、 编译译环境搭搭建=一:搭建建交叉编编译环境境说明:由由于编译译交叉编编译环境境比较繁繁琐,建建议大家家用已经经编译好好的交叉叉编译环环境。下面以33.3.2的交交叉编译译环境的的搭建为为例,其其他的两两个的编编译器环环境搭建建一样。1. 解解压文件件命令: taar jjxvff corrss-2.995.33.taar.bbz22. 把把解压的的文件夹夹中的 “2.995.33”文件夹夹拷贝到到 /uusr/loccal/armm目录下下 (如果果没有aarm目目录就新新建arrm目录录,但是是一定要要是拷贝贝到这个个目录,不然不不能运行行)。3. 在在命令窗窗口输入入 exxporrt

4、PPATHH=/uusr/loccal/armm/2.95.3/bbin:$PAATH或者: # vvi /etcc/prrofiile 添加ppathhmunnagee /uusr/loccal/armm/2.95.3/bbin #souurcee /eetc/proofille4. 如如果输入入 arrm 然后按按下taab键能能自动补补全命令令 arrmllinuux 说明搭搭建成功功。= 二二: boootlooadeer 编编译=二: boootlloadder的的修改主要修改改分区信信息,如如果要能能下载yyafffs文件件系统还还得另外外打补丁丁,最近近我会写写编这样样的文章章。

5、具体修改改:1. 解压vvivii: roootloccalhhostt viivi# lls aarchh CCVS ddrivverss innit Makkefiile RRulees.mmakee teest vivvi viivi.mapp COPPYINNG DDocuumenntattionn inncluude libb Makkefiile.newwSDKK sccrppts uttil vivvi-eelf2. roootloccalhhostt viivi# vvim ./aarchh/s33c24410/smddk.cc修改 NNANDD fllashh 分区区如下:-

6、mtd_parrtittionn_t deffaullt_mmtd_parrtittionns = namme: bboottloaaderr, offfsett: 0, sizze: 0 xx0000200000, flaag: 0 , namme: pparaam, offfsett: 0 xx0000200000, sizze: 0 xx0000E00000, flaag: 0 , namme: kkernnel, offfsett: 0 xx0011000000, sizze: 0 xx0033000000, flaag: 0 , namme: rroott, offfsett: 0

7、xx0044000000, sizze: 0 xx0144000000, flaag: MFF_BOONFSS , namme: uuserr, offfsett: 0 xx0188000000, sizze: 0 xx02CC000000, flaag: MFF_BOONFSS ;-3. 修修改Maakeffileeroootllocaalhoost vivvi# viim MMakeefille修改 AARCHH LIINUXX_INNCLUUDE_DIRR CROOSS_COMMPILLE 如如下:-ARCHH := arrmLINUUX_IINCLLUDEE_DIIR = /uusr/

8、loccal/armm/2.95.3/iinclludee/CROSSS_CCOMPPILEE = /usrr/loocall/arrm/22.955.3/binn/arrm-llinuux-3. 编编译roootllocaalhoost vivvi# maake-会在 vvivii目录生生成你要要的 vvivii 程序序(boootlloadder)-说明:我我的naand fallsh的的一块为为16kk,所以上面面的分区区:*分区信息息*boottloaaderr: 1128kkparaam : 8896kkkernnel : 33Mroott : 220Muserr : 440M*bo

9、n 操作*bon parrt 00 1MM 4MM:m 24MM:m解释一下下上面的的命令: 第11个分区区从0开开始; 第22个分区区从0 xx300000(即1992K)开始; 第33个分区区从0 xx20000000(即22M)开开始; 第44个分区区从0 xx40000000(即44M)开开始.*bon parrt iinfoo*bon parrt iinfooBON inffo. (4 parrtittionns)No: offfsett sizze fllagss bbad-0: 00 x00000000000 0 xx0011000000 00000000000 00 1MM1:

10、 00 x00010000000 0 xx0033000000 00000000000 00 3MM2: 00 x00040000000 0 xx0144000000 00000000001 00 20MM3: 00 x01180000000 0 xx0277fc0000 00000000001 00 39MM+10008kk*partt shhow* mtdppartt innfo. (55 paartiitioons)namee ooffsset siize fllag-boottloaaderr : 00 x00000000000 0 xx0000200000 0 1288kparaam

11、 : 00 x00002000000 0 xx0000e00000 0 8966kkernnel : 00 x00010000000 0 xx0033000000 0 3Mroott : 00 x00040000000 0 xx0144000000 4 220Muserr : 00 x01180000000 0 xx02cc000000 4 444M= 三三: 内内核 编编译=三: 内内核 编编译注意:用用的编译译器是44.2.0的交交叉编译译器1. 修修改 MMakeefilleroootllocaalhoost porrtinng# cdd liinuxx-2.6.222roootlloc

12、aalhoost linnux-2.66.222# vimm Maakeffilee修改 AARCHH 和 CROOSS_COMMPILLE-ARCHH ?= armmCROSSS_CCOMPPILEE ?=/hoeem/ccrossstooll/croossttooll-gccc4110-kk262222/gccc-4.1.00-gllibcc-2.3.22/arrm-99tdmmi-llinuux-ggnu/binn/arrm-99tdmmi-llinuux-ggnu-2. 修修改coommoon-ssmdkk.c文文件roootllocaalhoost linnux-2.66.222#

13、vimm arrch/armm/pllat-s3cc24xxx/ccommmon-smddk.cc-stattic strructt mttd_pparttitiion smddk_ddefaaultt_naand_parrt = 00 = .naame = BBoott, .siize = SZZ_1228K, .offfseet = 0, , 11 = .naame = pparaam, .offfseet = MTTDPAART_OFSS_APPPENND, .siize = SZZ_1MM - SZ_1288K, , 22 = .naame = kkernnel, .offfseet

14、= SZZ_1MM, .siize = SZZ_1MM * 3, , 33 = .naame = rroott, .offfseet = MTTDPAART_OFSS_APPPENND, .siize = SZZ_2MM * 10, ,/* , 55 = .naame = SS3C224100 fllashh paartiitioon 55, .offfseet = SZZ_1MM * 14, .siize = SZZ_1MM * 10, , 66 = .naame = SS3C224100 fllashh paartiitioon 66, .offfseet = SZZ_1MM * 24,

15、.siize = SZZ_1MM * 24, , 77 = .naame = SS3C224100 fllashh paartiitioon 77, .offfseet = SZZ_1MM * 48, .siize = SZZ_166M, */;-3. 去去掉naand flaash 的ECCCroootllocaalhoost linnux-2.66.222# vimm drriveers/mtdd/naand/s3cc24110.cc-1、打开开driiverrs/mmtd/nannd/ss3c224100.c2、搜索索关键字字NANND_EECC_SOFFT,在在s3cc24110_nn

16、andd_innit_chiip函数数里3、修改改NANND_EECC_SOFFT为NNANDD_ECCC_NNONEE-4. 支支持启动动时挂载载devvfs为了我们们的内核核支持ddevffs以及及在启动动时并在在/sbbin/iniit运行行之前能能自动挂挂载/ddev为为devvfs文文件系统统。roootllocaalhoost linnux-2.66.222# vi fs/Kcoonfiig-找到meenu Psseuddo ffileesysstemms添加如下下语句:conffig DEVVFS_FSbooll /devv fiile sysstemm suuppoort (O

17、BBSOLLETEE)defaaultt yconffig DEVVFS_MOUUNTbooll AAutoomatticaallyy moountt att boootdefaaultt ydepeendss onn DEEVFSS_FSS-5. 编编译内核核roootllocaalhoost linnux-2.66.222# cp ./aarchh/arrm/cconffigss/s33c24410_deffconnfigg .cconffigroootllocaalhoost linnux-# mmakee xcconffig-Userrspaace binnaryy foormaats

18、 KKernnel suppporrt ffor a.oout andd ECCOFFF biinarriess (BBINFFMT_AOUUT) (去除除该选项项)Boott opptioonsDefaaultt keerneel ccommmandd sttrinng 改改成: nnoinnitrrd rroott=/ddev/mtddbloock33 coonsoole=ttyySACC0,11152200 iniit=/linnuxrrc+再选上你你想选的的选项,如果编编译通不不过,对对照着错错误,看看下把哪哪些选项项去除,或添加加哪些选选项。-6. 编编译roootllocaalho

19、ost linnux-2.66.222# makke zzImaage= 四四: 文文件系统统的制作作=四: 文文件系统统的制作作 注注意:交交叉编译译器 33.3.2, bbusyyboxx1.55.1, 静态态编译 编编译更详详细的内内容:hhttpp:/ss/inddex.phpp/58836/acttionn_viiewsspacce_iitemmid_118825.htmml1. bbusyyboxx的编译译-一 修改改bussyboox中的的 Maakeffilee文件找到 AARCHH 和 CROOSS_COMMPILLE 修修改成如如下ARCHH ?= armmCROSSS_C

20、COMPPILEE ?= /ussr/llocaal/aarm/3.33.2/binn/arrm-llinuux-二 配置置roootllocaalhoost bussyboox-11.4.2# maake deffconnfiggroootllocaalhoost bussyboox-11.4.2# maake xcoonfiig=修改配置置 主要要修改如如下=Busyyboxx Seettiingss Buuildd Opptioons *BBuilld BBusyyBoxx ass a staaticc biinarry /选此此项静态态编译。Misccelllaneeouss Utti

21、liitiees tasskseet /选了了就会出出错-三 编译译roootllocaalhoost bussyboox-11.5.1# maake alll innstaall-最后会在在 buusybbox-1.55.1/_innstaall/目录生生成你要要的 bbin sbiin uusr 目录-2. 编编写liinuxxrc 文件-#!/bbin/sh#echho mouunt /ettc aas rramffs/binn/moountt -nn -tt raamfss raamfss /eetc/binn/cpp -aa /mmnt/etcc/* /ettcechoo rre-c

22、creaate thee /eetc/mtaab eentrriess# ree-crreatte tthe /ettc/mmtabb enntriies/binn/moountt -ff -tt crramffs -o rremoountt,roo /ddev/mtddbloock/3 /#mouunt somme ffilee syysteemechoo mmounnt /devv/shhm aas ttmpffs/binn/moountt -nn -tt tmmpfss tmmpfss /ddev/shmm#挂载/prooc为pprocc文件系系统echoo mmounnt /prooc

23、 aas pprocc/binn/moountt -nn -tt prroc nonne /prooc#挂载/syss为syysfss文件系系统echoo mmounnt /syss ass syysfss /binn/moountt -nn -tt syysfss noone /syys/binn/moountt -ff -tt raamfss raamfss /eetcechoo yyafffs iis mmounntedd/binn/moountt -tt yaaffss /ddev/mtddbloock/1 /mntt/yaaffssexecc /ssbinn/innit -3. 权权

24、限修改改chmood cchmood 7775 linnuxrrc4. 编编写 iinitttabb文件-:syysinnit:/ettc/iinitt.d/rc:asskfiirstt:-/binn/shhtty22:aaskffirsst:-/biin/sshtty33:aaskffirsst:-/biin/sshtty44:aaskffirsst:-/biin/sshtty00:aaskffirsst:-/biin/ssh:reestaart:/sbbin/iniit:cttrlaaltddel:/sbbin/rebboott:shhutddownn:/bbin/umoountt -aa

25、 -rr:shhutddownn:/ssbinn/swwapooff -a-5. rrc文件件-#!/bbin/sh/binn/moountt -aa-6. ffasttab 文件-nonee /pprocc prroc deffaullts 0 00nonee /ddev/ptss deevptts mmodee=06622 0 00tmpffs /devv/shhm ttmpffs ddefaaultts 00 0-7. 各各文件的的关系-7.1 建立一一个目标标板的空空根目录录我们将在在这里构构建构建建根文件件系统,创建基基础目录录结构. 存放放交叉编编译后生生成的目目标应用用程序(BU

26、SSYBOOX,TTINYYLOGGIN),存放放库文件件等。roootllocaalhoost roootfss# mkddir my_roootfssroootllocaalhoost roootfss# pwdd/homme/aarm/devv_hoome/roootfss/myy_roootffsroootllocaalhoost roootfss# cd my_roootfssroootllocaalhoost my_roootfss#7.2 在myy_roootffs中建建立Liinuxx目录树树roootllocaalhoost my_roootfss#mmkdiir bbin devv ettc hhomee liib mmnt pro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论