Buanderie Posted May 9, 2020 Posted May 9, 2020 Hello, I'm planning to use Armbian for a custom distribution (target is Orange Pi Zero, for now). Usually, for this kind of job I use Yocto. But this time, I intend to use the board as a ROS server, and quite frankly, integrating ROS into Yocto is quite painful. As it will be used only for a hobby robotics project, I don't really mind using another method. So, the thing is, I intend to create a customized Armbian distro with ROS preinstalled. But, I will also need to cross-compile and install some of my own projects. I was wondering, what is the most standard way to cross-compile (mostly C++, here, but whatever) a project for integration into the image ? Using Yocto, I can create a "SDK" using the "populate_sdk" command, which creates a self-extractable archive containing toolchain+libs. What would be the equivalent in the Armbian build framework ? Thanks in advance, and congratulation for the great job accomplished on Armbian !
Werner Posted May 9, 2020 Posted May 9, 2020 The integration part into an Armbian image is pretty simple:https://docs.armbian.com/Developer-Guide_User-Configurations/#user-provided-image-customization-script Unfortunately I cannot tell you anything useful about the cross compiling stuff. Way too less experience
Igor Posted May 9, 2020 Posted May 9, 2020 Our main focus is securing good hardware layer for a few ARM/ARM64 SoC families. Armbian is a standard Debian from the userland perspective but on the customisation level is not near that versatile as Yocto. First, OS is pretty much fixed - you have to choose between upstream packages relations (Debian, Ubuntu this version or that). Which usually saves you a lot of time and kills the project complexity. The base and the hardware layer is in better shape than Yocto's defaults (Sumo or whatever its actual now). Basically you need to prepare standard Debian package, beter externally and install within build process (this is most common way of such usage) ... since internal is more or less for internal purposes, but you can see how it is done. You can cross compile within Qemu and use standard Debian userspace / libraries (match version) as a base ... when you get your application function, pack and deploy within armbian user-customisation script ... standard way. apt install xxx (dependencies are installed automatically if you define them inside deb package)
Recommended Posts