荔枝派Zero(全志V3S)制作 IMG 镜像文件

news2024/11/24 22:51:29

文章目录

  • 前言
  • 一、安装工具
  • 二、生成新的 img 文件
  • 三、分割虚拟磁盘
  • 四、挂载虚拟磁盘并格式化
    • 1、首先建立虚拟磁盘并分区
    • 2、格式化虚拟磁盘分区
  • 五、开始备份
  • 六、卸载虚拟磁盘
  • 七、dd 烧录系统
  • 八、运行测试


前言

之前在玩板子时每次烧录镜像都是先烧录 uboot 到 SD 卡 8k 偏移处,再拷贝 zImage 镜像文件和 sun8i-v3s-licheepi-zero-dock.dtb 设备树文件到 sd 卡的 kernel 分区,再把 rootfs.tar 解压到 SD 卡的 rootfs 分区,总的来说感觉有些麻烦,因此本文将制作一个 img 镜像文件可以在 windows 下直接用 Win32DiskImager 一键烧录,或者在 linux 下直接使用 dd 烧录。

一、安装工具

在 ubuntu 终端依次执行下列命令

sudo apt-get install dosfstools
sudo apt-get install dump
sudo apt-get install parted
sudo apt-get install kpartx

二、生成新的 img 文件

1、先df -h查看下实际使用空间然后在决定生成文件大小

df -h

在这里插入图片描述
可以看到我一共用了 51M+4.4M=55.4M 的空间,所以我弄个100M大小的 img 就足够了
2、做个 100M 的空镜像

sudo dd if=/dev/zero of=lichee_zero.img bs=1M count=100
sync

这里要写1M,1MiB也就是1024kb,这样大小不会错,如果写 kb 可能太小就会出错。
还有/dev/zero这个文件的输出全是 0,所以我现在只是有个了一个空 img 文件而已。
在这里插入图片描述
使用 hexdump 看一下前 256 个字节的数据,并且输出十六进制和对应字符

hexdump -n 256 -C lichee_zero.img

可以看到全为 0
在这里插入图片描述

三、分割虚拟磁盘

1、lichee_zero.img 会将 SD 卡里面对应的内容,填充进来
SD卡目前是分成两个部分的,一个 KERNEL,一个 rootfs
在这里插入图片描述
除此之外,在制作SD的时候,boot 部分,前面还空了一段空间,要制作 img,这些位置不能错了,查一下数据的实际位置

sudo fdisk -l

在这里插入图片描述
2、利用parted将刚才生成的虚拟盘分割成两个分区
按照实际 SD 卡的分配,将 img 划分一下

sudo parted lichee_zero.img --script -- mklabel msdos #制作一个msdos分区
sudo parted lichee_zero.img --script -- mkpart primary fat16 2048s 67583s
sudo parted lichee_zero.img --script -- mkpart primary ext4 67584s -1
sudo parted lichee_zero.img #查看分配情况

这里的size指的是MB 我分区的时候是要 32M 这里就是33.6MB
在这里插入图片描述

四、挂载虚拟磁盘并格式化

这个过程就是将 img 虚拟成 SD 卡一样,挂载到电脑,然后格式化它

1、首先建立虚拟磁盘并分区

sudo losetup /dev/loop0 lichee_zero.img
sudo kpartx -av /dev/loop0

执行 sudo losetup /dev/loop0 lichee_zero.img 报错了,显示设置回环设备失败: 设备或资源忙
在这里插入图片描述

ll /dev/loop*

查看了一下, loop设备编号挺多的:在这里插入图片描述
解决办法:
使用命令 sudo losetup -f 自动查找空闲的设备

sudo losetup -f 

在这里插入图片描述
重新设置到找出的空闲设备上

sudo losetup /dev/loop21 lichee_zero.img
sudo kpartx -av /dev/loop21

在这里插入图片描述

2、格式化虚拟磁盘分区

现在还没有磁盘,因为都是空的,需要格式化,写入文件系统的相关数据进去

