文件系统制作

文章目录

  • 什么是文件系统
  • 如何制作根文件系统文件
  • 添加登录密码
  • 文件系统制作
    • Squashfs
      • 制作方式
        • gzip & lzo & xz 压缩
    • Jffs2
      • 制作方式
    • Ubi文件系统

什么是文件系统

Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中

如何制作根文件系统文件

下载busybox
官网:
以君正提供Busybox为例子
make isvp_uclibc_mini_defconfig
make -j
make install
将_install拷贝出来,即可制作根文件系统

添加登录密码

注意busybox需要证明
Uer internal password and group functions rather than system function 是被选中的状态

打开/etc/inittab文件,增加::sysinit:-/bin/login命令

针对/etc/passwd

root:x:0:0:root:/root:/bin/sh

用户名:用户登录时使用。长度应在 1 到 32 个字符之间。
密码:x 字符表示加密的密码存储在 /etc/shadow 文件中。请注意,您需要使用 passwd 命令来计算在 CLI 中输入的密码的哈希值,或者在 /etc/shadow 文件中存储/更新密码的哈希值,在这种情况下,密码哈希值存储为“x”。
用户 ID ( UID ):必须为每个用户分配一个用户 ID (UID)。UID 0(零)为 root 保留,UID 1-99 为其他预定义帐户保留。另外 UID 100-999 由系统保留用于管理和系统帐户/组。
组 ID (GID):主要组 ID(存储在 /etc/group 文件中)
用户 ID 信息:评论字段。它允许您添加有关用户的额外信息,例如用户的全名、电话号码等。该字段通过手指命令使用。
主目录:用户登录时所在目录的绝对路径。如果该目录不存在,则用户目录将变为 /
Command/shell:命令或 shell 的绝对路径 (/bin/bash)。通常,这是一个外壳。请注意,它不一定是外壳。arm Linux中是/bin/sh而不是/bin/bash。

shadow文件中内容为:

root:Wdfdfqwe:17226:::::

第一段表示登录的用户名
第二段表示密文密码。
设置用户密码:
passwd root
之后输入该用户的密码,之后在shadow中就会生成密文密码,你是无法知道具体含义的,生成密文密码后,可以将shadow文件中的密文密码放入到制作根文件系统的文件夹中,然后烧录以便不用每次都设置密码

文件系统制作

文件系统格式有三种:

  1. Squashfs
  2. Jffs2
  3. Ubi文件系统

Squashfs

SquashFS是一套基于Linux内核使用的压缩只读文件系统。该文件系统能够压缩系统内的文档,inode以及目录,文件最大支持2^64字节

制作方式

mksquashfs root-uclibc xxx.squashfs -comp xz
mksquashfs 是制作文件系统的工具
root-uclibc需要压缩的文件系统 文件夹
xxx.squashfs输出的可烧录的压缩文件
-comp xz 压缩格式: gzip (默认), lzo, xz
注意其中-b缺省,默认为128KB块大小,可指定

gzip & lzo & xz 压缩

gzip & lzo & xz【可以理解为不同压缩软件比如rar, 7z等等】
三大类型压缩算法对比
在这里插入图片描述

Jffs2

主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使jffs2的运行速度大大放慢。

制作方式

mkfs.jffs2 -o xxx.jffs2 -r root-uclib -e 0x10000 -s 0x1000 -n -l -x zlib --pad
mkfs.jffs2:制作jffs2文件系统的工具
-o xxx.jffs2 : 输出的可烧录压缩文件
-r root-uclib: 输入的要压缩的文件夹
-e 0x10000:设定擦除块的大小为(默认: 64KB)
-s 0x1000:设定擦除块的大小为(默认: 64KB)
-n:指明不添加清楚标记(nand flash 有自己的校检块,存放相关的信息。) 如果挂载后会出现类似:CLEANMARKER node found at
0x0042c000 has totlen 0xc != normal 0x0 的警告,则加上-n 就会消失
-l:指定使用小端格式
-x zlib:指压缩格式
–pad:通常用 16 进制表示输出文件系统大小,不足部分用 0xff 补充

