IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【f1c200s/f1c100s】使用genimage工具制作img系统镜像 -> 正文阅读

[开发工具]【f1c200s/f1c100s】使用genimage工具制作img系统镜像

工具获取和安装

从genimage仓库克隆最新版的genimage源码,然后编译,生成可执行的genimage二进制文件。

sudo apt-get install libconfuse-dev #安装genimage依赖库
sudo apt-get install genext2fs #制作镜像时genimage将会用到
git clone https://github.com/pengutronix/genimage.git
cd genimage
./configure #配置生成makefile
make

文件准备

制作系统镜像至少需要准备好:

  1. bootloader
  2. 内核zImage
  3. 设备树dtb
  4. 根文件系统rootfs
  5. 根据一定规则生成镜像的配置文件

准备系统文件

将genimage拷贝到方便的地方,并在同级目录新建文件夹。
建立input文件夹,在input文件夹中放入bootloader、内核镜像、设备树,如图所示
在这里插入图片描述
建立root文件夹,将根文件系统全部拷贝过来,如图所示
在这里插入图片描述

准备配置文件

在genimage同级目录新建genimage.cfg文件。文件内容和参数含义如下所示。
具体的定义方法可以参考原github。

image bootfs.vfat { //定义第一个分区镜像
	vfat { //分区格式为fat
		files = { //在里面放入zImage和设备树文件
			"zImage",
			"suniv-f1c100s-mangopi.dtb"
		}
	}
	size = 32M //大小要大于所有文件大小之和
}
image rootfs.ext4 { //定义第二个分区镜像
	ext4 {} //分区格式为ext4
	size = 900M //大小要大于根文件系统的大小
	mountpoint = "/" //代表根文件系统所在的root目录
}

image sysimage-sdcard.img { //生成的img镜像名字
	hdimage { //类型为hdimage,一般从tf卡启动都为这个格式
	}
	partition u-boot { //第一个分区,由于in-partition-table = false参数存在其实不会产生分区表
		in-partition-table = false //不要生成分区表,如果注释掉这个将会产生一个uboot分区
		image = "u-boot-sunxi-with-spl.bin" //镜像为input目录的u-boot-sunxi-with-spl.bin文件
		offset = 0x2000 //文件偏移
		size = 1016K //大于uboot的大小
	}

	partition boot { //第二个分区(实际生成的第一个分区)
		partition-type = 0xC //分区格式,0xC代表fat32格式
		bootable = "true" //定义为启动分区
		image = "bootfs.vfat" //引用前面定义的bootfs.vfat镜像
	}

	partition rootfs { //第三个分区(实际生成的第二个分区)
		partition-type = 0x83 //分区格式,0xC代表Linux格式
		image = "rootfs.ext4" //引用前面定义rootfs.ext4镜像
	}
}

生成镜像

有了上面的配置文件,执行sudo genimage将会在images文件夹中生成我们所需的系统镜像。
在这里插入图片描述

使用镜像

生成的img文件可以直接通过balenaEtcher工具一键写入TF卡。

其他

配置文件中的partition-type参数的含义可以参考ubuntu下的fdisk工具
依次输入以下内容:

sudo fdisk /dev/sda
l #查看参数含义
q #退出

参考资料:

  1. https://github.com/pengutronix/genimage
  2. fdisk
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:03:22  更:2022-04-18 18:05:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 3:04:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码