目录
从开发板中导出文件系统,并重新打包为根文件系统镜像
以主芯片为瑞芯微RK3568的linux开发板为例:
开发环境:
debian10、RK3568开发板
一、RK3568开发板上的操作
使用以下命令在RK3568的开发板上安装ssh、rsync
sudo apt-get install ssh sudo apt-get install rsync
二、Ubuntu主机上的操作
使用以下命令在Ubuntu主机上安装ssh、rsync
sudo apt-get install ssh sudo apt-get install rsync
安装完程序后,最好ping一下开发板,确保ubuntu主机和开发板能够ping通。 接着在Ubuntu主机上创建一个目录,用于存放导出的开发板文件系统。
mkdir rootfs
使用以下命令同步RK3568开发板上的文件系统
sudo rsync -avx root@192.168.10.10:/ rootfs
其中:
root为开发板的用户名
192.168.10.10为开发板的ip地址,这个按照自己板子的实际情况定。
/:根目录是开发板的根目录。
rootfs:这里是前面ubuntu主机上创建的rootfs文件夹的路径。
同步的过程需要点时间,执行完命令后可以将开发板的文件系统同步到ubuntu主机上。
三、制作根文件系统镜像,用dd命令创建镜像文件
先使用dd命令创建一个空镜像文件。
dd if=/dev/zero of=rk3568.img bs=1M count=4096
其中:
/dev/zero:为虚拟盘的名字。
rk3568.img:为要建的镜像文件。
bs=1M :表示每块读写1M数据。
count=4096:拷贝块的数量。
四、格式化镜像文件
使用以下命令格式化镜像文件,并加入linuxroot卷标
sudo mkfs.ext4 -F -L linuxroot rk3568.img
五、挂载根文件镜像、并往里面拷入修改后的文件系统
使用以下命令完成操作:
mkdir rk3568_mount sudo mount rk3568.img rk3568_mount sudo cp -rfp rootfs/* rk3568_mount
六、卸载镜像
sudo umount rk3568_mount
经过前面的流程rk3568.img镜像文件里就有开发板的文件系统了,但rk3568.img文件大小不是文件系统的实际大小,还要经过处理才能使用。
七、检查并精简rk3588.img镜像的大小
使用以下命令完成操作:
1、检查修复镜像的文件系统
sudo e2fsck -p -f rk3568.img
2、精简文件系统镜像的大小
sudo resize2fs -M rk3568.img
经过以上处理后的根文件系统镜像就可以下载到开发板上使用了。
八、重新烧录根文件系统镜像到开发板进行测试
1、对于RK3568开发板,连接开发板后,使用瑞芯微RKDevTool烧录工具,让开发板进入Loading模式;
2、选择rootfs 分区,并选择前面制作的根文件系统rk3568.img,进行烧录;
3、烧录完成后,开发板会自动重启,进入新系统。
完结。。。