在移植Linux内核早期时,如果flash等存储设备的驱动还没写好,可以将文件系统放到内存中运行。
此时可以使用ramfs
和ramdisk
,即将内存的一部分用作文件系统。
ramfs
ramfs
就是将文件系统和内核一起编译,编译出来的镜像就包括 内核本身和文件系统 。
内核打开ramfs
:
在Initramfs source file(s)
选项中,填入文件系统的路径即可。
最后,uboot
的bootargs
中需要将init=/sbin/init
修改为rdinit=/sbin/init
,主要就是init
和rdinit
的区别。
ramdisk
ramdisk
也是将内存的一部分用作文件系统,只不过不用像上面一样要重新编译内核。
ramdisk制作
ramdisk
制作可以使用genext2fs
工具或者mke2fs
等工具制作。
方法一:genext2fs
genext2fs
安装:
sudo apt-get install genext2fs
ramdisk
制作脚本:
genext2fs -b 16384 -d /home/book/rootfs ramdisk.image
gzip –v9 ramdisk.image
mkimage -A arm -O linux -T ramdisk -C gzip -n 'xx ramdisk filesystem' -d ramdisk.image.gz uramdisk.image.gz
- 先使用
genext2fs
把/home/book/rootfs
制作成一个名为ramdisk.image
的ramdisk
- 然后使用
gizp
压缩ramdisk.image
,得到ramdisk.image.gz
- 最后用
mkimage
工具生成uramdisk.image.gz
给uboot
使用
方法二:mke2fs
ramdisk
制作脚本:
dd if=/dev/zero of=ramdisk.image bs=1k count=15360
mke2fs –F –v –m 0 ramdisk.image
mount –o loop ramdisk.image /mnt/loop
cp -a rootfs/* /mnt/loop
umount /mnt/loop
gzip –v9 ramdisk.image
mkimage -A arm -O linux -T ramdisk -C gzip -n 'xx ramdisk filesystem' -d ramdisk.image.gz uramdisk.image.gz
过程类似,只不过是先制作一个空的镜像,然后拷贝文件系统的内容。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Linux
+关注
关注
87文章
11120浏览量
207856 -
文件
+关注
关注
1文章
550浏览量
24556 -
系统
+关注
关注
1文章
1001浏览量
21212
发布评论请先 登录
相关推荐
浅析Ramdisk制作供linux挂载的根文件系统过程
,然后去执行。在linux中,ramdisk有2种:◾initrd:linux内核2.0开始支持,大小固定◾initramfs: linux
发表于 07-21 15:26
ramfs不支持创建文件夹,是否可以设计一个ramdisk呢?
ramfs不支持创建文件夹,是否可以设计一个ramdisk来实现块设备然后实现在ram上的文件系统。想法是:1.在系统初始化时使用ram生成
发表于 02-08 11:08
实现嵌入式Linux的新方法-ramdisk
实现嵌入式Linux的新方法-ramdisk
概述
在Linux操作系统中,有一项特殊的功能——初始化内存盘INITRD(INITial Ram
Disk)技术,而且
发表于 04-19 08:40
•985次阅读
制作ZedBoard上linux根文件系统(ramdisk)
loader(FSBL)和引导linux需要的Second-Stage boot loader(SSBL)、Linux内核zImage、设备树文件devicetree_
发表于 02-10 18:46
•1517次阅读
Linux 内核/sys 文件系统介绍
linux2.6内核引入sysfs文件系统,sysfs可以看成与proc,devfs和devpty同类别的文件系统,该文件系统是虚拟的
发表于 04-25 16:20
•4208次阅读
需要了解的混合文件系统(ramdisk+jffs)
ramdisk制作成一个基本的文件系统,不同项目改动的只是jffs2数据分区,可以实现文件系统的重复利用。类似于核心板和底板的关系。
发表于 04-25 17:38
•1764次阅读
Linux中ramdisk,tmpfs,ramfs对比说明
在Linux中可以将一部分内存mount为分区来使用,通常称之为RamDisk,分为:Ramdisk, ramfs, tmpfs.
发表于 04-27 19:38
•2460次阅读
嵌入式Linux系统移植开发-(1)基于Yocto构建嵌入式u-boot,内核,文件系统
基于Yocto构建嵌入式u-boot,内核,文件系统Yocto是什么?简单地概括,它是一个工具,可以用来构建u-boot,kernel,文件系统,交叉编译工具链,等等。Yocto提供了一套完整的全面
发表于 11-01 17:38
•13次下载
Linux配置kernel使用ramdisk文件系统
配置kernel使用ramdisk文件系统 修改 uboot 的环境变量: setenv initrd_high= 0 xffffffff setenv bootargs console=ttyS
评论