NaoDevils / NaoImage

Ubuntu 22.04-based operating system for SoftBank Nao V6
GNU General Public License v3.0
3 stars 3 forks source link

Is v5 supported #2

Closed limenutt closed 1 year ago

limenutt commented 1 year ago

Hello!

Thank you very much for your effort in making it easier for other teams to run Ubuntu on Naos! Could you please confirm if you have tried creating the image using the same procedure for Nao V5s? I understand we need to supply the 2.1 opn, but in addition to that, any are there particulat kernel manipulations that we need to perform?

OpenLarry commented 1 year ago

Hey!

Generating an image for the Nao V5 is not supported by the scripts provided in this repository. The older Nao versions have a completely different operating system with older/other system libraries, 32 bit kernel, different file paths, and much more, which requires some significant changes. Since the Nao version 5 doesn't allow direct communication to the motors and sensors via LoLA, it also requires copying NAOqi and its dependencies to be usable.

However, because the .opn image format is the same and the update mechanism is probably also very similar, I would expect that you can create an image generator for it as well. But since we don't use Nao V5 anymore, we haven't tried that.

limenutt commented 1 year ago

I see, thank you very much for the detailed response @OpenLarry ! What do you think would be the steps involved in creating an image for V5? Have you documented the process you have gone through to get this working for V6s, especially when it comes to figuring out what parts of the original aldebaran system to keep, which parts need to be recompiled, etc?

OpenLarry commented 1 year ago

I haven't documented it and it's probably also too much to explain in detail.

In general: First, try to understand the opn file format and update mechanism (one part is at the beginning of each opn file, another one is on the robot itself, I don't know where exactly on V5). Then create a minimal distro (keep in mind that the V5 has a 32-bit processor!) and copy the original kernel to its original location, generate an image and see if it boots up.

After that, check which configs and services are needed for the robot to function correctly, check the dependent libraries (e.g., using ldd), monitor the log files, and copy everything step-by-step. Probably, you can have a look at the V6 script for orientation, but you should try to create a new one for the V5 from ground up. Keep in mind, that the V5 system is much older, Gentoo- instead of Yocto-based and the hardware is also slightly different (especially the head).

limenutt commented 1 year ago

Thank you very much @OpenLarry ! We'll give it a try.