Our goal is to have the complete minimal SDV.EDGE stack to use less than 100MiB of disk space.
It would be great to display this somewhere (github repo badge, documentation website, ...) and keep track of it over time or over builds and releases.
There are various input factors on how to exactly calculate that number, as it depends on the point of view whether to include certain components or not. In general, we could start with:
Exclude the size of the core OS (Linux Kernel, modules, general drivers, general system services)
Include the SDV.EDGE stack components and its direct dependencies: containerd, mosquitto, kanto-cm, rauc and the required SDV containers (sua, vum, cua, databroker)
The first can be calculated by defining something like sdv-image-empty and not install any SDV packagegroups. Downside of this approach is that we have to build this, even though we're not using it. Maybe a couple hundred MB additionally for the build.
The second is the "used disk" stat of the sdv-image-minimal.rootfs.ext3 file. As we statically define the size of the rootfs partition in the WKS files, we cannot just take the filesize. We would have to check the "used disk space" at runtime I guess, otherwise we would count empty disk space at the end of the partition.
Other approaches like summing up individual binary sizes could also work, however they're prone to human errors. If we forget to add a file to the list, it won't get counted, so I tend to opt for a more automated approach.
Our goal is to have the complete minimal SDV.EDGE stack to use less than 100MiB of disk space.
It would be great to display this somewhere (github repo badge, documentation website, ...) and keep track of it over time or over builds and releases.
There are various input factors on how to exactly calculate that number, as it depends on the point of view whether to include certain components or not. In general, we could start with:
The first can be calculated by defining something like
sdv-image-empty
and not install any SDV packagegroups. Downside of this approach is that we have to build this, even though we're not using it. Maybe a couple hundred MB additionally for the build.The second is the "used disk" stat of the sdv-image-minimal.rootfs.ext3 file. As we statically define the size of the rootfs partition in the WKS files, we cannot just take the filesize. We would have to check the "used disk space" at runtime I guess, otherwise we would count empty disk space at the end of the partition.
Other approaches like summing up individual binary sizes could also work, however they're prone to human errors. If we forget to add a file to the list, it won't get counted, so I tend to opt for a more automated approach.