Firefly开源社区

打印 上一主题 下一主题

[Linux] debian10操作系统,我加上自己的程序后,怎么导出镜像来进行批量烧写

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-16 16:27:21      楼主
板蓝根 发表于 2022-3-29 15:45
用我给你的包,里面有二进制文件不需要 apt 安装了

我直接做备份得到空间不足的错误:
  1. sudo ./ff_export_rootfs /media/firefly/AC91-C4AE/
  2. MEDIA FREE SPACE SIZE    5663    MBytes
  3. EXPORT IMAGE SIZE        8566    MBytes
  4. No enough free space on
复制代码


所以我尝试 mount 一个64G的U盘,但总是不成功,请帮忙看看哦:
这是Debian 10上的df -h:
  1. Filesystem      Size  Used Avail Use% Mounted on
  2. udev            870M     0  870M   0% /dev
  3. tmpfs           175M  5.0M  170M   3% /run
  4. /dev/mmcblk0p6  981M  830M   83M  91% /root-ro
  5. /dev/mmcblk0p8   13G  6.6G  5.6G  55% /userdata
  6. overlayroot      13G  6.6G  5.6G  55% /
  7. tmpfs           875M     0  875M   0% /dev/shm
  8. tmpfs           5.0M     0  5.0M   0% /run/lock
  9. tmpfs           875M     0  875M   0% /sys/fs/cgroup
  10. tmpfs           175M     0  175M   0% /run/user/0
  11. tmpfs           175M     0  175M   0% /run/user/1000
复制代码


然后插上U盘后 lsblk:
  1. NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  2. sda            8:0    1 58.7G  0 disk
  3. `-sda1         8:1    1 58.7G  0 part
  4. mmcblk0      179:0    0 14.6G  0 disk
  5. |-mmcblk0p1  179:1    0    4M  0 part
  6. |-mmcblk0p2  179:2    0    4M  0 part
  7. |-mmcblk0p3  179:3    0   32M  0 part
  8. |-mmcblk0p4  179:4    0   32M  0 part
  9. |-mmcblk0p5  179:5    0   32M  0 part
  10. |-mmcblk0p6  179:6    0    2G  0 part /root-ro
  11. |-mmcblk0p7  179:7    0  192M  0 part
  12. `-mmcblk0p8  179:8    0 12.3G  0 part /userdata
  13. mmcblk0boot0 179:32   0    4M  1 disk
  14. mmcblk0boot1 179:64   0    4M  1 disk
复制代码


安装 ntfs-3g:
  1. sudo apt install ntfs-3g
复制代码


进行mount:
  1. sudo mount /dev/sda1 -t ntfs /media/usb_drive
  2. modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.111/modules.dep.bin'
  3. modprobe: FATAL: Module fuse not found in directory /lib/modules/4.19.111
  4. ntfs-3g-mount: fuse device is missing, try 'modprobe fuse' as root
  5. firefly@firefly:~/Download/ff_export_rootfs_buildroot$ sudo modprobe fuse
  6. modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.111/modules.dep.bin'
复制代码


请问这个错误如何处理呢?
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-17 12:34:08      沙发
板蓝根 发表于 2022-6-16 18:55
格式化成 ext4 再,测试

按您的建议格式化 USB Drive 到  ext4 格式后, mount都成功了。
接下来,这是我的 export 结果:

  1. firefly@firefly:~/Download/ff_export_rootfs_buildroot$ sudo ./ff_export_rootfs /media/usb_drive/
  2.     MEDIA FREE SPACE SIZE    55975   MBytes
  3.     EXPORT IMAGE SIZE        8568    MBytes
  4.     find: '/proc/896/task/896/net': Invalid argument
  5.     find: '/proc/896/net': Invalid argument
  6.     find: '/proc/936/task/936/net': Invalid argument
  7.     find: '/proc/936/net': Invalid argument
  8.     find: '/proc/1139/task/1139/net': Invalid argument
  9.     find: '/proc/1139/net': Invalid argument
  10.     BLOCK_COUNT 9290489
  11.     INODE_COUNT 169877
  12.     sync...
  13.     sync finish
  14.     Export rootfs to /media/usb_drive//Firefly_ext4_202206170232.img Success
复制代码


可见生成 .img 文件大小有9G,在进行 e2fsck 和 resize2fs 后,仍然有7G。

然后尝试进行 repack, 首先拷贝官方的Debian 10镜像文件 AIO-RV1126(1109)-JD4\Debian10\debian10_2021_0429_1902\debian10\rootfs.img 并重新命名为 update.img 再放到 Ubuntu PC 下运行 unpack,但遇到错误:

  1. xxxx@DESKTOP-9NG0VFK:~/Downloads/firefly-rk3399-linux-repack$ sudo ./unpack.sh
  2. start to unpack update.img...
  3. ********RKImageMaker ver 1.66********
  4. Unpacking image, please wait...
  5. Error:Check update.img failed!
  6. Press any key to quit:
复制代码



问题1:
,我在 Debian 10 中就是安装了 rknn_toolkit_lite, 以及一些 Python package,想象中用不了太多空间。请问压缩后的文件大小还有 7G 正常吗?

