linux rootfs.img的制作

2023-10-27

cramfs是只读压缩的文件系统,文件系统类型可以是ext2,ext3,什么的,
cramfs和romfs只是一个文件系统类型,ramdisk相当于一块硬盘空间,可以理解为在内存中虚拟出一块硬盘来,所以它上面就可以有你linux支持的各种文件系统什么的。所以你问的,它和romfs和cramfs确实不是一个层次的概念。 ^-^恭喜你,你答对了的根文件系统的目录是 rootfs (你将来要用到的所有的文件就在这里)
like this : mkcramfs rootfs rootfs.cramfs 就搞定了。如名字所言,它是只读压缩,所以比较省空间,如果你的flash比较小,就用这个吧! 系统启动后,kernel把他load到内存中,解压 ,所以比较占内存。看你的需要了。

而ramdisk呢? 这个用的比较多,ramdisk相当于一块硬盘空间,可以理解为在内存中虚拟出一块硬盘来,所以它上面就可以有你linux支持的各种文件系统什么的。所以你问的,它和romfs和cramfs确实不是一个层次的概念。 关键是以后,在ramdisk里面可以写,这是一个和cramfs重要的区别了。
具体制作方法:
dd if=/dev/zero of=rootfs.img bs=1M count=100 一个整数(看你的实际的需要的空间了,一般也就10M)
把它格式化为你需要的文件系统,比如 ext2 ,ext3 ,reiserfs 什么的,
比如ext3 : mkfs.ext3 -m 0 -O none -F root.img
然后把它mount到某个目录,比如tmp 吧:
mount -o loop root.img /tmp/

