{"id":18989391,"url":"https://github.com/source-academy/ev3-source","last_synced_at":"2026-01-28T18:06:09.194Z","repository":{"id":69460515,"uuid":"211503178","full_name":"source-academy/ev3-source","owner":"source-academy","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-09T09:56:14.000Z","size":1986,"stargazers_count":0,"open_issues_count":4,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-08T01:02:00.998Z","etag":null,"topics":["ev3dev","hacktoberfest","source-academy"],"latest_commit_sha":null,"homepage":"https://source-academy.github.io/ev3-source/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/source-academy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-28T13:17:29.000Z","updated_at":"2024-08-09T09:56:16.000Z","dependencies_parsed_at":"2023-10-04T08:41:53.433Z","dependency_job_id":"c65bf9ad-9081-474a-aff8-3f6e42d4cea0","html_url":"https://github.com/source-academy/ev3-source","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/source-academy%2Fev3-source","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/source-academy%2Fev3-source/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/source-academy%2Fev3-source/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/source-academy%2Fev3-source/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/source-academy","download_url":"https://codeload.github.com/source-academy/ev3-source/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246794101,"owners_count":20834931,"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","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":["ev3dev","hacktoberfest","source-academy"],"created_at":"2024-11-08T17:06:26.470Z","updated_at":"2026-01-28T18:06:04.156Z","avatar_url":"https://github.com/source-academy.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Build scripts for the EV3 Source image\n\nThis repository contains scripts used to build a customised EV3 image containing Sling and Sinter.\n\nIf you want to know exactly how the build process works, read the [GitHub workflow](.github/workflows/build.yml).\n\nIn a nutshell:\n\n- [`build_control_panel.sh`](./build_control_panel.sh): Cross-compiles the `service_control` binary to manage Source-Academy related services and settings directly from the EV3\n- [`build_sling.sh`](./build_sling.sh): Cross-compiles Sling and Sinter for ARM using ev3dev's cross-compilation Docker image `ev3dev/debian-stretch-cross`, with some additional dependencies added in [`Dockerfile.sling`](./Dockerfile.sling)\n- [`build_qrcode.sh`](./build_qrcode.sh): Cross-compiles the `show_qrcode` binary to display the QR code of the device secret on the EV3 screen\n- [`build_uuidtob62.sh`](./build_uuidtob62.sh): Cross-compiles the `uuidtob62` CLI utility to represent the device secret in a more compact format\n- [`build_image.sh`](./build_image.sh): Builds the EV3 root filesystem using [`image/Dockerfile`](image/Dockerfile) and [`image/bootstrap.sh`](image/bootstrap.sh), and then uses [Brickstrap](https://github.com/ev3dev/brickstrap) to build the final image\n\nTo run this locally:\n\n- You must be on Linux.\n- You need a static build of QEMU configured for user-mode ARM emulation. It must be registered to handle ARM ELF files using `binfmt_misc`.\n- You need libguestfs tools.\n- To satisfy the above dependencies:\n  - On Ubuntu, install `libguestfs-tools qemu-user-static binfmt-support`.\n  - On Arch, install `binfmt-qemu-static qemu-user-static-bin libguestfs`. (Note, the first two are AUR packages.)\n- Download [`brickstrap.sh`](https://raw.githubusercontent.com/ev3dev/brickstrap/master/src/brickstrap.sh) to the current directory.\n\n## TLDR\n\nTo build the image from the source code, make sure you are the the root of the repository, then run the following commands in order:\n\n```bash\nwget https://raw.githubusercontent.com/ev3dev/brickstrap/master/src/brickstrap.sh\n./build_control_panel.sh\n./build_sling.sh\n./build_qrcode.sh\n./build_uuidtob62.sh\n./build_image.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsource-academy%2Fev3-source","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsource-academy%2Fev3-source","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsource-academy%2Fev3-source/lists"}