首页 > 系统相关 >嵌入式linux根文件系统镜像制作

嵌入式linux根文件系统镜像制作

时间:2023-07-08 16:56:04浏览次数:47  
标签:img rk3568 sudo 文件系统 嵌入式 linux tmpfs

原文:https://zhuanlan.zhihu.com/p/568784791

在嵌入式linux平台中,大部分工作则是填充根文件系统,在开发中,根文件系统一般都是以目录的方式放在开发宿主机上。

当根文件系统填充完成后,我们需要将其打包成xxx.img或者其他的镜像格式。本文以xxx.img镜像格式为例,描述如何将根文件系统打包成img的镜像文件。

本文打包的根文件系统目录结构和文件如下图所示:

(文件和目录有点乱,不影响)

这些目录和文件都存放在rootfs目录下。

我们在rootfs目录的同级目录下打开linux终端,输入如下命令:

dd if=/dev/zero of=rk3568.img bs=1M count=2000

如下图所示:

上图中:

  • dd :是linux命令,用于读取、转换并输出数据。
  • if :表示输入文件。
  • of :表示输出文件。
  • bs : 表示块大小。
  • count :表示被复制的块数。

上述命令的意思则是创建一个2000M(约2G)的文件,内容全部填充为0。

运行上述命令后,则会创建一个rk3568.img的文件,接下来就创建一个ext4的文件系统镜像。

在终端输入:

sudo mkfs.ext4 -F -L linuxroot rk3568.img

如下图所示:

  • sudo mkfs.ext4 :为linux命令,用于对磁盘设备进行Ext4格式化的操作。
  • -F :表示强制格式化。
  • -L :设置卷标。这里则是linuxroot
  • rk356.img : 则是设备。

然后在终端输入下列命令:

mkdir tmpfs

创建一个tmpfs文件。其中mkdir为linux命令,用于创建一个目录;tmpfs为名录名称(可自定义)。

接着使用下列命令:

sudo mount rk3568.img tempfs/

将rk3568.img文件系统挂载到tmpfs。

使用下列命令,将rootfs目录下的目录和文件拷贝到tmpfs目录:

sudo cp -rfp rootfs/* tmpfs/

完成后,使用下列命令卸载文件系统:

sudo umount tmpfs/

接下来使用:

sudo e2fsck -p -f rk3568.img

检查ext4文件系统的正确性。上述命令中:

  • -f:表示即使文件系统没有错误迹象,仍强制地检查正确性。
  • -p:表示不询问使用者意见,便自动修复文件系统。

然后使用:

sudo resize2fs -M rk3568.img

调整文件系统的大小,如下图所示:

通过上述步骤,就将根文件系统完全打包成img镜像文件了。

镜像文件打包完成后,可通过烧写工具将img镜像文件下载到存储介质中。例如,本文是打包的瑞芯微的rk3568处理器平台的根文件系统,则可以使用官方提供的下载工具下载即可:

标签:img,rk3568,sudo,文件系统,嵌入式,linux,tmpfs
From: https://www.cnblogs.com/bruce1992/p/17537470.html

相关文章

  • Linux网络编程: socket(链路层)
    Linux网络编程:socket(链路层)socket是什么在Linux中的网络编程是通过socket接口来进行的。其实socket接口也是一种特殊的I/O(在《深入理解计算机系统》这本书中的IO部分也有提到网络也是一种特殊的IO),它也是一种文件描述符。socket也有一个类似于打开文件的函数调用,该函数返回一个......
  • 关于Azure-平台-Redhat-Linux-服务器时间同步的问题解决
    首先说明一下,关于Azure平台中国区,是没有RedhatLinux系统镜像的于是笔者这边是通过在Windows系统 Hyper-V管理器中安装完Redhat8.x操作系统后,最后将系统磁盘转换成转换为VHD格式然后经过一系列操作、最终在Azure平台上形成了自己的并且加固过的RedHatEnterpriseLinuxre......
  • 从零开始构建根文件系统
    原文:https://blog.csdn.net/oqqHuTu12345678/article/details/125342676以下内容源于网络资源的学习与整理,如有侵权请告知删除。 在前面的理论分析的基础上,我们开始从零开始构建一个根文件系统。构建根文件系统的步骤:首先,在形式上创建一些空目录。然后,利用busybox软件来生成......
  • Linux 系统性能优化
    一、影响Linux性能的各种因素1、系统硬件资源(1)CPU如何判断多核CPU与超线程消耗CPU的业务:动态web服务、mail服务(2)内存物理内存与 swap的取舍选择64位Linux操作系统消耗内存的业务:内存数据库(redis/hbase/mongodb)(3)磁盘IORAID技术(RAID0/1/5/01/10......
  • linux nginx文件配置
    在linux系统部署项目时,通常会选择nginx进行项目的部署下面就把我的实际部署配置文件给大家分享下:1:https证书的配置通常是监听443端口,并配置对应的域名证书server{ listen443ssl; server_namewww.youname.com;#改成你的域名ssl_certificate /usr/local/ngin......
  • 实战|如何在Linux 系统上免费托管网站
    动动发财的小手,点个赞吧!Web服务器可用于指代硬件和软件,或者两者一起工作。出于本指南的目的,我们将重点关注软件方面,并了解如何在Linux机器上托管网站。Web服务器是一种通过HTTP/HTTPS协议接收并响应客户端请求的软件程序。其主要目的是显示网站内容,这些内容通常采用文本、......
  • linux
    linux简介不同应用领域的操作系统Linux系统历史linux安装安装方式介绍安装Linux密钥:YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8。点击新建虚拟机。进入虚拟机,按ctrl+alt退出来。root密码:root网卡设置安装SSH连接工具linux目录结构linux常用命令l......
  • linux系统综合
    拓扑图:推荐步骤:在Centos01和Centos02上安装DNS服务器配置主从复制,,Centos01为主DNSCEntos02为辅助DNS服务器,DNS区域名字位benet.com,添加NS记录指向Centos01和Centos02,添加ftp记录指向Centos03主机IP地址在Centos03配置dhcp,下发网段192.168.100.0/24,下发网关为192.168.100.254,根据拓......
  • Linux权限理解
    一、Linux用户的概念1.普通用户除root用户以外的用户都是普通用户,普通用户的权限受到制约2.超级用户(root)root用户也就是超级用户,不受权限的约束二、不同用户之间的转换1.普通用户切换root用户指令:su如上图所示,普通用户lj的命令行提示符为 $,切换root用户只需要输入指令:su,然......
  • Linux中Postfix反病毒和垃圾邮件(十)
    摘自:http://www.ywnds.com/?p=1817 amavisd-newamavisd-new呼叫器是一个连接MTA和内容检测工具(诸如病毒扫描工具和SpamAssassin)的高性能接口程序,使用perl语言写成。它一般通过SMTP、ESMTP或者LMTP和MTA进行通讯,可以将位于队列的邮件取出来,调用ClamAV对邮件进行病毒扫描,调用Sp......