AMD/Xilinx have updated their position on the production-readiness of the PetaLinux operating system:
(https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2741928025/Moving+from+PetaLinux+to+Production+Deployment).
In light of this, I’m exploring the development of an alternative operating system image for supported OpenCPI platforms, and I’d like to gather any relevant experience or input from the community.
The main OS options I’m considering are:
- Yocto
- Buildroot
- Debian 12 (via debootstrap)
I have hands-on experience with both Yocto and Debian. While Yocto offers flexibility, I’ve found it challenging to maintain as a full distribution. Debian, on the other hand, is much easier to manage and offers long-term stability.
Buildroot appears simpler than Debian in terms of setup, but it functions more as an image generator rather than a full distribution. As such, package management and updates would require the user to reinstall the whole system.
Here are the key features I’d like the final system to support:
- Read-only root filesystem (with ephemeral writes lost on reboot)
- Enabled firewall
- WireGuard support
- Kernel features:
- cgroups
- network namespaces
- Container support (runc/Docker)
- Python environment
I’ve successfully implemented these features on older Debian versions running on the Zynq SoC platform, with the kernel configuration being the most challenging aspect.
I’d appreciate any feedback, advice, or shared experiences with similar efforts. My goal is to provide prebuilt images, build scripts, and test coverage aligned with specific OpenCPI versions.
For example, one target could be a Debian 12 image using the Xilinx Linux v2024.1 kernel packaged for the E310 platform. This would include SD card images and optional .deb packages for installing the OpenCPI runtime. Cross-compilation will likely be handled with the official ARM GCC toolchain.
Thanks in advance for any insights!