RK3588 开发板上根文件系统导出并制作img镜像

简介: RK3588 开发板上根文件系统导出并制作img镜像

RK3588 开发板上根文件系统导出并制作img镜像

预准备

Linux 系统获取 RK3588 开发板文件系统

烧写测试


具体流程分为三步走:


  • 将开发板RK3588的整个根文件系统的文件,通过ssh拷贝到PC系统(Ubuntu);
  • 将此拷贝的全部文件,加载到虚拟光盘中,制作成img文件;
  • 将img文件,再烧写回RK3588开发板,进行测试。

预准备

在开发板 RK3588 上的文件系统需要安装:ssh、rsync;

本机 PC 电脑或虚拟机(Linux)上安装:ssh、rsync。


Linux 系统获取 RK3588 开发板文件系统

确保 RK3588 开发板系统上已安装 rsync


sudo apt-get install rsync


在本机上创建一个目录,用来存放 RK3588 开发板的文件系统


mkdir rootfs


同步开发板文件系统,确保本机能 ping 通开发板,执行:


#RK3588 IP 为 192.168.1.11
sudo rsync -avx RK3588@192.168.1.11:/ rootfs


执行结束后可将开发板的文件系统同步到主机上


制作镜像,用dd工具创建镜像文件,在主机执行指令(可以制作出一个大小为 3000M 的空 img 文件,大小可以修改 count 值)


dd if=/dev/zero of=rk3588.img  bs=1M count=3000


/dev/zero:为虚拟盘的名字。

rk3588.img:为要建的镜像文件。

bs=1M :表示每块读写1M数据。

count=3000:拷贝块的数量。


格式化镜像文件,并加入 linuxroot 卷标


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


挂载镜像并往里面拷入修改后的文件系统


#创建镜像文件挂载目录
mkdir ubuntu-mount
#挂载空的 img 文件
sudo mount rk3588.img ubuntu-mount
#将文件系统拷贝到 img 挂载的路径目录下
sudo cp -rfp rootfs/* ubuntu-mount


卸载镜像


sudo umount ubuntu-mount


这样 rk3588.img 里就已经有刚才制作的根目录内容了,但 rk3588.img 文件大小却是定义的分区大小,不是文件系统的实际大小,所以还要经过一些处理才能发布。


检查并修复rk3588.img镜像的文件系统


sudo e2fsck -p -f rk3588.img


精简rk3588.img镜像文件的大小


sudo resize2fs -M rk3588.img


烧写测试

开发板的文件系统已经重新打包成了rk3588.img,用该文件和相应的内核文件就可生成系统镜像,烧录镜像后就可直接运行用户程序,从而省掉了重新安装包和其他配置的工作。


生成镜像文件后,就可以重新烧录到开发板进行测试


img 烧录到设备 rootfs 分区


开发板连接Windows电脑,并打开 RKDevTool 烧录工具,让开发板进入 Loading 模式;

选择 rootfs 分区,并选择前面制作的根文件系统 rk3588.img,进行烧录;

烧录进度100% 后,开发板会自动重启,进入新系统。


相关文章
|
2天前
|
Shell
获取image文件, magisk刷机
直接从系统镜像获取image文件, 用于magisk刷机流程中的patch修补流程; 全程使用adb方式,
30 0
|
10月前
|
存储 Ubuntu Shell
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏(下)
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏(下)
190 0
|
2天前
|
Ubuntu Linux Shell
Linux(26) 根据现成rootfs.img制作1:1还原源代码定制实现
Linux(26) 根据现成rootfs.img制作1:1还原源代码定制实现
13 1
|
2天前
|
存储 Linux KVM
|
6月前
|
Ubuntu Linux 开发工具
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)
|
6月前
|
Linux 开发工具 虚拟化
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(一)
关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(一)
|
10月前
|
Ubuntu Linux 编译器
根文件系统移植:bulidroot根文件系统搭建详细步骤
根文件系统移植:bulidroot根文件系统搭建详细步骤
361 0
|
10月前
|
Ubuntu Linux Shell
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏(上)
利用busybox制作根文件系统---参考朱有鹏嵌入式视屏
152 0
|
XML 存储 Ubuntu
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。   于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间。
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
|
存储 XML Ubuntu
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk3568的sdk开发环境。
RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像