{"id":33167789,"url":"https://github.com/erlerobot/meta-ros2","last_synced_at":"2025-11-20T18:01:22.462Z","repository":{"id":73780349,"uuid":"96874230","full_name":"erlerobot/meta-ros2","owner":"erlerobot","description":"ROS 2 Layer for OpenEmbedded Linux","archived":true,"fork":false,"pushed_at":"2018-06-20T09:10:39.000Z","size":188,"stargazers_count":19,"open_issues_count":1,"forks_count":7,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-04-23T07:05:26.295Z","etag":null,"topics":["embedded","openembedded","ros2"],"latest_commit_sha":null,"homepage":"","language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erlerobot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/poco/poco/run-ptest","governance":null,"roadmap":null,"authors":null}},"created_at":"2017-07-11T09:11:56.000Z","updated_at":"2024-01-23T03:12:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"e557a526-723e-4f3c-bcf6-fe84071852f1","html_url":"https://github.com/erlerobot/meta-ros2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erlerobot/meta-ros2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlerobot%2Fmeta-ros2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlerobot%2Fmeta-ros2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlerobot%2Fmeta-ros2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlerobot%2Fmeta-ros2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erlerobot","download_url":"https://codeload.github.com/erlerobot/meta-ros2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erlerobot%2Fmeta-ros2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285484486,"owners_count":27179744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded","openembedded","ros2"],"created_at":"2025-11-16T00:00:47.664Z","updated_at":"2025-11-20T18:01:22.456Z","avatar_url":"https://github.com/erlerobot.png","language":"BitBake","funding_links":[],"categories":["Packages"],"sub_categories":["Build system (Linux)"],"readme":"# meta-ros2\nROS 2 Layer for OpenEmbedded Linux\n\n\n# THIS PROJECT IS UNDER DEVELOPMENT\nThis project may contain bugs and have not being tested at all. Use under your own risk, but feel free to test, make pull request and improve this project.\n\nActually a main bug is causing that the Python3 writen programs not to work. If youy get the next error: `ImportError: No module named 'rclpy._rclpy'` refer to https://discourse.ros.org/t/import-error-no-module-named-rclpy--rclpy-cross-compiling/2463\n\n## Dependencies\n```\nmeta\nmeta-poky\nmeta-yocto-bsp    = \"morty:78890ea22750804e3e9113e76f7ca3d7234c8342\"\nmeta-xilinx *     = \"morty:a24cf71a30de3b5cf665cd91979ea013bf1bb1f4\"\nmeta-oe\nmeta-networking\nmeta-filesystems\nmeta-python\nmeta-systemd      = \"morty:fe5c83312de11e80b85680ef237f8acb04b4b26e\"\nmeta-zynqberry    = \"morty:5e062627d75b41647d5ee728ee38057a8290d1e1\"\nmeta-zynqberry-pxfmini = \"master:202fcd1c1fe6f7cefa00b719cc9e0fd0b62c466e\"\n* https://github.com/erlerobot/meta-xilinx\n```\n\n# Develop machine\n\n## Compile natively (without docker)\n\n### Dependencies\n\n```bash\ncd ~\ngit clone https://github.com/ament/ament_package\ncd ~/ament_package\nsudo python3 setup.py install\ncd ~\ngit clone https://github.com/ament/ament_tools\ncd ~/ament_tools\nsudo python3 setup.py install\ncd ~\ngit clone https://github.com/ament/ament_python\ncd ~/ament_python\ngit checkout release-beta2\nsudo python3 setup.py install\n```\n\n## Create a docker container\n\nFirst a docker container is needed. Use https://github.com/erlerobot/Dockerfiles/tree/master/OpenEmbedded/docker_ros2 or check getting Docker container\n\n```\ngit clone https://github.com/erlerobot/Dockerfiles/\ncd Dockerfiles/OpenEmbedded/docker_ros2/\ndocker build .\ndocker run -it -v ${PWD}/shared:/home/build/shared ea2400e95d98 #change the id with the generated by docker build\n\n```\n\nAfter that you will be inside the docker container\n\n```\nbuild@a1eaaf9dd67f:~$ git clone https://github.com/erlerobot/meta-ros2\nbuild@a1eaaf9dd67f:~$ cd poky/\nbuild@a1eaaf9dd67f:~$ source oe-init-build-env\n\n```\n## Get Docker\nYou can use the base Docker image from docker.erlerobotics.com\n\n```\ndocker pull docker.erlerobotics.com/meta-ros2:latest\ndocker run -it -v ${PWD}/shared:/home/build/shared docker.erlerobotics.com/meta-ros2:latest\n# inside docker\nbuild@a1eaaf9dd67f:~$ cd poky/\nbuild@a1eaaf9dd67f:~$ source oe-init-build-env\n```\n\n\n## Builds\n\nThe build can be perform using the next command inside the `~/poky/build` folder:\n\n```\nbitbake core-image-ros2\n```\n\n## Add recipes\n\n`recipetool` command can be used to generate layer files, these layers needs to be generated inside the `~/poky/build` folder. After should be moved to the meta package.\nFor example:\n\n```\nrecipetool -d create -o Fast-RTPS_1.4.0.bb https://github.com/eProsima/Fast-RTPS/archive/v1.4.0.tar.gz\n```\n\n## Recomendations\n\n - Use the server, is faster.\n - Before exiting your container make a commit. If not, you will need to recompile all your job.\n\n```\ndocker commit hopeful_kare zynqberry-ros2-base1\n```\n\n## Debug\n\nProbably you will need to install the next repo inside docker, launching the `setup.py` file\nhttps://github.com/ament/ament_python\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferlerobot%2Fmeta-ros2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferlerobot%2Fmeta-ros2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferlerobot%2Fmeta-ros2/lists"}