如何在产品中使用ramdisk文件系统

一、什么是ramdisk

ramdisk文件系统是Linux众多文件系统中的一种。它通过将文件系统加载到内存,提高访问效率,并且掉电不保存,使得文件系统有只读的特性。ramdisk有两种,一种是格式化并加载(initrd),缺点是大小固定;另一种就是ramdisk,2.4版本之后才支持,大小随空间增大或缩小。使用ramdisk的另一个好处就是将内核和文件系统放一起了,节省了flash空间,对嵌入式产品开发来说是一个非常值得使用的方式。

二、使用ramdisk

1.内核配置使用ramdisk,并配置文件系统所在目录

进入内核目录,make menuconfig修改一下配置项:

General Setup

    ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

    (rootfs)Initramfs source file(s)

需要注意的是,指定的rootfs根文件目录下需要创建软连接init指向sbin/init(在rootfs目录中执行 ln -s init sbin/init),因为Linux内核启动时,发现如果使用了ramdisk文件系统,则会检测根目录下是否有init文件,没有则启动失败。

修改之后,执行make uImage即可生成使用ramdisk文件系统的Linux内核了。

2.指定ramdisk地址和大小

在产品开发中,我们需要对内存的地址范围使用做严格的控制,所以当然需要限制ramdisk文件系统使用的内存空间。方法很简单,就是在uboot的bootargs启动参数中传入initrd=0x50000000,0x1000000,即ramdisk地址从0x50000000开始16M空间。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值