问题2:
unpack.sh 出错是什么原因呢?
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-21 13:01:56      板凳
板蓝根 发表于 2022-6-21 11:26
1. 这个可以自行检查一下大文件,可能是一些缓存或者其他无用文件没有清理掉 ,导出前最好清理一下文件系统 ...

关于问题1:
请问如何“清理一下文件系统”呢?有建议的方法吗。

关于问题2:
这是我的文件夹结构:
  1. shawn@DESKTOP-9NG0VFK:~/Downloads/firefly-rk3399-linux-repack$ ls -l
  2. total 1055216
  3. drwxr-xr-x 2 shawn shawn       4096 Jun 17 12:21 bin
  4. drwxr-xr-x 2 shawn shawn       4096 Jun 17 12:19 output
  5. -rwxr-xr-x 1 shawn shawn       2084 Oct 20  2020 pack.sh
  6. -rw-r--r-- 1 shawn shawn        697 Jun  2  2020 Readme.md
  7. -rwxr-xr-x 1 shawn shawn        480 Jun  3  2019 unpack.sh
  8. -rw-r--r-- 1 shawn shawn 1080516608 Apr 29  2021 update.img
复制代码

可以看到 update.img 文件是在里面的,而且报错消息是:
Unpacking image, please wait...
Error:Check update.img failed!   

而如果该文件不存在路径下的话,报错应该是:
start to unpack update.img...
Error:No found update.img!
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-21 14:53:37      地板
本帖最后由 music1913 于 2022-6-21 14:56 编辑
板蓝根 发表于 2022-6-21 14:31
unpack 是解包完整 镜像,而不是 rootfs.img

在 firefly 的官方云盘中,可供下载的关于 debian 10 的文件包内容如下:

AIO-RV1126(1109)-JD4\Debian10\debian10_2021_0429_1902\debian10\



而我在通过 RK_Dev_Tool 进行刷机时,实际上是先将上述包与路径 AIO-RV1126(1109)-JD4\Buildroot\AIO-RV1126_RV1109-JD4_IPC_2021_1206_1919\ 下的固件包先进行了合并,然后再整体刷入主板的,所以最终的刷入主板的固件包是这样:


请问我应该如何根据上述文件内容来生成 firefly-rk3399-linux-repack工具 所需要的 update.img 文件呢?


回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-21 19:26:56      5#
本帖最后由 music1913 于 2022-6-21 20:27 编辑
板蓝根 发表于 2022-6-21 18:27
不明白你的需求 。

你如果要跑 unpack 解包的话,如你的第二张图,所有固件都解包好了呀,不需要再解包 ...

是这样的,我收到 firefly 的 CORE-1126-JD4主板后,根据官方文档,依以下的步骤,给主板安装好了 官方Debian10 系统:


======================安装官方Debian10======================================
在 firefly 的官方云盘中,可供下载的关于 debian 10 的文件包内容如下:

AIO-RV1126(1109)-JD4\Debian10\debian10_2021_0429_1902\debian10\



而我在通过 RK_Dev_Tool 进行刷机时,实际上是先将上述包与路径 AIO-RV1126(1109)-JD4\Buildroot\AIO-RV1126_RV1109-JD4_IPC_2021_1206_1919\ 下的固件包先进行了合并,然后再整体刷入主板的,所以最终的刷入主板的固件包是这样:

========================安装官方Debian10=================================================


现在,在正常运行的 官方Debian10 系统中,我安装好了私有的应用程序(包括Python包,Python程序,各类配置文件等等),现在希望将 此时的 定制Debian10 系统重新打包成一个固包,以方便分发给其它人,以批量安装到(通过 RK_Dev_Tool)到其它板子中。



我现在已经将现在安装完我自己程序的定制Debian10 系统 已经export出来了(1个7G大小的文件名为Firefly_ext4_202206170232.img的文件),请帮忙解释一下,在我的需求下, unpack 和 repack 都是针对什么文件进行呢?
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-22 15:22:44      6#
板蓝根 发表于 2022-6-22 14:18
你导出的只是 rootfs.img ,也 就是 debian10文件系统

重新开了一个问题,还请帮忙: https://dev.t-firefly.com/thread-123755-1-1.html
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-27 09:29:22      7#
板蓝根 发表于 2022-6-22 14:18
你导出的只是 rootfs.img ,也 就是 debian10文件系统

还请帮忙看下新帖子:https://dev.t-firefly.com/thread-123755-1-1.html   还请帮忙提供一下详细的步骤,关于如何打包 rv1126 jd4 上的debain 10的重新打包和刷机方法呢
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-27 09:44:31      8#
lilin 发表于 2022-3-29 19:09
感谢回复,用您的方法导出镜像,并烧写后
1、rootfs分区大小是 0x00400000块,为2GB,我的镜像只有1.1 ...

请教:
并烧写后

具体是如何进行的呢?
我拿到板子的最初始,是通过写入以下的官方Debian10固件(多个)文件:




进入板子的Debian10后,我安装了一些我自己的应用程序等,再导出后得到一个 Firefly_ext4_202206240234.img 的文件,而接下来如何分发和再次刷入此新打包的文件到其它板子上呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表