- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ubifs文件系统的制作过程
ubifs文件系统的制作过程遇到的问题及解决方案总结之一“uboot中添加对UBIFS文件系统的支持”
分类: 嵌入式 2012-04-18 21:34 314人阅读 评论(0) 收藏 举报
为了更好的理解ubifs根文件系统的制作,首先,我们简单的说一下,系统的组成:
Bootloader(uboot) parames(启动参数) kernel(内核) root Filesystem
(根文件系统) bootloader(uboot)的作用就是用来加载操作系统;而嵌入式linux系统由linux内核和根文件系统两部分构成,两者缺一不可。
?所以我们要制作一个UBIFS的根文件系统,首先必须让上面系统组成的几个部分都支持UBIFS文件系统,就得在这几个组成部分添加一些“东西”(支持UBI的配置):
(打个我自己理解的比喻吧:“娶媳妇”比作--启动系统,娶媳妇是不是要经过老爸、老妈、丈母娘、岳父的同意和支持?bootloader、parames、kernel、root Filesystem便是老爸、老妈、丈母娘、岳父...O(∩_∩)O~,而你叫UBI)
?这篇博文主要是详细解析:uboot中添加对UBIFS文件系统的支持
一、移植环境
§主机:vmware-redhat5?????
§开发板:mini2440--256MB nandflash
§kernel:2.6.29???? 编译器:arm-linux-gcc-4.3.2.tgz????
§uboot: u-boot-2008.10
二.移植步骤
本次移植的功能为:支持UBIFS文件系统
1.在include/configs/mini2440.h中添加如下配置: (注意:不同的开发板在include/configs/目录下对应的修改的配置文件不同,我的开发板是mini2440所以修改的是mini2440.h)
#define CONFIG_MTD_DEVICE#define CONFIG_MTD_PARTITIONS#define CONFIG_CMD_MTDPARTS#define CONFIG_LZO#define CONFIG_RBTREE
#define CONFIG_CMD_UBIFS??//要支持ubIfs首先得让uboot支持UBIFS的烧写命令#define CONFIG_CMD_UBI??????//uboo支持的ubifs烧写命令:1.mtdparts:??用来给NAND分区;
/*2.nand erase.part:用来擦除指定分区? 等这些命令 在“UBIFS镜像的制作烧写”博文理解*/
?
//其次要支持MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统
#define MTDIDS_DEFAULT nand0=nandflash0?//同时要给nandlflash建立默认的分区,
#define MTDPARTS_DEFAULT mtdparts=nandflash0:384k(bootloader),\??//我的分区:?????????????????????????????????????????????????? 128k(params),\????????????????????????????????????????????????? ?5m(kernel),\?????????????????????????????????????????????????? 64m(root)
/*还要修改下面几个宏,因为使用UBIFS会占用更多的堆、栈空间*/
#define CONFIG_STACKSIZE (512*1024)#define CONFIG_SYS_MALLOC_LEN? (CONFIG_ENV_SIZE+1024*1024)#define CONFIG_SYS_GBL_DATA_SIZE? 512
?
2.回到uboot的顶层目录下
?(可能拿到的uboot已被编译过,所以最好要用此命令清理中间文件)????
执行命令:make clean??????
?(uboot是通用的bootloader,支持多种开发板,所以编译之前先选择使用哪种board)
执行命令:make mini2440_config???
?注意:我用的是mini2440开发板,所以要编译这个开发板使用的uboot,所以这里的目标为mini2440_config,表示选择的board是mini2440
(mini2440_config在Makefile标准术语称为“目标”,可以在uboot顶层Makefile找到该目标)
执行命令(开始编译
您可能关注的文档
最近下载
- 600519 贵州茅台:2013年年度报告.pdf
- QSYTZ0523-2017油气管道定点测厚技术规范.pdf
- 第一单元 第一、二、三课 木材基础知识、度量和画线、锯切课件 2022-2023学年云南教育出版社劳技八年级下册.pptx VIP
- 房屋损坏赔偿协议书7篇.docx
- 2024年预见未来:中国元医院建设发展调研报告-瑞金医院&中国信通院.pdf VIP
- 区人社局乡村振兴工作总结.docx VIP
- HG_T20510-2014 仪表供气设计规范(完整版).doc
- 2025中级社会工作综合能力考试要点速记.pdf
- KDF电化学金属滤料.docx
- 泰坦之旅修改MOD教程和MOD文件解析.doc
文档评论(0)