然后,你的文件系统所在的目录的所有文件copy到tmp目录下: 比如你的文件系统目录在/root/rootfs-test :
cp -av /root/rootfs-test/* /tmp/ (这里注意一个细节:copy的时候,用参数a表示copy全部,v表示只copy链接本身,不copy它指向的内容,这点很关键哦!) ,另外,有的人常用:cp -pdR 这个你也可以试试,意思就是原来什么样,copy过去就什么样。

然后卸载/tmp/ 目录就好了。
umount /tmp

一般的情况下,ramdisk是要压缩的,对于上面的生成好的img, rootfs.img ,你可以这样压缩:
gzip -v9 rootfs.img 会自动生成rootfs.img.gz ,一般压缩率,30%吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux rootfs.img的制作 的相关文章

  • MLO/uboot-spl.bin和uboot.img/uboot.bin

    前段时间使用TI的am4378芯片 xff0c 发现系统在SD卡启动的时候 xff0c 启动文件使用的是MLO和uboot img xff1b 而Norflash和eMMC启动的时候使用的是 uboot spl bin和uboot bin
  • U-boot引导流程分析一

    U Boot 全称 Universal Boot Loader 即通用引导程序 是遵循GPL条款的开放源码项目 它的源码目录 编译形式与Linux内核很相似 事实上 不少U Boot源码就是相应的Linux内核源程序的简化 尤其是一些设备的
  • 编译FriendlyDesktop的Uboot源码、内核,修改开机图片logo

    1 安装依赖包 参照官网wiki教程 12章节 Nanopi 教程wiki 安装以下依赖包 sudo apt get y install bison g multilib git gperf libxml2 utils make pytho
  • U-Boot常用命令

    U Boot常用命令 一 信息查询命令 1 查看开发板信息 bdinfo 2 查看环境变量信息 printenv 3 查看U Boot版本号 version 二 环境变量操作命令 1 修改环境变量 setenv 2 保存环境变量 savee
  • linux文件系统初始化过程(3)---加载initrd(上)

    一 目的 本文主要讲述linux3 10文件系统初始化过程的第二阶段 加载initrd initrd是一个临时文件系统 由bootload负责加载到内存中 里面包含了基本的可执行程序和驱动程序 在linux初始化的初级阶段 它提供了一个基本
  • uboot中启动linux内核的函数——do_bootm_linux函数解析

    1 do bootm linux函数解析 do bootm linux函数是专门启动linux内核的 包括以下功能 1 确认当前的机器码 可以从全局变量gd或者环境变量machid中获取 其中环境变量machid的优先级高于gd中的机器码
  • uboot中printf( )函数实现分析

    1 前言 这部分涉及uboot中串口的初始化 参考博客 uboot中串口 控制台 初始化详解 2 printf 函数实现思路分析 1 uboot中的printf 函数的用法和利用C库编写C语言程序时是一样的 本身uboot中printf 函
  • 嵌入式开发(S5PV210)——u-boot的不同来源和目录结构

    1 u boot的不同来源和联系 uboot的来源大致有三个途径 uboot官网下载 Soc厂商提供 开发板厂商提供 假设某个厂商推出新的Soc Soc厂商的工程师会去uboot的官网下载uboot 然后把此款Soc的开发板的uboot移植
  • 交叉编译Cubietruck的u-boot

    1 下载u boot源码 mkdir cubietruck cd cubietruck git clone https github com linux sunxi u boot sunxi git
  • uboot启动内核的相关命令详解——boot、bootm

    1 boot和bootm命令的联系 当我们进入uboot的命令终端后 可以利用boot和bootm来启动内核 但是命令的使用方式有区别 直接输入boot命令就可以启动内核 如果使用bootm命令 后面还需要传入内核在DDR中的地址 1 bo
  • uboot启动第二阶段——C语言

    1 给全局变量gd分配内存 详情参考 uboot中重要的全局变量 gd 2 计算重定位的代码长度 armboot start word start monitor flash len bss start armboot start 要重定位
  • 03_uboot的源码目录分析

    一 文件夹 1 api 硬件无关的功能函数的API 这些函数是uboot本身使用的 uboot移植时基本不用管 2 api examples API相关的测试事例代码 3 board board是板的意思 就是开发板 这个文件夹下放的每一个
  • 自定义busybox文件系统存在的问题

    1 串口终端看不到命令行入口 只能在显示器端HDMI 看到 2 内核默认无法加载除了busybox openwrt文件系统 debian ubuntu无法加载
  • TQ210烧写uboot secureCRT和minicom都没有信息输出

    前几天一直在纠结TQ210烧写uboot 串口没有信息打印信息输出 结果又是这样的 说明波特率 串口号都是正确的 开发板一上电 按住空格键 结果还是一样 本以为是这个软件是破解版 有BUG 好 切换到LINUX 使用minicom 试试 还
  • 海思3559:uboot顶层Makefile分析

    顶层Makefile的内容主要结构为 确定版本号及主机信息 实现静默编译功能 设置各种路径 设置编译工具链 设置规则 设置与cpu相关的伪目标 需要注意的是 结构顺序并不代表代码执行顺序 1 确定版本号及主机信息 VERSION 2016
  • U-Boot顶层Makefile详解

    文章目录 一 U Boot工程目录分析 1 打包编译好的uboot 2 目录介绍 1 arch 2 board 3 configs 4 Makefile 5 config 6 README 二 VSCode工程创建 1 新建工程 2 屏蔽不
  • 【uboot内核适配学习】uboot 修改默认ip

    1 修改默认ip作用 设备出场的时候都需要默认的ip 2 修改措施 找到uboot芯片配置文件 不同芯片厂家适配的文件必定是不一样的 位置也可能不一样 define CONFIG ETHADDR 00 40 5c 26 0a 5b MAC地
  • 嵌入式linux ARM启动地址

    我按照一些文档通过 sdcard 在 ARM 板 例如 Freescale Vybrid tower 上启动嵌入式 Linux 在文档中 有构建 uImage 并将 u boot 写入 sdcard 的步骤 如下所示 sudo dd if
  • 为什么补丁找不到这个文件?

    我想对 u boot 源代码应用补丁 但是 Linux 不允许我这么做 我拥有的 reg ubuntu NextGen trunk FW thirdparty u boot patch p1 lt u boot u boot 2013 01
  • saber sd 如何在没有 SPL 的情况下直接从 uboot 启动

    sabre sd 基于 imx 6 最大内部 RAM 约为 150Kb 然而 uboot 足够大 可以容纳在这个空间中 在这个场景中事情是如何进行的 https community freescale com docs DOC 95015

随机推荐

  • SpringBoot项目整合Mybatis时Mapper.xml文件的存放位置

    目录 方式一 放在与Mapper接口同级目录 方式二 在resources创建Mapper接口同名文件夹用来存放Mapper xml文件 方式三 在resources目录下创建mapper文件夹存放mapper xml 推荐 方式一 放在与
  • git 签出(恢复)指定文件

    在项目开发中 偶尔会因为误删文件或其他原因需要从git仓库中恢复某些文件 此篇文章将介绍如何通过git从历史提交记录 分支记录恢复指定文件 1 git checkout 说明 使用git checkout除了可以切换分支外 还可以签出指定文
  • Elasticsearch Java High Level REST Client(Exists API)

    Exists API 如果文档存在 则existsAPI返回true 否则返回false Exists请求 它就像Get API一样使用GetRequest 支持所有可选参数 由于exists 只返回true或false 我们建议关闭获取
  • 目标检测之Yolov3与Anchor-Free

    原文 目标检测之RCNN Yolo SSD RetinaNet与Anchor Free dagongji10的博客 CSDN博客 2 2 Yolo v3 2018 Yolo v3 论文比 Yolo v2 还要随意 具体优化内容主要有 bbo
  • 用python绘制曼彻斯特编码等八种常见数据编码方式的波形图

    用python绘制八种数据编码方式的波形图 2020春季北京航空航天大学计算机学院物联网引论课程作业 介绍八种常见数据编码方式并实践画出波形图 本文使用了python中的二维图像模块matplotlib 博主在信号与通信原理方面功底不深 如
  • deepin的踩坑问题与解决方案,以及使用分享(持续更新)

    笔者目前的电脑环境是Redmibook 14 AMD的锐龙版 R5 3700U 只有集成显卡 不同换环境下问题原因不一定相同 如驱动等兼容性问题 可以借鉴解决思路 但更多问题还是具有共性 Q1 u盘安装的时候 卡在蓝色背景图 无安装程序启动
  • e3 服务器虚拟机,e3 虚拟机

    e3 虚拟机 内容精选 换一换 Hypervisor能实现同一物理机上不同虚拟机之间的资源隔离 避免虚拟机之间的数据窃取或恶意攻击 保证虚拟机的资源使用不受周边虚拟机的影响 用户使用虚拟机时 仅能访问属于自己的虚拟机的资源 如硬件 软件和数
  • 【Ethernet】以太网卡LAN8720A分析和使用

    文章目录 1 LAN8720A简介 2 PHYAD 0 PHY地址配置 3 MODE 2 0 Mode配置 4 nINTSEL nINT REFCLKO配置 5 REGOFF 配置内部 1 2V电压源 6 SMI MDC MDIO 总线接口
  • android studio jdk se 8,java - Is JDK 1.8 fully supported by Android Studio? - Stack Overflow

    Actually you get all sorts of crazy Gradle errors when trying to build Android Studio projects with Java 8 like 2016 04
  • C++避坑——most vexing parse问题

    1 坑 的问题是什么 先看一段代码 class Functor public void operator std cout lt lt 我是线程的初始函数 lt lt std endl int main std thread t Funct
  • 第六章:认识Java的API-使用Java函数库

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 第六章 认识Java的API 使用Java函数库 Java内置有数百个类 如果你知道如何从统称Java API的Java的函数库中查找所需功能 那就不用再造轮子了 核
  • 检测属性

    点上面关注免费学习前端知识 JavaScript对象可以看做属性的集合 我们经常会检测集合中成员的所属关系 判断某个属性是否存在于某个对象中 可以通过in运算符 hasOwnPreperty 和propertyIsEnumerable 方法
  • HTML常见标签总结

    目录 1 标题标签 2 段落标签 3 字体修饰标签 4 图片标签 5 超链接标签 6 表格标签 7 列表标签 8 表单标签 9 下拉菜单 10 多行文本框 1 标题标签 一级标题是 h1 h1 中间填上标题的内容 一共可以设置六级标题 数字
  • 【Git笔记】添加暂存区与提交本地库

    本文以提交 hello txt 为例 在开始之前普及一个快捷方式 在 Linux 中 文本复制为 esc gt yy 粘贴为 d 查看本地库状态 git status 当文本只停留在工作区时 本地状态如下 添加暂存区 git add hel
  • Naviact无法连接到MySQL数据库

    无法连接到MySQL数据库 省流版 服务器没有开MySQL的端口 之所以还要写一篇文章 是因为开端口只需要一分钟 而根据各种现象与线索推断出没有开端口则需要三个小时 问题背景 在服务器上安装了Linux虚拟机 然后在虚拟机上安装MySQL
  • 文本分类之模型初探

    这里写自定义目录标题 简说回归模型 逻辑回归模型介绍 逻辑回归模型应用 简说回归模型 回归模型是对统计关系进行定量描述的数学模型 研究的是因变量和自变量之间的关系 研究回归模型要用到回归方法 常见的回归方法有线性回归 逻辑回归 多项式回归等
  • C语言编写一个简单的选择题答题系统

    上个星期 我们老师给我们布置了一道非常变态的作业题 开始一看只有一道题 欣喜若狂 以为老师终于大发慈悲了一回 结果点开一看 长这样 顿时就傻了眼 对于一个刚接触C语言一两个月的小白来说 不能说不会做 只能说看不懂 哭笑 哭笑 但是经过几天的
  • html,css初学

    安装VSCODE 插件 live server html support html 然后为了更好地理解 请逐步输入 并及时查看效果 div class box h1 非顶级程序员 h1 h2 hhh h2 img src tes div
  • Git/Ctags/Vim/GDB基础笔记

    gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt Git基础知识 gt gt gt gt gt gt gt gt gt gt g
  • linux rootfs.img的制作

    cramfs是只读压缩的文件系统 文件系统类型可以是ext2 ext3 什么的 cramfs和romfs只是一个文件系统类型 ramdisk相当于一块硬盘空间 可以理解为在内存中虚拟出一块硬盘来 所以它上面就可以有你linux支持的各种文件