全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

移植Linux内核ramfs和ramdisk文件系统

时间:2023-10-04 14:41

人气:

作者:admin

标签: 文件  系统 

导读:在移植Linux内核早期时,如果flash等存储设备的驱动还没写好,可以将文件系统放到内存中运行。 此时可以使用 ramfs 和 ramdisk ,即将内存的一部分用作文件系统。 ramfs ramfs 就是将文件系...

在移植Linux内核早期时,如果flash等存储设备的驱动还没写好,可以将文件系统放到内存中运行。

此时可以使用ramfsramdisk,即将内存的一部分用作文件系统。

ramfs

ramfs就是将文件系统和内核一起编译,编译出来的镜像就包括 内核本身和文件系统

内核打开ramfs

Initramfs source file(s)选项中,填入文件系统的路径即可。

最后,ubootbootargs中需要将init=/sbin/init修改为rdinit=/sbin/init,主要就是initrdinit的区别。

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.imageramdisk
  • 然后使用gizp压缩ramdisk.image,得到ramdisk.image.gz
  • 最后用mkimage工具生成uramdisk.image.gzuboot使用

方法二: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

过程类似,只不过是先制作一个空的镜像,然后拷贝文件系统的内容。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信