Other Parts Discussed in Thread: AM6421
器件型号: AM6421
工具/软件: BuildRoot
问题描述:
我们目前正在开发基于 AM6421 的定制电路板。 我们对启动映像有非常严格的存储限制、并使用 BuildRoot 作为构建系统。
尺寸要求:
-
引导加载程序 (SPL/U-Boot): 必须 < 1MB。
-
总系统映像(内核+ RootFS): 必须 < 8MB。
-
当前状态: 我们已成功实现小于 16MB 的总图像大小。
当前实施的方案:
-
内核: 使用压缩
gzip。 -
RootFS: 使用
squashfs。 -
平台: 定制 AM6421 电路板。
-
我们需要将剩余大小缩减约 50%(从 16MB 降至 8MB)。 我们已经采用了标准的压缩方法、并正在寻找任何 高级提示、技巧或特定的 BuildRoot 配置 、以帮助我们达到这一积极的目标。
所需模块和外设:
图像必须保留以下功能。 请就我们可以设置的任何特定配置标志提出建议、以尽量减少这些特定组件的占用空间:
外设:
-
USB
-
UART
-
GPMC NAND 闪存
-
QSPI NOR 闪存
-
2 个以太网端口(RGMII 接口)
-
GPIO
-
LPDDR
模块和软件栈:
-
HSR/PRP: 支持非卸载和 ICSSG 卸载模式(包括相关的 PHY 驱动程序)。
-
PTP: 带 CPTS PHC(精确时间协议)。
-
远程处理器和 Rpmsg: 用于 R5 和 M4 内核。
-
TI 固件: R5 和 M4 内核所需的固件。
-
PRUSS 固件。
-
网络堆栈:
-
OpenSSH(sftp 服务器)
-
Dropbear
-
基本 Web 服务器页面加载功能。
-
-
以太网驱动程序: CPSW-NUSS(MAC/交换机)和 ICSSG-PRUETH。
-
USB DTLS。
具体问题:
-
考虑到解压缩开销、是否有任何特定的内核压缩算法(例如 XZ、ZSTD)能够提供比 AM6421 的 GZIP 明显更好的比率?
-
是否可以对 8MB 目标使用比 Squashfs 更高效的文件系统(例如,带压缩的 EROFS)?
-
是否有特定的 BuildRoot “Hacks“或 Kconfig 片段来去除 Linux 内核和 Busybox、使其超出默认值(例如,删除 printk 支持,模块卸载,特定的网络调试挂钩)以节省空间?
-
关于 ICSSG 卸载和固件要求、是否有最小的固件 Blobs 可排除未使用的工业协议 (EtherCAT、Profinet) 以节省 rootfs 上的空间?
谢谢你。