ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之一“uboot中添加对UBIFS文件系统的支持”
分类: 嵌入式 2012-04-18 21:34 314人阅读 评论(0) 收藏 举报
为了更好的理解ubifs根文件系统的制作,首先,我们简单的说一下,系统的组成:
Bootloader(uboot)
parames(启动参数)
kernel(内核)
root Filesystem
(根文件系统)
bootloaderuboot)的作用就是用来加载操作系统;而嵌入式linux系统由linux内核和根文件系统两部分构成,两者缺一不可。
 所以我们要制作一个UBIFS的根文件系统,首先必须让上面系统组成的几个部分都支持UBIFS文件系统,就得在这几个组成部分添加一些linux系统安装步骤csdn东西(支持UBI的配置):
(打个我自己理解的比喻吧:娶媳妇比作--启动系统,娶媳妇是不是要经过老爸、老妈、丈母娘、岳父的同意和支持?bootloaderparameskernelroot Filesystem便是老爸、老妈
、丈母娘、岳父...O(∩_∩)O~,而你叫"UBI"
 这篇博文主要是详细解析:uboot中添加对UBIFS文件系统的支持
一、移植环境
§主机:vmware-redhat5     
§开发板:mini2440--256MB nandflash
§kernel:2.6.29    编译器:arm-linux-gcc-4.   
§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设备(RO
Mflash)的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已被编译过,所以最好要用此命令清理中间文件)   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。