使用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 { //分区格式为fatfiles = { //在里面放入zImage和设备树文件"zImage","suniv-f1c100s-mangopi.dtb"}}size = 32M //大小要大于所有文件大小之和
}
image rootfs.ext4 { //定义第二个分区镜像ext4 {} //分区格式为ext4size = 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

【f1c200s/f1c100s】使用genimage工具制作img系统镜像相关推荐

  1. 如何制作Ghost系统镜像

    如何制作Ghost系统镜像 1.Ghost系统镜像文件,可以恢复到绝大多数计算机上使用,而且速度快,对于经常装系统的人来说能够提供方便. 首先,我们需要准备制作所需要的工具: S&R& ...

  2. 使用再生龙制作linux系统镜像及还原

    因为要便于生产的原因,需要制作母盘,这做一个记录 使用再生龙制作linux系统镜像 使用再生龙还原系统镜像 tuxboot-0.6.exe

  3. 使用再生龙制作linux系统镜像及还原,使用再生龙(clonezilla)制作系统还原盘并恢复还原(一)...

    1.说明 2.制作系统还原盘 3.测试恢复还原 1.说明 clonezilla-live-2.6.7-28-amd64.iso 将ISO介质刻录至U盘制作启动盘,并从U盘启动 备份的系统:CentOS ...

  4. Docker 3.2.4:基于 Dockerfile 制作 Ubuntu 系统镜像

    3.2.4:基于 Dockerfile 制作 Ubuntu 系统镜像 准备基础镜像 以 ubuntu:latest 为基础镜像: root@ubuntu:~# docker pull ubuntu 查 ...

  5. 树莓派入门教程 - 0 - 准备篇 - 0.0 SD卡制作树莓派系统镜像启动盘 开机

    电脑需要提前安装的工具: sd卡格式化工具 SDFormatter,官网下载链接:https://www.sdcard.org/downloads/formatter/ 镜像烧录工具 Win32 Di ...

  6. Windows server 2012 r2 系统安装启动u盘制作【系统镜像制作】——转自微信公众号网管爱好者

    需要准备的东西 1.windowns server 2012 R2 iso文件 2.u盘  64G 3.UltraISO 安装 UltraISO 这里我为了方便,直接就用的 管家进行安装或安全卫士 接 ...

  7. 为荔枝派Zero制作Linux系统镜像[转]

    最近购入了一块LicheePi Zero开发板,使用全志V3s作为主控芯片.本文介绍如何从零开始为荔枝派制作一个可以启动的Linux系统镜像. 配置编译环境 本文所有编译工作均基于Ubuntu 20. ...

  8. 使用再生龙制作linux系统镜像及还原,使用再生龙(clonezilla)制作系统还原盘及恢复镜像并测试恢复(命令行方式)...

    1.说明 2.再生龙系统配置 3.制作系统还原盘 4.通过系统还原盘制作恢复镜像 5.通过恢复镜像测试恢复系统 1.说明 http://clonezilla.nchc.org.tw/clonezill ...

  9. 制作 img系统镜像的详细方法

    I.MX6开发板目前支持从TF卡和eMMC启动,启动时,由于各个不同的启动文件对路径有不同的要求,例如uboot文件要求位于启动设备的某个块,dtb文件要求在FAT分区上,文件系统要求在Linux分区 ...

最新文章

  1. 高级特性-多线程,GUI
  2. 知否?知否?一文看懂深度文本分类之DPCNN原理与代码
  3. Yii2与Yii1的模块中Layout使用区别
  4. TS流解析之PMT表格解析
  5. PostgreSQL9中stream同步与Slony同步的比较
  6. 两款高性能并行计算引擎Storm和Spark比较
  7. 数据结构实验之串三:KMP应用
  8. 使用Android SDK Manager下载sdk时总是出现中断异常的解决办法。
  9. CRSLab:可能是最适合你的对话推荐系统开源库
  10. OpenCV学习笔记——判断两张图的相似度
  11. 非常恶俗地分享一首歌曲(子陵·周郎顾)
  12. linux 2种循环,只以换行符分割,不以空格分割。
  13. HDU3068 回文串 Manacher算法
  14. springboot配置文件为yml格式详解
  15. 《Head First HTML and CSS 》中英文下载链接
  16. 深度学习与传统机器学习的区别
  17. URL中的#是什么意思
  18. 压缩包加密后门_加密后门的问题
  19. 关于报 程序包com.jt.pojo不存在、报 Process terminated、Failed to execute goal on project jt-manage: 的问题,已解决
  20. C 实现Mysql增量备份_mysql增量备份 - lyle_luo的个人页面 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. Faithfully yours, nginx. 浏览器中显示包504,504 Gateway Time-out解决办法
  2. 文献阅读:利用斯托克斯参量验证光波的偏振态
  3. centos6 安装redis
  4. 网管员必知:常用电脑密码破解(转)
  5. 什么是嵌入式?嵌入式技术应用领域
  6. html中div排版布局
  7. 插曲(1)dht11的连接
  8. win10禁用触摸键盘_如何在Windows 8和10中永久禁用触摸键盘
  9. Android 开源项目分类汇总 APP功能汇总
  10. 基于ROS1.0的stdr simulation搭建多移动机器人(multiple robots)仿真系统