sudo mkfs.msdos /dev/mapper/loop21p1
sudo mkfs.ext4 /dev/mapper/loop21p2

在这里插入图片描述
能查询到挂载的设备

ls /dev/mapper

在这里插入图片描述
电脑上多出两个盘符,内容是空的
在这里插入图片描述

五、开始备份

1、我这里将 SD 卡里面的东西拷贝出来放到 image_file 里面
接下来就是 SD 卡里面有什么,就让 img 里面有什么就行了

ls
tree -L 2

在这里插入图片描述
2、烧录uboot

sudo dd if=./uboot/u-boot-sunxi-with-spl.bin of=/dev/loop21 bs=1024 seek=8
sync

在这里插入图片描述
3、拷贝 kernel

sudo mount /dev/mapper/loop21p1 /mnt/	# 挂载
sudo  cp ./kernel/* /mnt	# 内容拷贝
sudo umount /mnt	# 卸载

在这里插入图片描述
4、拷贝 rootfs

sudo mount -t ext4 /dev/mapper/loop21p2 /mnt/	# 挂载
sudo cp -rf ./rootfs/* /mnt/	# 内容拷贝
sudo umount /mnt	# 卸载

在这里插入图片描述

六、卸载虚拟磁盘

sudo kpartx -d lichee_zero.img

七、dd 烧录系统

1、格式化SD卡
在这里插入图片描述
格式化成功
2、烧录
将 lichee_zero.img 文件烧录到 SD 卡
在这里插入图片描述
烧录成功
在这里插入图片描述

八、运行测试

把 SD 卡插到板子上运行
在这里插入图片描述
参考文章:
https://www.cnblogs.com/ZQQH/p/8453763.html
https://blog.csdn.net/Jun626/article/details/100008516


我的qq:2442391036,欢迎交流!


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

03 DQL-表数据的查询

1.数据准备(直接复制执行即可) -- 创建db1数据库 CREATE DATABASE db1;-- 使用db1数据库 USE db1;-- 创建数据表 CREATE TABLE product(id INT, -- 商品编号NAME VARCHAR(20), -- 商品名称price DOUBLE, -- 商品价格brand VARCHAR(10), -- 商品品牌stock INT, -- 商品库存…

【场景削减】基于 Kantorovich 距离的 SBR 算法场景削减研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

SpringCloud:微服务保护之雪崩问题及解决方案

1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业…

Redis学习笔记01 (数据结构,线程模型,持久化)

Background Redis(Remote Dictionary Server)是一种基于键值对的内存数据库,通常被称为数据结构服务器。它支持多种数据结构,例如字符串(String)、哈希(Hash)、列表(Li…

17 图的遍历和应用

文章目录 图的遍历深度优先遍历对于无向图的邻接矩阵的深度优先遍历无向非连通图的深度优先遍历 对于无向图的邻接表的深度优先遍历非递归实现深度优先遍历无向图的邻接矩阵代码实现无向图的邻接表代码实现递归和非递归的同异 广度优先遍历邻接表BFS邻接矩阵BFS 图的应用生成树…

计算机组成原理指令系统习题

(1)解析:考察指令的格式:指令码包含地址码和操作码 寻址特征位包含在操作码中 用于区分不同的寻址方式。 首先确定6种寻址方式 根据2^3>6得出三位寻址地址位,再根据能完成97种操作,所以OP的位数是7位(128&#xff0…

【论文代码阅读】LORA: LOW-RANK ADAPTATION OF LARGE LAN- GUAGE MODELS

最近很多工作好像都绕不开lora,无论是sd还是llm.... 1. 背景 问题:大模型重新训练所有模型参数的完全微调变得不太可行。lora在做什么 我们提出了低秩自适应,即LoRA,它冻结预先训练的模型权重,并将可训练的秩分解矩…

【数字图像处理简答题】

目录 1.邻域和邻接有何区别? 2. m邻接的定义是什么?为何要引入m邻接? 3、下图的连通域个数?分别是什么(使用8连通) 4、像素间的距离测度有哪四种,写出其表达式并绘制几何示意图。 5、图像间…

算法套路十三——动态规划DP入门

算法套路十三——动态规划DP入门 动态规划和递归都是通过将大问题分解为较小的子问题来解决问题。它们都可以用来解决具有重叠子问题和最优子结构特性的问题。在很多情况下,动态规划算法的设计可以从递归算法开始,然后通过添加记忆化(Memoiz…

什么是SpringBoot自动配置

概述: 现在的Java面试基本都会问到你知道什么是Springboot的自动配置。为什么面试官要问这样的问题,主要是在于看你有没有对Springboot的原理有没有深入的了解,有没有看过Springboot的源码,这是区别普通程序员与高级程序员最好的…

【五一创作】网络协议与攻击模拟-01-wireshark使用-捕获过滤器

协议 TCP/IP协议簇 网络接口层(没有特定的协议)PPPOE 物理层 数据链路层 网络层:IP (v4/v6) ARP (地址解析协议) RARP ICMP (Internet控制报文协议) IGMP 传输层:TCP(传输控制协议) UDP(用户数据报协议) 应用层:都是基于传输层协议的端口,总共端口0~65535 0~1023 HTTP—t…

2023年第十五届华中杯数学建模赛题浅析

2023年五一假期期间,数学建模竞赛就有四场,各种比赛各种需求应接不暇。因此,对于本次浅析有不足的地方欢迎大家指出。为了更好的帮助大家华中杯选题,首先为大家带来ABC三个题目的浅析,帮助大家更快的选题,提…

DBeaver 没有菜单项 生成SQL Generate SQL

文章目录 Intro问题的根本有无该菜单项取决于你的查询SQL是单表还是多表?单表查询的结果集的菜单多表关联查询的结果集的菜单 测试版本 Intro DBeaver 是一款很棒的多平台、支持多数据源的GUI数据库客户端。 有一个我经常使用的功能就是: 当我查询到一个…

BUUCTF bjdctf_2020_babystack

小白做题笔记而已,不建议阅读 只有一个NX 64为程序用rdi传参 read函数存在栈溢出 shift f12 有system函数调用,并且存在/bin/sh 去找有没有pop rdi ret ROPgadget --binary bjdctf_2020_babystack --only "pop|ret" | grep rdi 0…

『Linux』第九讲:Linux多线程详解(二)_ 线程控制

「前言」文章是关于Linux多线程方面的知识,上一篇是 Linux多线程详解(一),今天这篇是 Linux多线程详解(二),讲解会比较细,下面开始! 「归属专栏」Linux系统编程 「笔者」…

「OceanBase 4.1 体验」|连续多年支撑双11的国产原生分布式数据库

目录 前言 正文 1. OceanBase 4.1发布 2.部署oceanbase 安装环境 2.1下载 all-in-one 安装包 2.2解压安装包 2.3执行安装脚本 2.4设置环境变量 2.5查看文件位置 2.6快速启动demo环境 2.7访问数据库 3.oceanbase的优点 4.oceanbase与 Oracle 兼容性 5.oceanbase与…

王学岗码牛jetpack系列之ViewModel

ViewModel的目的:存储数据,以注重生命周期的方式管理界面的相关数据 viewModel的特性:1,数据持久化,不依赖于Activity的生命周期,有自己独立的生命周期 2,异步回调不会造成内存泄漏 3,隔离Model层与View层 4&#xff0…

EXCEL美化画图,请不要嫌弃excel画图,那是简单上手的不二之选

一、美化折线图 这是测试数据 这是一般人用excel画的折线图 这是二般人用excel画的折线图 具体实施步骤 1.调整成黑色或者灰度 选择灰色图即可 2.修改数据标识符号,并取消网格 注意每根线条都要设置这个数据标记符号 取消网格线很简单,点击网格…

Qt第一天:创建Qt项目

方式一:使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application 选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,按照…

【Mysql】基础篇:DQL(data query language):查询数据库中表的记录——select

博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:数据结构、Go,Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: Mysql从入门到精通近期目标:写好专栏的每一篇文章 目录 一、…