Debian 是一个根文件系统,所以只需要将 Firefly 官方提供的固件的 rootfs.img 根文件系统替换成 Debian 根文件系统即可制作 Debian 系统固件。
固件制作
在资源下载页面下载官方固件。
在资源下载页面下载Debian10根文件系统。
替换对应文件,升级固件即可进入 Debian10 系统
系统介绍
软件包
以下软件包已默认安装到 Debian 系统,使用 apt install 安装软件的时候注意不要覆盖掉系统的软件包。
视频硬件编解码支持
RV1126 集成的 VPU 具有优秀的视频编解码能力, MPP 是 Rockchip 为 VPU 提供的一套视频编解码的 api , 并且基于 mpp 。 Rockchip 提供了一套 gstreamer 的编解码插件。用户可以根据自己的需求,基于 gstreamer 来做视频编解码的应用,或者直接调用 mpp ,来实现硬件的编解码加速。
通过以下两种方式,验证和开发视频编解码相关应用。
一、Gstreamer
默认安装 gstreamer1.0
用户可以参照这两个脚本,配置自己的 gstreamer 应用。
二、MPP
Debian 系统下, mpp 相关 deb 包都已经安装到系统中。
更多相关资料,可参考linux-sdk/docs/Linux/Multimedia下的相关文档
源码编译
RKNN_SSD_DEMO
NPU 已经安装到 Debian 系统。测试 NPU 如下: 测试 demo 为 rknn_ssd_demo 。源码路径为 external/rknpu/rknn/rknn_api/examples/rknn_ssd_demo。以下操作均在 RV1126 端执行:
RKMedia
RKMedia 已经适配到 Debian 系统。默认不支持 librtsp 库。
如需自行开发 RKMedia 则 CMakeLists.txt 编译脚本需要添加以下选项:
默认不支持以下 4 个 demo,所以在 rkmedia/example/CMakeLists.txt 需要注释以下 4 个 demo 的编译配置
搭建编译环境
注:在 Debian 编译 RKMedia 会出现找不到头文件的错误,头文件均在/usr/include/目录下,需要根据源码文件需求移动或拷贝头文件的位置。
分区介绍
如果自己定制 Debian10 系统可以阅读此章节修改分区后进行升级。
修改固件目录下的分区表parameter.txt,根据需求修改rootfs分区大小。默认为大小为 2G 。PS:因为 Debian10 下没有跑应用,不需要media分区所以删掉了。
CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00010000@0x00008000(boot),0x00010000@0x00018000(recovery),0x00010000@0x00028000(backup),0x00400000@0x00038000(rootfs),0x00060000@0x00438000(oem),-@0x00498000(userdata:grow)
分区表格式:分区大小@所在地址(分区名)。最后的-@所在地址(分区名:grow)的 - 代表将剩余的内存大小拓展该分区,该写法只能放在 CMDLINE 最后。 其中大小和地址都是以块为单位( 1 块 = 512byte),换算成 MByte 可以用以下公式:
例如我们看 rootfs 这行: 分区大小是 0x00400000 ,换算成十进制也就是
所以 rootfs 分区大小就是 2048M 。
特别注意:分区大小 + 所在地址 = 下一个分区的所在地址。
原作者:Firefly Wiki