luxonis / rae-ros

Implementation of RAE ROS and gazebo stack
MIT License
32 stars 13 forks source link

RAE OS build config #44

Open sskorol opened 1 year ago

sskorol commented 1 year ago

Is the RAE OS build config published somewhere? As far as I understood, it's a custom Yocto build. But I can't find an easy way of installing custom tools there. For instance, I wonder why git is missing. I found it really annoying to scp everything through the host. And there's no opkg available as well.

themarpe commented 1 year ago

Hi @sskorol - no at the moment the OS itself is not published. We recommend utilizing the App approach, which we are also further building out with more functionality (offline as well)

sskorol commented 1 year ago

@themarpe hi, can you elaborate on the App approach?

sskorol commented 1 year ago

I guess you meant RobotHub apps. But it's not related to the original question. I'm focused on ROS-related stuff. But to effectively work with the recent code, I need to install additional tools I get used to. For instance, I prepared a set of scripts to simplify testing. I pushed them into Git to let everyone access them and to track the changes, of course. But I can't sync my changes with the git repo, as RAE OS has neither Git nor package manager installed. Do you see what I mean? Could you please at least pre-install Git in the following releases? It will significantly simplify the development and testing efforts.

themarpe commented 1 year ago

@PetrNovota do you mind pointing @sskorol to App related documentation?

Yes - the App approach is a containerized approach, able to carry ROS and other runtimes. This allows the base OS to remain lean, while apps can bring various required dependencies.

We can add git to base as well, not an issue per se - but we try to limit number of overall things/dependencies

PetrNovota commented 1 year ago

@sskorol documentation is being created, so the general idea here is that you can specify the environment you need in a Dockerfile. In your robotapp.toml you can change it from

[runtime.runs_on]
type = "image"
name = "ghcr.io/some_image"

to

[runtime.runs_on]
type = "custom"
dockerfile = "Dockerfile"

and then in the Dockerfile you can install whatever you want using apt or apt-get

sskorol commented 1 year ago

@PetrNovota thanks, let me check it.