Ubi文件系统

在某种程度上,UBIFS可以被认为是JFFS2文件系统的下一代。
可以在其上运行标准文件系统,如ext2/ext3/ext4 等

制作方式:
mkfs.ubifs -e 0x1f000 -c 568 -m 2048 -d config/ -o config.ubifs -v

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/422791.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

el-input组件当数据为空时, 边框变红,并提示错误信息

1&#xff0c;样式 初始&#xff1a; 当不输入口令&#xff0c; 点击确定时&#xff1a; 2, 思路 主要是使用动态类的方式。 先设置输入框变红的样式以及提示文字的样式class 对于样式class 用变量来控制是否奏效。 3&#xff0c; 代码实现 //html&#xff1a; <div cl…

数据结构-----反射

文章目录 反射1.定义2 用途(了解)3 反射基本信息4 反射相关的类&#xff08;重要&#xff09;4.1 Class类(反射机制的起源 )4.1.1 Class类中的相关方法(方法的使用方法在后边的示例当中) 4.2 反射示例4.2.1 获得Class对象的三种方式4.2.2 反射的使用 5、反射优点和缺点6 重点总…

七、基于FreeRTOSSTM32移植MQTT

1、移植环境 (1)Keil MDK: V5.38.0.0 (2)STM32CubeMX: V6.8.1 (3)MCU: STM32F407ZGT6 (4)已移植好FreeRTOS和调试好串口的项目。 FreeRTOS移植参考博客&#xff1a;示例1&#xff1a;FreeRTOS移植详解_基于HAL库工程_hal库移植rtos-CSDN博客mqttclient源码&#xff1a;htt…

如何自学python

Python是一种高级编程语言,它具有简单易学、可读性强、可移植性好、功能丰富等优点,因此在许多领域都被广泛使用,如科学计算、数据分析、人工智能、Web开发、游戏开发等等。 Python具有丰富的标准库和第三方库,可以帮助程序员快速开发功能强大的应用程序。同时,Python也具…

免费下载全网视频系列:一键下载央视视频

之前分享过全网视频下载工具下载视频不求人&#xff0c;免费下载全网视频&#xff0c;今天再分享几个下载央视视频的工具。 第一个是央视频4k下载器&#xff0c;比如下载这个视频https://www.yangshipin.cn/#/video/home?vidv0000313oqb&#xff0c;打开工具在命令行输入 v00…

Vue.js+SpringBoot开发在线课程教学系统

目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2.3 课时管理模块2.4 课程交互模块2.5 系统基础模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示4.1 管理后台4.2 用户网页 五、样例代码5.1 新增课程类型5.2 网站登录5.3 课…

[技巧]Arcgis之图斑四至范围批量计算

ArcGIS图层&#xff08;点、线、面三类图形&#xff09;四至范围计算 例外一篇介绍&#xff1a;[技巧]Arcgis之图斑四至点批量计算 说明&#xff1a;如下图画出来的框&#xff08;范围标记不是很准&#xff09; &#xff0c;图斑的x最大和x最小&#xff0c;y最大&#xff0c;…

社区店经营实战策略:如何打造火爆生意并持续盈利?

在竞争激烈的商业环境中&#xff0c;经营一家成功的社区店需要一套全面而有效的策略。作为一名开鲜奶吧5年的创业者&#xff0c;我将分享一些关键的经营策略&#xff0c;帮助你打造火爆生意并实现持续盈利。 1、 市场调研&#xff1a; 在开店之前&#xff0c;深入了解你所在社…

内存占用构造方法

#使用虚拟内存构造内存消耗 mkdir /tmp/memory mount -t tmpfs -o size5G tmpfs /tmp/memory dd if/dev/zero of/tmp/memory/block #释放消耗的虚拟内存 rm -rf /tmp/memory/block umount /tmp/memory rmdir /tmp/memory #内存占用可直接在/dev/shm目录下写文件

