u-boot下使用bootm引导内核方法

u-boot下使用bootm引导内核方法

ID:9985475

大小:44.00 KB

页数:7页

时间:2018-05-19

u-boot下使用bootm引导内核方法_第1页
u-boot下使用bootm引导内核方法_第2页
u-boot下使用bootm引导内核方法_第3页
u-boot下使用bootm引导内核方法_第4页
u-boot下使用bootm引导内核方法_第5页
资源描述:

《u-boot下使用bootm引导内核方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、U-BOOT下使用bootm引导内核方法注: u-boot使用的是打上:http://www.hhcn.com/cgi-bin/topic.cgi?forum=3&topic=651&show=0上keety大侠提供的补丁生成的u-boot-1.1.3这段时间不断有人问我u-boot启动内核的问题,记得在上次提供的u-boot源码中提到了go的方案,不过其实u-boot本来有一种更好的方案:bootm花了不少时间,查看了论坛上不少的帖子,认真阅读了bootm的源码,终于使用bootm把内核给跑起

2、来了,现把解决方法介绍如下:一、在开始之前先说明一下bootm相关的东西。1、首先说明一下,S3C2410架构下的bootm只对sdram中的内核镜像文件进行操作(好像AT91架构提供了一段从flash复制内核镜像的代码,不过针对s3c2410架构就没有这段代码,虽然可以在u-boot下添加这段代码,不过好像这个用处不大),所以请确保你的内核镜像下载到sdram中,或者在bootcmd下把flash中的内核镜像复制到sdram中。2、-a参数后是内核的运行地址,-e参数后是入口地址。3、1)如果

3、我们没用mkimage对内核进行处理的话,那直接把内核下载到0x30008000再运行就行,内核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag建议是由bootloader提供的,在u-boot下默认是由bootm命令建立的)。 2)如果使用mkimage生成内核镜像文件的话,会在内核的前头加上了64byte的信息,供建立tag之用。bootm命令会首先判断bootmxxxx这个指定的地址xxxx是否与-a指定的加载地址相同。(1)如果不同的话会从这个地址开始提取出这个64byt

4、e的头部,对其进行分析,然后把去掉头部的内核复制到-a指定的load地址中去运行之(2)如果相同的话那就让其原封不同的放在那,但-e指定的入口地址会推后64byte,以跳过这64byte的头部。二、好,接着介绍使用mkimage生成镜像文件并下载运行的方法。方法一、1、首先,用u-boot/tools/mkimage这个工具为你的内核加上u-boot引导所需要的文件头,具体做法如下:[root@localhosttftpboot]#mkimage-n'linux-2.6.14'-Aarm-Oli

5、nux-Tkernel-Cnone-a0x30008000-e0x30008000-dzImagezImage.imgImageName:  linux-2.6.14Created:   FriJan1217:14:502007ImageType: ARMLinuxKernelImage(uncompressed)DataSize:  1262504Bytes=1232.91kB=1.20MBLoadAddress:0x30008000EntryPoint: 0x30008000这里解释一下参数

6、的意义:    -A==>setarchitectureto'arch'    -O==>setoperatingsystemto'os'    -T==>setimagetypeto'type'    -C==>setcompressiontype'comp'    -a==>setloadaddressto'addr'(hex)    -e==>setentrypointto'ep'(hex)    -n==>setimagenameto'name'    -d==>useimagedata

7、from'datafile'    -x==>setXIP(executeinplace) 2、下载内核U-Boot1.1.3(Jan122007-16:16:36)U-Bootcode:33F80000->33F9BAC0 BSS:->33F9FBACRAMConfiguration:Bank#0:3000000064MBNorFlash:512kBNandFlash: 64MBIn:  serialOut: serialErr: serialHitanykeytostopautoboot: 

8、0sbc2410=>tftp0x31000000zImage.img    TFTPfromserver192.168.1.115;ourIPaddressis192.168.1.128Filename'zImage.img'.Loadaddress:0x31000000Loading:#################################################################    #####################################

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。