#WEB前端(表单)

1.实验&#xff1a; form、input、label 登录界面&#xff0c;表单填写界面 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&q…

【Linux】基本指令(中)

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) man指令 语法:man [选项] 命令 功能:Linux的命令有很多参数&#xff0c;我们无法全部记忆的话&#xff0c;就可以通过man指令查看联机手册获取帮助。…

递归与回溯2

一&#xff1a;递归分治 什么是递归&#xff1f; 函数自己调用自己通过函数体来进行循环以自相似的方法重复进行的过程 递归的过程&#xff1a;先自顶向下找到递归出口&#xff0c;在自底向上回到最初的递归位置 推导路径未知的题目只能用递归不能用循环 比如求多叉树的节点&…

SpringBoot+Jwt+Redis

大致流程&#xff1a; 参照&#xff1a; 史上最全面的基于JWT token登陆验证_完整的基于jwt的登陆认证-CSDN博客 springboot整合JWTRedis_springboot jwt redis-CSDN博客

【QT+QGIS跨平台编译】之六十二:【QGIS_CORE跨平台编译】—【错误处理:未定义类型QgsPolymorphicRelation】

文章目录 一、未定义类型QgsPolymorphicRelation二、解决办法一、未定义类型QgsPolymorphicRelation 报错信息: 错误原因为,使用了未定义类型 QgsPolymorphicRelation 二、解决办法 QgsRelation.h文件中 ①注释第36行: //class QgsPolymorphicRelation;②注释第414行: …

构建大语言模型的四个主要阶段

大规模语言模型的发展历程虽然只有短短不到五年的时间&#xff0c;但是发展速度相当惊人&#xff0c;国内外有超过百种大模型相继发布。中国人民大学赵鑫教授团队在文献按照时间线给出 2019 年至 2023 年比较有影响力并且模型参数量超过 100 亿的大规模语言模型。大规模语言模型…

BUGKU 本地管理员

打开环境&#xff0c;先F12查看看到一串代码。Base64解码一下&#xff0c;得到的应该是密码&#xff0c;然后输入admin | test123试一下 使用BP抓包&#xff0c;修改XFF&#xff0c;得到flag

Vue开发实例(六)实现左侧菜单导航

左侧菜单导航 一、一级菜单二、二级菜单三、三级菜单1、加入相关事件 四、菜单点击跳转1. 创建新页面2. 配置路由3. 菜单中加入路由配置4、处理默认的Main窗口为空的情况 五、动态左侧菜单导航1、动态实现一级菜单2、动态实现二级菜单 一、一级菜单 在之前的Aside.vue中去实现…

php儿童服装销售管理系统计算机毕业设计项目包运行调试

php mysql儿童服装销售网 功能&#xff1a;前台后台 前台&#xff1a; 1.服装资讯 文章标题列表 详情 2.服装选购中心 分页查看图文列表 详情 3.用户注册 登陆 退出 4.服装加入收藏 5.加入购物车 6.对服装进行评论 会员中心&#xff1a; 1.我的账户 查看 修改 2.我的收藏 查看 …

文献阅读笔记《Spatial-temporal Forecasting for Regions without Observations》13页

目录 发行刊物 ABSTRACT 1 INTRODUCTION 2 RELATED WORK&#xff08;相关工作 2.1 Spatial-temporal Forecasting&#xff08;时空预测 2.2 Spatial-temporal Forecasting withIncomplete Data&#xff08;不完全数据的时空预测 2.3 Graph Contrastive Learning&#xf…

Vue2:路由的两种模式history模式和hash模式

一、情景说明 之前我们写的项目启动后&#xff0c;浏览器访问时&#xff0c;路径中会有个#/&#xff0c;会导致不够美观 因为一般的访问地址都是http://123.123.123.123/aaa/bbb这种形式 这一篇&#xff0c;就来解决这个问题 二、案例 1、hash模式 特点&#xff1a;#/后的…